← Back to team overview

hugin-devs team mailing list archive

[Bug 685874] Re: make errors on opensolaris

 

I tried compiling the latest vigra on my Linux system, and it failed.
Turns out I forgot to run that on my ubuntu 10.04 release, instead of my
9.04 release system.

To me it seems that Vigra is compiler-dependent. Small differences get
big. What version of g++ are you using?

fails: g++ (Ubuntu 4.3.3-5ubuntu4) 4.3.3
works: g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3


** Changed in: enblend
       Status: New => Incomplete

-- 
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Enblend.
https://bugs.launchpad.net/bugs/685874

Title:
  make errors on opensolaris

Status in Enblend:
  Incomplete

Bug description:
  Hi All, 

I'm trying to get enblend to run on opensolaris, but run into an error during 'make':

My general approach is to start with a clean environment and figure out what's needed and add it on an as-needed basis.

Here's what I did:
I downloaded the enblend-enfuse-3.2 sources and setup my environment for all of the gnu-tools. (on opensolaris they are in /usr/sfw/bin, which I prepended to $PATH).

First: libxmi is not found. So I set LDFLAGS to "-L /usr/local/lib" ; which is where libxmi (1.2) is installed.
libxmi is found now, but ./configure breaks on boost.

Second: Adding the path to boost to CPPFLAGS: "-I /usr/local/include/boost"
Now, lcms.h is not found. On (open)solaris, this one is found in /usr/include/lcms, but as the include doesn't mention lcms/lcms.h, I added /usr/include/lcms to CPPFLAGS as well.

The above are things I don't consider too serious, and ./configure completes now:
when I run 'make', some compilations run succesful, but make fails with:

make[3]: Entering directory `/root/enblend-enfuse-3.2/src/vigra_impex'
g++ -DHAVE_CONFIG_H -I. -I../..   -I /usr/include/lcms -I /usr/local/include/boost-1_38 -I../../include -O3 -Wall -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DVIGRA_STATIC_LIB -DVIGRA_STATIC_LIB   -O3 -ffast-math -DNDEBUG -Wall -DENBLEND_CACHE_IMAGES -MT libvigra_impex_a-imageinfo.o -MD -MP -MF .deps/libvigra_impex_a-imageinfo.Tpo -c -o libvigra_impex_a-imageinfo.o `test -f 'imageinfo.cxx' || echo './'`imageinfo.cxx
In file included from ../../include/vigra/utilities.hxx:46,
                 from ../../include/vigra/imageinfo.hxx:55,
                 from imageinfo.cxx:60:
../../include/vigra/mathutil.hxx:113: error: `std::erf' has not been declared
make[3]: *** [libvigra_impex_a-imageinfo.o] Error 1
make[3]: Leaving directory `/root/enblend-enfuse-3.2/src/vigra_impex'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/enblend-enfuse-3.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/enblend-enfuse-3.2'
make: *** [all] Error 2

What's going wrong here?
I see an #ifndef __sun in include/vigra/mathutil.hxx at line 75, and ending at

    112 
    113 using VIGRA_CSTD::erf;
    114 
    115 #endif
  
so I assume something goes wrong there, but how to fix this?

Cheers,
Antoon