Opened 12 days ago

Last modified 10 days ago

#69815 new defect

libjxl @0.10.2 does not build on PPC Leopard, Mac OS X 10.5.8, because of a lot of problems ld has

Reported by: ballapete (Peter "Pete" Dyballa) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: leopard ppc Cc: jmr@…, mascguy (Christopher Nielsen)
Port: libjxl

Description

[100%] Linking CXX executable benchmark_xl
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libjxl/libjxl/work/build/tools && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/benchmark_xl.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-7 -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -fno-rtti -DNDEBUG -arch ppc -mmacosx-version-min=10.5 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -fPIE -pie CMakeFiles/benchmark_xl.dir/benchmark/benchmark_xl.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_args.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_codec.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_file_io.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_stats.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_utils.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_codec_custom.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_codec_jpeg.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_codec_jxl.cc.o CMakeFiles/benchmark_xl.dir/ssimulacra2.cc.o CMakeFiles/benchmark_xl.dir/__/third_party/dirent.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_codec_png.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_codec_webp.cc.o CMakeFiles/benchmark_xl.dir/benchmark/benchmark_codec_avif.cc.o -o benchmark_xl  -Wl,-rpath,/opt/local/lib libjxl_gauss_blur.a /opt/local/lib/libwebp.a /opt/local/lib/libsharpyuv.a ../lib/libjxl_extras-internal.a ../lib/libjxl_threads.0.10.2.dylib libjxl_tool.a ../lib/libjxl.0.10.2.dylib /opt/local/lib/libavif.dylib /opt/local/lib/giflib5/lib/libgif.dylib /opt/local/lib/libjpeg.dylib /opt/local/lib/libpng.dylib /opt/local/lib/libz.dylib /opt/local/lib/libOpenEXR-3_2.dylib /opt/local/lib/libOpenEXRUtil-3_2.dylib /opt/local/lib/libOpenEXRCore-3_2.dylib /opt/local/lib/libIex-3_2.dylib /opt/local/lib/libIlmThread-3_2.dylib /opt/local/lib/libImath-3_1.dylib ../lib/libjxl-internal.a ../lib/libjxl_cms.0.10.2.dylib -latomic /opt/local/lib/libbrotlidec.dylib /opt/local/lib/libbrotlicommon.dylib /opt/local/lib/libbrotlienc.dylib /opt/local/lib/libhwy.dylib
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) to global weak symbol jxl::cms::ColorEncoding::FromExternal(JxlColorEncoding const&) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  to global weak symbol jxl::ColorEncoding::FromExternal(JxlColorEncoding const&)  means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jxl::ColorEncoding::CreateICC()     to global weak symbol jxl::ColorEncoding::CreateICC()     means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: warning: direct access in jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) to global weak symbol jpegxl::tools::AvifCodec::Decompress(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, jxl::Span<unsigned char const>, jxl::ThreadPool*, jxl::CodecInOut*, jpegxl::tools::SpeedStats*) means the weak symbol cannot be overriden at runtime. This was likely caused by different translation units being compiled with different visiblity settings.
ld: illegal text-relocation to lC14 in ../lib/libjxl_extras-internal.a(metrics.cc.o) from jxl::N_SCALAR::ComputeDistanceP(jxl::Plane<float> const&, jxl::ButteraugliParams const&, double) in ../lib/libjxl_extras-internal.a(metrics.cc.o) for architecture ppc
collect2: error: ld returned 1 exit status
make[2]: *** [tools/benchmark_xl] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libjxl/libjxl/work/build'
make[1]: *** [tools/CMakeFiles/benchmark_xl.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libjxl/libjxl/work/build'
make: *** [all] Error 2

Attachments (2)

main.log (566.7 KB) - added by ballapete (Peter "Pete" Dyballa) 12 days ago.
Main.log from PPC Leopard, Mac OS X 10.5.8
main.2.log (884.4 KB) - added by ballapete (Peter "Pete" Dyballa) 11 days ago.
Main.log from PPC Leopard, Mac OS X 10.5.8, faulty build again without visibility

Download all attachments as: .zip

Change History (13)

Changed 12 days ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from PPC Leopard, Mac OS X 10.5.8

comment:1 Changed 12 days ago by kencu (Ken)

try removing this:

-fvisibility=hidden -fvisibility-inlines-hidden

comment:2 Changed 11 days ago by ballapete (Peter "Pete" Dyballa)

I tried:

root 246 /\ port clean libjxl
--->  Cleaning libjxl
root 247 /\ port extract libjxl
--->  Fetching distfiles for libjxl
--->  Verifying checksums for libjxl
--->  Extracting libjxl
root 248 /\ nice find /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libjxl -type f -exec ggrep -e -fvisibility {} /dev/null \;
root 249 /\ port -v patch libjxl
--->  Applying patches to libjxl
--->  Applying include_order.patch
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libjxl/libjxl/work/libjxl-0.10.2" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/graphics/libjxl/files/include_order.patch'
patching file lib/jxl_threads.cmake
patching file lib/jxl_extras.cmake
patching file lib/jxl.cmake
Hunk #1 succeeded at 80 with fuzz 1.
Hunk #2 succeeded at 106 (offset 10 lines).
Hunk #3 succeeded at 123 (offset 10 lines).
Hunk #4 succeeded at 178 (offset 10 lines).
patching file lib/jxl_cms.cmake
Hunk #1 succeeded at 17 with fuzz 2 (offset 3 lines).
--->  Applying find_asciidoc.patch
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libjxl/libjxl/work/libjxl-0.10.2" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/graphics/libjxl/files/find_asciidoc.patch'
patching file CMakeLists.txt
Hunk #1 succeeded at 428 (offset 55 lines).
Hunk #2 succeeded at 484 (offset 55 lines).
--->  Applying 3381.patch
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libjxl/libjxl/work/libjxl-0.10.2" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/graphics/libjxl/files/3381.patch'
patching file lib/jxl/coeff_order.h
--->  Applying sized-deallocation.patch
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libjxl/libjxl/work/libjxl-0.10.2" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/graphics/libjxl/files/sized-deallocation.patch'
patching file lib/CMakeLists.txt
--->  Applying decode_progressive.cc-__STDC_FORMAT_MACROS.patch
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libjxl/libjxl/work/libjxl-0.10.2" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/graphics/libjxl/files/decode_progressive.cc-__STDC_FORMAT_MACROS.patch'
patching file examples/decode_progressive.cc
root 250 /\ nice find /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_libjxl -type f -exec ggrep -e -fvisibility {} /dev/null \;
root 251 /\ 

So the visibility switches seem to come out of the blue, presumingly during the configure stage… (which I cannot perform because boost176 is being built – until tomorrow?)

comment:3 in reply to:  2 Changed 11 days ago by ryandesign (Ryan Carsten Schmidt)

Replying to ballapete:

So the visibility switches seem to come out of the blue, presumingly during the configure stage…

Probably from here and other instances in this file:

https://github.com/libjxl/libjxl/blob/e1489592a770b989303b0edc5cc1dc447bbe0515/lib/jxl.cmake#L65-L66

comment:4 Changed 11 days ago by ballapete (Peter "Pete" Dyballa)

libjxl-0.10.2/lib/jpegli.cmake starts an if here:

 53 if(JPEG_FOUND AND BUILD_TESTING)
 54 # TODO(eustas): merge into jxl_tests.cmake?

that might end with (there are more if then endif):

152 # This hides the default visibility symbols from static libraries bundled into
153 # the shared library. In particular this prevents exposing symbols from hwy
154 # in the shared library.
155 if(LINKER_SUPPORT_EXCLUDE_LIBS)
156   set_property(TARGET jpeg APPEND_STRING PROPERTY
157     LINK_FLAGS " ${LINKER_EXCLUDE_LIBS_FLAG}")
158 endif()
159 endif()

This might be too specific for JPEG only…

libjxl-0.10.2/lib/jxl.cmake has:

240 # Add a jxl.version file as a version script to tag symbols with the
241 # appropriate version number. This script is also used to limit what's exposed
242 # in the shared library from the static dependencies bundled here.
243 foreach(target IN ITEMS jxl jxl_dec)
244   set_target_properties(${target} PROPERTIES
245       LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/jxl/jxl.version)
246   if(APPLE)
247   set_property(TARGET ${target} APPEND_STRING PROPERTY
248       LINK_FLAGS "-Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/jxl/jxl_osx.syms")
249   elseif(WIN32)
250     # Nothing needed here, we use __declspec(dllexport) (jxl_export.h)
251   else()
252   set_property(TARGET ${target} APPEND_STRING PROPERTY
253       LINK_FLAGS " -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/jxl/jxl.version")
254   endif()  # APPLE
255   # This hides the default visibility symbols from static libraries bundled into
256   # the shared library. In particular this prevents exposing symbols from hwy
257   # and skcms in the shared library.
258   if(LINKER_SUPPORT_EXCLUDE_LIBS)
259     set_property(TARGET ${target} APPEND_STRING PROPERTY
260         LINK_FLAGS " ${LINKER_EXCLUDE_LIBS_FLAG}")
261   endif()
262 endforeach()

It's all a bit indirect and not comprehensible for me, no old stuff, too modern. I'll execute the configure stage and check again for the existence of the C++ switches!

comment:5 Changed 11 days ago by ballapete (Peter "Pete" Dyballa)

After this step the following files contain the visibility switches:

./build/CMakeFiles/CMakeConfigureLog.yaml
./build/compile_commands.json
./build/lib/CMakeFiles/jxl_cms.dir/flags.make
./build/lib/CMakeFiles/jxl_dec-obj.dir/flags.make
./build/lib/CMakeFiles/jxl_enc-obj.dir/flags.make
./build/lib/CMakeFiles/jxl_export.dir/flags.make
./build/lib/CMakeFiles/jxl_threads.dir/flags.make

The last five make files are presumingly the responsible ones…

comment:6 Changed 11 days ago by ballapete (Peter "Pete" Dyballa)

At [ 43%], when Linking CXX shared library libxml_cms.dylib, the ld warnings on different visibility settings appear again. Although before none of the visibility switches was used for compilation…

comment:7 Changed 11 days ago by ballapete (Peter "Pete" Dyballa)

Same failure as before…

Changed 11 days ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.2.log added

Main.log from PPC Leopard, Mac OS X 10.5.8, faulty build again without visibility

comment:8 Changed 11 days ago by kencu (Ken)

the final error is

info:build ld: illegal text-relocation to lC14 in ../lib/libjxl_extras-internal.a(metrics.cc.o) from jxl::N_SCALAR::ComputeDistanceP(jxl::Plane<float> const&, jxl::ButteraugliParams const&, double) in ../lib/libjxl_extras-internal.a(metrics.cc.o) for architecture ppc
5060	:info:build collect2: error: ld returned 1 exit status

so you could try adding this:

configure.ldflags-append -Wl,-read_only_relocs,suppress

comment:9 Changed 11 days ago by ballapete (Peter "Pete" Dyballa)

Leaving the visibility switches as introduced by the build process, it built with the additional LDFLAGS.

comment:10 Changed 11 days ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:11 Changed 10 days ago by ballapete (Peter "Pete" Dyballa)

To check whether dvisvgm @3.3 can exist without MuPDF I am performing a make check outside of MacPorts (just let it fetch and extract). I see here similar ld warnings when building with GCC7. (Plus a lot more.) Could the cause be that some files are compiled with gcc and others with g++? With dvisvgm a libmd5.a is used which is an item built from objects made by gcc or by g++…

Note: See TracTickets for help on using tickets.