You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This will fail to link dwaLookups with the following error message:
/ilmbase-INSTALL/lib/libIlmThread-2_2.a(IlmThreadPosix.cpp.o): In function `IlmThread_2_2::Thread::start()':
IlmThreadPosix.cpp:(.text+0xb4): undefined reference to `Iex_2_2::throwErrnoExc(std::string const&, int)'
/ilmbase-INSTALL/lib/libIlmThread-2_2.a(IlmThreadSemaphorePosix.cpp.o): In function `IlmThread_2_2::Semaphore::Semaphore(unsigned int)':
IlmThreadSemaphorePosix.cpp:(.text+0x72): undefined reference to `Iex_2_2::throwErrnoExc(std::string const&)'
/ilmbase-INSTALL/lib/libIlmThread-2_2.a(IlmThreadSemaphorePosix.cpp.o): In function `IlmThread_2_2::Semaphore::post()':
IlmThreadSemaphorePosix.cpp:(.text+0x16a): undefined reference to `Iex_2_2::throwErrnoExc(std::string const&)'
/ilmbase-INSTALL/lib/libIlmThread-2_2.a(IlmThreadSemaphorePosix.cpp.o): In function `IlmThread_2_2::Semaphore::value() const':
IlmThreadSemaphorePosix.cpp:(.text+0x212): undefined reference to `Iex_2_2::throwErrnoExc(std::string const&)'
collect2: error: ld returned 1 exit status
Inspecting the command line by running VERBOSE=1 make reveals the source of the error:
The order in which the ilmbase libraries are specified is wrong. IlmThread depends on symbols from Iex, so they need to be swapped. Changing the command line to
I do a CMake build of ilmbase with
-DBUILD_SHARED_LIBS=OFF
and install to a directory/ilmbase-INSTALL
.Then I configure OpenEXR with the following CMake command:
This will fail to link dwaLookups with the following error message:
Inspecting the command line by running
VERBOSE=1 make
reveals the source of the error:The order in which the ilmbase libraries are specified is wrong.
IlmThread
depends on symbols fromIex
, so they need to be swapped. Changing the command line tomakes the error goes away. Once dwaLookups has been built manually this way, the rest of the CMake run can complete without further errors.
Reproduced on a CentOS 5 Linux with gcc 4.8 and CMake 3.3.
The text was updated successfully, but these errors were encountered: