#15493 closed defect (fixed)
ilmbase and openexr universal variants don't work right
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | waqar@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.0 |
Keywords: | Cc: | ||
Port: |
Description
Installing ilmbase +universal yields universal static libraries but non-universal shared libraries:
$ port contents ilmbase | grep /lib/ | xargs file /opt/local/lib/libHalf.6.0.0.dylib: Mach-O dynamically linked shared library i386 /opt/local/lib/libHalf.6.dylib: symbolic link to `libHalf.6.0.0.dylib' /opt/local/lib/libHalf.a: Mach-O universal binary with 2 architectures /opt/local/lib/libHalf.a (for architecture ppc): current ar archive /opt/local/lib/libHalf.a (for architecture i386): current ar archive /opt/local/lib/libHalf.dylib: symbolic link to `libHalf.6.0.0.dylib' /opt/local/lib/libHalf.la: ASCII English text /opt/local/lib/libIex.6.0.0.dylib: Mach-O dynamically linked shared library i386 /opt/local/lib/libIex.6.dylib: symbolic link to `libIex.6.0.0.dylib' /opt/local/lib/libIex.a: Mach-O universal binary with 2 architectures /opt/local/lib/libIex.a (for architecture ppc): current ar archive /opt/local/lib/libIex.a (for architecture i386): current ar archive random library /opt/local/lib/libIex.dylib: symbolic link to `libIex.6.0.0.dylib' /opt/local/lib/libIex.la: ASCII English text /opt/local/lib/libIlmThread.6.0.0.dylib: Mach-O dynamically linked shared library i386 /opt/local/lib/libIlmThread.6.dylib: symbolic link to `libIlmThread.6.0.0.dylib' /opt/local/lib/libIlmThread.a: Mach-O universal binary with 2 architectures /opt/local/lib/libIlmThread.a (for architecture ppc): current ar archive /opt/local/lib/libIlmThread.a (for architecture i386): current ar archive random library /opt/local/lib/libIlmThread.dylib: symbolic link to `libIlmThread.6.0.0.dylib' /opt/local/lib/libIlmThread.la: ASCII English text /opt/local/lib/libImath.6.0.0.dylib: Mach-O dynamically linked shared library i386 /opt/local/lib/libImath.6.dylib: symbolic link to `libImath.6.0.0.dylib' /opt/local/lib/libImath.a: Mach-O universal binary with 2 architectures /opt/local/lib/libImath.a (for architecture ppc): current ar archive /opt/local/lib/libImath.a (for architecture i386): current ar archive random library /opt/local/lib/libImath.dylib: symbolic link to `libImath.6.0.0.dylib' /opt/local/lib/libImath.la: ASCII English text /opt/local/lib/pkgconfig/IlmBase.pc: ASCII text $
Attachments (2)
Change History (7)
comment:1 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | ilmbase.diff added |
---|
comment:2 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | ilmbase +universal doesn't build universal shared libraries → ilmbase and openexr universal variants don't work right |
---|
openexr (ilmbase's only reason for being?) also doesn't work properly with +universal:
$ sudo port install openexr +universal ---> Configuring openexr ---> Building openexr with target all Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_graphics_OpenEXR/work/openexr-1.6.1" && nice -n 1 make all -j2" returned error 2 Command output: Imf::ChannelList::end() const Imf::ChannelList::begin() const Imf::Header::end() const Imf::Header::begin() const Imf::KeyCode::perfOffset() const Imf::KeyCode::filmMfcCode() const Imf::KeyCode::perfsPerCount() const Imf::KeyCode::perfsPerFrame() const Imf::KeyCode::count() const Imf::KeyCode::prefix() const Imf::KeyCode::filmType() const Imf::TimeCode::colorFrame() const Imf::TimeCode::fieldPhase() const Imf::TimeCode::bgf0() const Imf::TimeCode::bgf1() const Imf::TimeCode::bgf2() const Imf::TimeCode::frame() const Imf::TimeCode::hours() const Imf::TimeCode::minutes() const Imf::TimeCode::seconds() const Imf::TimeCode::userData() const Imf::TimeCode::dropFrame() const Imf::InputFile::isComplete() const Imf::InputFile::header() const Imf::InputFile::version() const typeinfo for Imf::Attribute collect2: ld returned 1 exit status lipo: can't open input file: /var/tmp//ccB9ehkq.out (No such file or directory) make[1]: *** [exrheader] Error 1 make: *** [all-recursive] Error 1 Error: Status 1 encountered during processing. $
The solution seems to be the same.
comment:3 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Also, openexr declared ilmbase as a build dependency, but I believe it's actually a library dependency. Fixed this in the attached patch too.
Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | openexr.diff added |
---|
comment:4 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
I was able to work around it by replacing the included libtool with the newer one in MacPorts; see patch.