New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #15338 (closed defect: worksforme)

Opened 5 years ago

Last modified 3 years ago

openexr conflicts with but also depends on ilmbase

Reported by: jannesbolten@… Owned by: waqar@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: Cc: simon@…
Port: openexr ilmbase

Description

when i try to upgrade my openexr installation using MacPorts, I keep getting an error that relates to ilmbase. it seems that ilmbase is a dependency of openexr, so it needs to be activated. but when MacPorts tries to activate ilmbase, there is an error. MacPorts asks for openexr to be deactivated first. that's fine. deactivating openexr and subsequently activating ilmbase is no problem. but if i then try to upgrade openexr, there is this error:

--->  Activating openexr 1.4.0_0
Error: Activating openexr 1.4.0_0 failed: Image error: /opt/local/include/OpenEXR/half.h is being used by the active ilmbase port.  Please deactivate this port first, or use the -f flag to force the activation.

so this is a bit of a catch-22 situation.

for completeness' sake, here's what i see when i try to upgrade openexr with ilmbase deactivated:

--->  Activating ilmbase 1.0.1_1
Error: Activating ilmbase 1.0.1_1 failed: Image error: /opt/local/include/OpenEXR/half.h is being used by the active openexr port.  Please deactivate this port first, or use the -f flag to force the activation.
--->  Building openexr with target all
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_OpenEXR/work/openexr-1.6.1" && make all " returned error 2
Command output: ./ImfIO.h:110: error: 'Int64' does not name a type
./ImfIO.h:118: error: 'Int64' has not been declared
./ImfIO.h:180: error: 'Int64' does not name a type
./ImfIO.h:188: error: 'Int64' has not been declared
./ImfXdr.h:162: error: 'Int64' has not been declared
./ImfXdr.h:245: error: 'Int64' has not been declared
./ImfXdr.h:499: error: 'Int64' has not been declared
./ImfXdr.h:499: error: redefinition of 'template<class S, class T> void Imf::Xdr::write(T&, int)'
./ImfXdr.h:387: error: 'template<class S, class T> void Imf::Xdr::write(T&, int)' previously declared here
./ImfXdr.h: In function 'void Imf::Xdr::write(T&, int)':
./ImfXdr.h:507: warning: right shift count >= width of type
./ImfXdr.h:508: warning: right shift count >= width of type
./ImfXdr.h:509: warning: right shift count >= width of type
./ImfXdr.h:510: warning: right shift count >= width of type
./ImfXdr.h: In function 'void Imf::Xdr::write(T&, double)':
./ImfXdr.h:540: error: 'Int64' does not name a type
./ImfXdr.h: At global scope:
./ImfXdr.h:781: error: 'Int64' has not been declared
./ImfXdr.h:781: error: redefinition of 'template<class S, class T> void Imf::Xdr::read(T&, int&)'
./ImfXdr.h:668: error: 'template<class S, class T> void Imf::Xdr::read(T&, int&)' previously declared here
./ImfXdr.h: In function 'void Imf::Xdr::read(T&, int&)':
./ImfXdr.h:787: error: 'Int64' was not declared in this scope
./ImfXdr.h:787: error: expected `)' before 'b'
./ImfXdr.h: In function 'void Imf::Xdr::read(T&, double&)':
./ImfXdr.h:827: error: 'Int64' does not name a type
./ImfXdr.h:829: error: 'Int64' was not declared in this scope
./ImfXdr.h:829: error: expected `)' before 'b'
make[2]: *** [ImfAttribute.lo] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

Change History

comment:1 Changed 5 years ago by jmr@…

  • Owner changed from macports-tickets@… to waqar@…

Assigning to maintainer.

comment:2 Changed 5 years ago by simon@…

  • Cc simon@… added

I had the same problem. I fixed it with the following steps.

port deactivate openexr
port activate ilmbase
port -f uninstall openexr
port clean --all openexr
port install openexr

Hope this helps,

Simon

comment:3 Changed 5 years ago by ryandesign@…

Why "Activating openexr 1.4.0_0"? openexr was updated to 1.6.1_0 in r35935. I don't have any problem with conflicting files when using the current version of openexr and ilmbase. Please sudo port selfupdate and try again.

comment:4 Changed 5 years ago by ryandesign@…

You may want to just remove your existing installed versions of openexr and ilmbase and reinstall.

sudo port uninstall openexr ilmbase
sudo port selfupdate
sudo port install openexr

comment:5 Changed 4 years ago by anonymous

  • Milestone Port Bugs deleted

Milestone Port Bugs deleted

comment:6 Changed 4 years ago by blb@…

  • Keywords openexr; removed
  • Port set to openexr

Was the problem that a file in the older openexr was moved to ilmbase (and subsequently removed by the newer openexr)?

comment:7 Changed 4 years ago by jannesbolten@…

really, i don't remember. but thanks for looking into this...

comment:8 Changed 3 years ago by jmr@…

  • Status changed from new to closed
  • Keywords ilmbase removed
  • Resolution set to worksforme
  • Port changed from openexr to openexr ilmbase
  • Summary changed from openexr won't upgrade to openexr conflicts with but also depends on ilmbase
Note: See TracTickets for help on using tickets.