[MacPorts] #69815: libjxl @0.10.2 does not build on PPC Leopard, Mac OS X 10.5.8, because of a lot of problems ld has
MacPorts
noreply at macports.org
Thu Apr 25 08:22:37 UTC 2024
#69815: libjxl @0.10.2 does not build on PPC Leopard, Mac OS X 10.5.8, because of a
lot of problems ld has
------------------------+-------------------------
Reporter: ballapete | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.9.3
Resolution: | Keywords: leopard ppc
Port: libjxl |
------------------------+-------------------------
Comment (by ballapete):
`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`!
--
Ticket URL: <https://trac.macports.org/ticket/69815#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list