[MacPorts] #31762: enblend @4.0.3 compilation error with llvm/Xcode 4.2

MacPorts noreply at macports.org
Tue Oct 25 17:02:53 PDT 2011


#31762: enblend @4.0.3 compilation error with llvm/Xcode 4.2
----------------------------------------+-----------------------------------
 Reporter:  philippe.bernery@…          |       Owner:  ryandesign@…           
     Type:  defect                      |      Status:  assigned               
 Priority:  Normal                      |   Milestone:                         
Component:  ports                       |     Version:  2.0.3                  
 Keywords:  haspatch                    |        Port:  enblend                
----------------------------------------+-----------------------------------
Changes (by ryandesign@…):

  * status:  new => assigned
 * cc: hvdwolf@… (added)
  * owner:  macports-tickets@… => ryandesign@…
  * keywords:  => haspatch
  * port:  => enblend


Old description:

> Enblend is not compiling with llvm (comes with Xcode 4.2).
>
> As suggested in the mailing list, I changed the compiler to llvm-gcc and
> it works. I use this command line to compile enblend:
>
> sudo port install enblend configure.compiler=llvm-gcc-4.2
>

> Here is an extract of the error that happened before the compiler change:
>
> /Developer/usr/bin/clang++ -DHAVE_CONFIG_H -I. -I..
> -I/opt/local/include  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I../include
> -DVIGRA_STATIC_LIB -D_THREAD_SAFE -I/opt/local/include/OpenEXR   -pipe
> -O2 -arch x86_64 --param inline-unit-growth=60 -O2 -DNDEBUG -Wall -MT
> enfuse-enfuse.o -MD -MP -MF .deps/enfuse-enfuse.Tpo -c -o enfuse-enfuse.o
> `test -f 'enfuse.cc' || echo './'`enfuse.cc
> clang: warning: argument unused during compilation: '--param inline-unit-
> growth=60'
> In file included from enblend.cc:67:
> /opt/local/include/lcms.h:1418:14: warning: comparison of unsigned
> expression < 0 is always false [-Wtautological-compare]
>     if (size < 0) return NULL;              // Prevent signed size_t
> exploits
>         ~~~~ ^ ~
> In file included from enfuse.cc:67:
> /opt/local/include/lcms.h:1418:14: warning: comparison of unsigned
> expression < 0 is always false [-Wtautological-compare]
>     if (size < 0) return NULL;              // Prevent signed size_t
> exploits
>         ~~~~ ^ ~
> In file included from enfuse.cc:137:
> In file included from ./enfuse.h:37:
> In file included from ./numerictraits.h:28:
> ../include/vigra/cachedfileimage.hxx:560:22: error: elaborated type
> refers to a typedef
> friend class Notify::self_type;
>
> ...
>
> In file included from enblend.cc:149:
> In file included from ./enblend.h:40:
> In file included from ./mask.h:37:
> ./anneal.h:669:19: error: read-only variable is not assignable
>             uaNum *= -1;
>             ~~~~~ ^
> ./anneal.h:670:19: error: read-only variable is not assignable
>             ubNum *= -1;
>             ~~~~~ ^
> ./anneal.h:671:19: error: read-only variable is not assignable
>             denom *= -1;
>             ~~~~~ ^
>
> ...
>
> ../include/vigra/cachedfileimage.hxx:761:11: error: 'setNotify' is a
> protected member of
> 'vigra::cfi_detail::NotifyingDirectionSelector<vigra::UnstridedArrayTag,
> int,
> vigra::CachedFileImageIteratorBase<vigra::CachedFileImageIterator<unsigned
> char>, vigra::CachedFileImage<unsigned char>, unsigned char, unsigned
> char &, unsigned char *, vigra::UnstridedArrayTag> >'
>         y.setNotify(this);
>           ^
> ../include/vigra/cachedfileimage.hxx:568:10: note: declared protected
> here
>     void setNotify(Notify *n) { notify_ = n; }
>          ^
> ../include/vigra/cachedfileimage.hxx:760:89: error: field of type 'MoveY'
> (aka 'NotifyingDirectionSelector<vigra::UnstridedArrayTag, int,
> self_type>') has protected default constructor
>     CachedFileImageIteratorBase(const int X, const int Y, image_type *
> const I) : x(X), y(Y), i(I), currentRow(NULL) {
>
> ...

New description:

 Enblend is not compiling with llvm (comes with Xcode 4.2).

 As suggested in the mailing list, I changed the compiler to llvm-gcc and
 it works. I use this command line to compile enblend:

 {{{
 sudo port install enblend configure.compiler=llvm-gcc-4.2
 }}}

 Here is an extract of the error that happened before the compiler change:

 {{{
 /Developer/usr/bin/clang++ -DHAVE_CONFIG_H -I. -I..   -I/opt/local/include
 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I../include -DVIGRA_STATIC_LIB
 -D_THREAD_SAFE -I/opt/local/include/OpenEXR   -pipe -O2 -arch x86_64
 --param inline-unit-growth=60 -O2 -DNDEBUG -Wall -MT enfuse-enfuse.o -MD
 -MP -MF .deps/enfuse-enfuse.Tpo -c -o enfuse-enfuse.o `test -f 'enfuse.cc'
 || echo './'`enfuse.cc
 clang: warning: argument unused during compilation: '--param inline-unit-
 growth=60'
 In file included from enblend.cc:67:
 /opt/local/include/lcms.h:1418:14: warning: comparison of unsigned
 expression < 0 is always false [-Wtautological-compare]
     if (size < 0) return NULL;              // Prevent signed size_t
 exploits
         ~~~~ ^ ~
 In file included from enfuse.cc:67:
 /opt/local/include/lcms.h:1418:14: warning: comparison of unsigned
 expression < 0 is always false [-Wtautological-compare]
     if (size < 0) return NULL;              // Prevent signed size_t
 exploits
         ~~~~ ^ ~
 In file included from enfuse.cc:137:
 In file included from ./enfuse.h:37:
 In file included from ./numerictraits.h:28:
 ../include/vigra/cachedfileimage.hxx:560:22: error: elaborated type refers
 to a typedef
 friend class Notify::self_type;

 ...

 In file included from enblend.cc:149:
 In file included from ./enblend.h:40:
 In file included from ./mask.h:37:
 ./anneal.h:669:19: error: read-only variable is not assignable
             uaNum *= -1;
             ~~~~~ ^
 ./anneal.h:670:19: error: read-only variable is not assignable
             ubNum *= -1;
             ~~~~~ ^
 ./anneal.h:671:19: error: read-only variable is not assignable
             denom *= -1;
             ~~~~~ ^

 ...

 ../include/vigra/cachedfileimage.hxx:761:11: error: 'setNotify' is a
 protected member of
 'vigra::cfi_detail::NotifyingDirectionSelector<vigra::UnstridedArrayTag,
 int,
 vigra::CachedFileImageIteratorBase<vigra::CachedFileImageIterator<unsigned
 char>, vigra::CachedFileImage<unsigned char>, unsigned char, unsigned char
 &, unsigned char *, vigra::UnstridedArrayTag> >'
         y.setNotify(this);
           ^
 ../include/vigra/cachedfileimage.hxx:568:10: note: declared protected here
     void setNotify(Notify *n) { notify_ = n; }
          ^
 ../include/vigra/cachedfileimage.hxx:760:89: error: field of type 'MoveY'
 (aka 'NotifyingDirectionSelector<vigra::UnstridedArrayTag, int,
 self_type>') has protected default constructor
     CachedFileImageIteratorBase(const int X, const int Y, image_type *
 const I) : x(X), y(Y), i(I), currentRow(NULL) {

 ...
  }}}

--

Comment:

 Please use WikiFormatting, fill in the Portfield, and Cc the maintainer of
 that port.

 > Enblend is not compiling with llvm (comes with Xcode 4.2).

 I guess you mean clang, which is the default compiler on Xcode 4.2.

-- 
Ticket URL: <https://trac.macports.org/ticket/31762#comment:1>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list