make errors on opensolaris

Bug #685874 reported by antoonh
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Enblend
Fix Released
Medium
Unassigned

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

Revision history for this message
Yuv (yuv) wrote :

Hi,
I moved the ticket to the new bugs tracker. The good news is that this is on our radar screen for the next enblend-enfuse release. The bad news is that nobody of the developers has an OpenSolaris system and so it is unlikely that this will be fixed unless somebody with OpenSolaris and the necessary understanding steps in.

Revision history for this message
rew (r-e-wolff) wrote :

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
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Enblend because there has been no activity for 60 days.]

Changed in enblend:
status: Incomplete → Expired
Revision history for this message
Steve Mokris (smokris) wrote :

I was getting the same build errors. I've attached a patch, which enables enblend-4.0 to compile on opensolaris for me.

Revision history for this message
pavel heimlich (tropikhajma) wrote :

I confirm the bug and that Steve's patch fixed it for me on Solaris 11 Express with gcc 4.5.2

Changed in enblend:
status: Expired → Confirmed
Revision history for this message
Yuv (yuv) wrote :

Committed, thank you!

Changed in enblend:
status: Confirmed → Fix Committed
tmodes (tmodes)
Changed in enblend:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.