#57497 closed defect (fixed)
ctlang: Undefined symbols aces_Writer::storeHalfRow etc.
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | ctlang aces_container |
Description
[ 98%] Built target exrdpx In file included from /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_graphics_ctlang/ctlang/work/CTL-1.5.2/ctlrender/transform.cc:61: In file included from /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_graphics_ctlang/ctlang/work/CTL-1.5.2/lib/IlmCtl/CtlRcPtr.h:71: /opt/local/include/OpenEXR/IlmThreadMutex.h:131:15: warning: alias declarations are a C++11 extension [-Wc++11-extensions] using Mutex = std::mutex; ^ 1 warning generated. [100%] Linking CXX executable ctlrender cd /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_graphics_ctlang/ctlang/work/build/ctlrender && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/ctlrender.dir/link.txt --verbose=ON /usr/bin/clang++ -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -D_THREAD_SAFE -arch x86_64 -mmacosx-version-min=10.13 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names CMakeFiles/ctlrender.dir/main.cc.o CMakeFiles/ctlrender.dir/transform.cc.o CMakeFiles/ctlrender.dir/usage.cc.o CMakeFiles/ctlrender.dir/aces_file.cc.o CMakeFiles/ctlrender.dir/dpx_file.cc.o CMakeFiles/ctlrender.dir/exr_file.cc.o CMakeFiles/ctlrender.dir/tiff_file.cc.o CMakeFiles/ctlrender.dir/format.cc.o CMakeFiles/ctlrender.dir/compression.cc.o -o ctlrender ../lib/IlmCtlSimd/libIlmCtlSimd.1.5.0.dylib ../lib/IlmCtlMath/libIlmCtlMath.1.5.0.dylib ../lib/IlmCtl/libIlmCtl.1.5.0.dylib ../lib/dpx/libctldpx.a /opt/local/lib/libImath.dylib /opt/local/lib/libHalf.dylib /opt/local/lib/libIex.dylib /opt/local/lib/libIexMath.dylib /opt/local/lib/libIlmThread.dylib /opt/local/lib/libImath.dylib /opt/local/lib/libHalf.dylib /opt/local/lib/libIex.dylib /opt/local/lib/libIexMath.dylib /opt/local/lib/libIlmThread.dylib /opt/local/lib/libtiff.dylib /opt/local/lib/libIlmImf.dylib /opt/local/lib/libImath.dylib /opt/local/lib/libHalf.dylib /opt/local/lib/libIex.dylib /opt/local/lib/libIexMath.dylib /opt/local/lib/libIlmThread.dylib /opt/local/lib/libImath.dylib /opt/local/lib/libHalf.dylib /opt/local/lib/libIex.dylib /opt/local/lib/libIexMath.dylib /opt/local/lib/libIlmThread.dylib -lIex -lIlmThread -lHalf /opt/local/lib/libtiff.dylib /opt/local/lib/libIlmImf.dylib Undefined symbols for architecture x86_64: "aces_Writer::storeHalfRow(unsigned short const*, unsigned int)", referenced from: aces_write(char const*, float, unsigned int, unsigned int, unsigned int, float const*, format_t*) in aces_file.cc.o "aces_Writer::newImageObject(DynamicMetadata const&)", referenced from: aces_write(char const*, float, unsigned int, unsigned int, unsigned int, float const*, format_t*) in aces_file.cc.o "aces_Writer::saveImageObject()", referenced from: aces_write(char const*, float, unsigned int, unsigned int, unsigned int, float const*, format_t*) in aces_file.cc.o "aces_Writer::getDefaultHeaderInfo()", referenced from: aces_write(char const*, float, unsigned int, unsigned int, unsigned int, float const*, format_t*) in aces_file.cc.o "aces_Writer::configure(MetaWriteClip const&)", referenced from: aces_write(char const*, float, unsigned int, unsigned int, unsigned int, float const*, format_t*) in aces_file.cc.o "aces_Writer::aces_Writer()", referenced from: aces_write(char const*, float, unsigned int, unsigned int, unsigned int, float const*, format_t*) in aces_file.cc.o "aces_Writer::~aces_Writer()", referenced from: aces_write(char const*, float, unsigned int, unsigned int, unsigned int, float const*, format_t*) in aces_file.cc.o "acesHeaderInfo::acesHeaderInfo()", referenced from: aces_write(char const*, float, unsigned int, unsigned int, unsigned int, float const*, format_t*) in aces_file.cc.o "keycode::keycode()", referenced from: aces_write(char const*, float, unsigned int, unsigned int, unsigned int, float const*, format_t*) in aces_file.cc.o "timecode::timecode(unsigned int, unsigned int)", referenced from: aces_write(char const*, float, unsigned int, unsigned int, unsigned int, float const*, format_t*) in aces_file.cc.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [ctlrender/ctlrender] Error 1
Now that openexr requires C++14, maybe ctlang does too?
Change History (5)
comment:1 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:2 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)
Ah, I didn't scroll up to see that. ${prefix}/lib/CMake/AcesContainer/AcesContainerConfig.cmake does exist. The problem is that ${prefix}/lib/CMake is not one of the standard places cmake looks. ${prefix}/lib/cmake is though, so unless you have a case-sensitive filesystem like the buildbot workers do you won't see the problem.
comment:3 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: | aces_container added |
---|---|
Status: | assigned → accepted |
comment:4 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Note: See
TracTickets for help on using
tickets.
The problem seems to be with the installation of aces_container.
From the log file:
AcesContainerConfig.cmake
should be installed by aces_container in${prefix}/lib/CMake/AcesContainer
.Because of this,
-lAcesContainer
is not part of the link command, hence the error.Unfortunately, none of these problems happen on my systems.
Ryan, may I ask for you help in tracking down why
${prefix}/lib/CMake/AcesContainer/AcesContainerConfig.cmake
does not seem to exist on the buildbots?Thank you.