Am 07.03.22 um 17:22 schrieb Robin Becker:
I use brew to install freetype version 2.11.1.
gcc -bundle -undefined dynamic_lookup -g -arch arm64
build/temp.macosx-11.0-arm64-3.9/src/rl_addons/renderPM/_renderPM.o
build/temp.macosx-11.0-arm64-3.9/src/rl_addons/renderPM/gt1/gt1-dict.o
build/temp.macosx-11.0-arm64-3.9/src/rl_addons/renderPM/gt1/gt1-namecontext.o
'''''''other compiled code
build/temp.macosx-11.0-arm64-3.9/src/rl_addons/renderPM/libart_lgpl/art_vpath_dash.o
-L/usr/local/lib
-L/usr/lib
-L/Library/Frameworks/Python.framework/Versions/3.9/lib
-lfreetype -o
build/lib.macosx-11.0-arm64-3.9/reportlab/graphics/_renderPM.cpython-39-darwin.so
ld: warning: ignoring file /usr/local/lib/libfreetype.dylib, building
for macOS-arm64 but attempting to link with file built for macOS-x86_64
The above message seems bizarre; everything is compiled for arm64, but
gcc doesn't want to use an arm64 dylib.
I would interpret this as: the host is runnig in intel, by doing the
"brew install" it installs the intel version of freetype into
/usr/local/lib/ ; then you cross-compile the python extension for ARM,
but -lfreetype picks up the host version.
On macOS it is not mandatory that all symbols in a .dylib are resolved.
I would guess that the resulting file will not work on M1 macs. YOu can
check by
otool -L /path/toyour.dylib
which libraries are referenced. If you use freetype functions in your C
code and do not see it referenced, then the lib will not work.
Maybe you can install an ARM-version of freetype, or compile it from
source during your build process?
Christian
--
https://mail.python.org/mailman/listinfo/python-list