← Back to team overview

hugin-devs team mailing list archive

[Bug 685874] Re: make errors on opensolaris

 

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

** Patch added: "enblend-4.0-opensolaris.diff"
   https://bugs.launchpad.net/enblend/+bug/685874/+attachment/2096222/+files/enblend-4.0-opensolaris.diff

-- 
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:
  Expired

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