Opened 7 months ago

Last modified 5 weeks 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 (5)

main.log (566.7 KB) - added by ballapete (Peter "Pete" Dyballa) 7 months ago.
Main.log from PPC Leopard, Mac OS X 10.5.8
main.2.log (884.4 KB) - added by ballapete (Peter "Pete" Dyballa) 7 months ago.
Main.log from PPC Leopard, Mac OS X 10.5.8, faulty build again without visibility
main-0.10.3-failure.log (567.4 KB) - added by ballapete (Peter "Pete" Dyballa) 4 months ago.
Main.log from PPC Leopard, Mac OS X 10.5.8, with @0.10.3, giving failure
main-0.10.3-successful_build.log (721.9 KB) - added by ballapete (Peter "Pete" Dyballa) 4 months ago.
Main.log from PPC Leopard, Mac OS X 10.5.8, with @0.10.3, giving success with additional LDFLAGS
main.3.log (631.1 KB) - added by ballapete (Peter "Pete" Dyballa) 5 weeks ago.
Main.log from PPC Leopard, Mac OS X 10.5.8, faulty build of @0.11.0 with configure.ldflags-append -Wl,-read_only_relocs,suppress

Change History (22)

Changed 7 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from PPC Leopard, Mac OS X 10.5.8

comment:1 Changed 7 months ago by kencu (Ken)

try removing this:

-fvisibility=hidden -fvisibility-inlines-hidden

comment:2 Changed 7 months 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 7 months 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 7 months 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 7 months 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 7 months 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 7 months ago by ballapete (Peter "Pete" Dyballa)

Same failure as before…

Changed 7 months 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 7 months 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 7 months 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 7 months ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:11 Changed 7 months 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++…

comment:12 Changed 4 months ago by ballapete (Peter "Pete" Dyballa)

Returning back to Leopard the new version shows a similar failure. Adding the LDFLAGS Ken mentioned the build succeeds.

Changed 4 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: main-0.10.3-failure.log added

Main.log from PPC Leopard, Mac OS X 10.5.8, with @0.10.3, giving failure

Changed 4 months ago by ballapete (Peter "Pete" Dyballa)

Main.log from PPC Leopard, Mac OS X 10.5.8, with @0.10.3, giving success with additional LDFLAGS

comment:13 Changed 5 weeks ago by ballapete (Peter "Pete" Dyballa)

@0.11.0 shows the same failure.

comment:14 Changed 5 weeks ago by kencu (Ken)

this fix is very commonly needed on 32 bit systems, yes indeed:

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

There is no reason to suspect there will ever be some new version of this software that does not need it, but thanks for reporting each new version still fails without it.

comment:15 Changed 5 weeks ago by ballapete (Peter "Pete" Dyballa)

I imagined an updated Portfile. Meanwhile upgrade libjxl configure.ldflags-append -Wl,-read_only_relocs,suppress is running and at 6%.

comment:16 Changed 5 weeks ago by ballapete (Peter "Pete" Dyballa)

The new version produces a build failure:

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

Do I now need to delete -fvisibility=hidden -fvisibility-inlines-hidden from the g++ incocations?

Changed 5 weeks ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.3.log added

Main.log from PPC Leopard, Mac OS X 10.5.8, faulty build of @0.11.0 with configure.ldflags-append -Wl,-read_only_relocs,suppress

comment:17 Changed 5 weeks ago by ballapete (Peter "Pete" Dyballa)

The setup is a bit different since the compiler flags are not set directly. Now it happes à la:

./WORKSPACE:33:    visibility = ["//visibility:public"],
./lib/BUILD:71:    default_visibility = DEFAULT_VISIBILITY,

So presumingly I would need to change //visibility:public to become //visibility:hidden?

Note: See TracTickets for help on using tickets.