Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes Pillow build on Xcode 12.2 #579

Merged
merged 1 commit into from
Jan 3, 2021

Conversation

misl6
Copy link
Member

@misl6 misl6 commented Dec 26, 2020

This PR should fix #556 .

That one was broken since a age 😄 , but with XCode < 12.x, also if the needed flags were missing, considering that -arch arm64was passed, Xcode considered that as an iOS build. (A bug sometimes it's a feature)

Now, with XCode > 12.x, arm64 is something that exists in MacOS (Apple Silicon M1), so without the needed flags got treated as a MacOS build.

@tshirtman
Copy link
Member

Good catch! Can't test myself but this seems pretty clear.

@Zen-CODE
Copy link
Member

Zen-CODE commented Dec 28, 2020

Checking out this branch and running "python toolchain.py build kivy python3 pillow" gives me the below. Using XCode 12.3 on MacOS 11.1. I know these are not the exact versions you are using, but the are the current automatics, so I think it's pointless to try with anything less...

[DEBUG   ] /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/stat.h:399:9: note: 
[DEBUG   ]       'utimensat' has been marked as being introduced in macOS 10.13 here, but
[DEBUG   ]       the deployment target is macOS 10.12.0
[DEBUG   ] int     utimensat(int __fd, const char *__path, const struct timespec __...
[DEBUG   ]         ^
[DEBUG   ] /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/posixmodule.c:4696:12: note: 
[DEBUG   ]       enclose 'utimensat' in a __builtin_available check to silence this warning
[DEBUG   ]     return utimensat(dir_fd, path, time, flags);
[DEBUG   ]            ^~~~~~~~~
[DEBUG   ] /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/posixmodule.c:4721:12: warning: 
[DEBUG   ]       'futimens' is only available on macOS 10.13 or newer
[DEBUG   ]       [-Wunguarded-availability-new]
[DEBUG   ]     return futimens(fd, time);
[DEBUG   ]            ^~~~~~~~
[DEBUG   ] /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/stat.h:398:9: note: 
[DEBUG   ]       'futimens' has been marked as being introduced in macOS 10.13 here, but
[DEBUG   ]       the deployment target is macOS 10.12.0
[DEBUG   ] int     futimens(int __fd, const struct timespec __times[2]) __API_AVAIL...
[DEBUG   ]         ^
[DEBUG   ] /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/posixmodule.c:4721:12: note: 
[DEBUG   ]       enclose 'futimens' in a __builtin_available check to silence this warning
[DEBUG   ]     return futimens(fd, time);
[DEBUG   ]            ^~~~~~~~
[DEBUG   ] /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/posixmodule.c:4744:12: warning: 
[DEBUG   ]       'utimensat' is only available on macOS 10.13 or newer
[DEBUG   ]       [-Wunguarded-availability-new]
[DEBUG   ]     return utimensat(DEFAULT_DIR_FD, path, time, AT_SYMLINK_NOFOLLOW);
[DEBUG   ]            ^~~~~~~~~
[DEBUG   ] /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/stat.h:399:9: note: 
[DEBUG   ]       'utimensat' has been marked as being introduced in macOS 10.13 here, but
[DEBUG   ]       the deployment target is macOS 10.12.0
[DEBUG   ] int     utimensat(int __fd, const char *__path, const struct timespec __...
[DEBUG   ]         ^
[DEBUG   ] /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/posixmodule.c:4744:12: note: 
[DEBUG   ]       enclose 'utimensat' in a __builtin_available check to silence this warning
[DEBUG   ]     return utimensat(DEFAULT_DIR_FD, path, time, AT_SYMLINK_NOFOLLOW);
[DEBUG   ]            ^~~~~~~~~
[DEBUG   ] /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/posixmodule.c:4760:12: warning: 
[DEBUG   ]       'utimensat' is only available on macOS 10.13 or newer
[DEBUG   ]       [-Wunguarded-availability-new]
[DEBUG   ]     return utimensat(DEFAULT_DIR_FD, path, time, 0);
[DEBUG   ]            ^~~~~~~~~
[DEBUG   ] /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/stat.h:399:9: note: 
[DEBUG   ]       'utimensat' has been marked as being introduced in macOS 10.13 here, but
[DEBUG   ]       the deployment target is macOS 10.12.0
[DEBUG   ] int     utimensat(int __fd, const char *__path, const struct timespec __...
[DEBUG   ]         ^
[DEBUG   ] /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/posixmodule.c:4760:12: note: 
[DEBUG   ]       enclose 'utimensat' in a __builtin_available check to silence this warning
[DEBUG   ]     return utimensat(DEFAULT_DIR_FD, path, time, 0);
[DEBUG   ]            ^~~~~~~~~
[DEBUG   ] clang -Qunused-arguments -fcolor-diagnostics -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include  -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I/Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Include/internal -IObjects -IInclude -IPython -I. -I/Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Include    -DPy_BUILD_CORE_BUILTIN  -c /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/_sre.c -o Modules/_sre.o
[DEBUG   ] clang -Qunused-arguments -fcolor-diagnostics -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include  -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I/Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Include/internal -IObjects -IInclude -IPython -I. -I/Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Include    -DPy_BUILD_CORE_BUILTIN  -c /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/_codecsmodule.c -o Modules/_codecsmodule.o
[DEBUG   ] /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/posixmodule.c:9197:15: error: 
[DEBUG   ]       implicit declaration of function 'sendfile' is invalid in C99
[DEBUG   ]       [-Werror,-Wimplicit-function-declaration]
[DEBUG   ]         ret = sendfile(in, out, offset, &sbytes, &sf, flags);
[DEBUG   ]               ^
[DEBUG   ] clang -Qunused-arguments -fcolor-diagnostics -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include  -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I/Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Include/internal -IObjects -IInclude -IPython -I. -I/Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Include    -DPy_BUILD_CORE_BUILTIN  -c /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/_weakref.c -o Modules/_weakref.o
[DEBUG   ] clang -Qunused-arguments -fcolor-diagnostics -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include  -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I/Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Include/internal -IObjects -IInclude -IPython -I. -I/Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Include    -DPy_BUILD_CORE_BUILTIN  -DPy_BUILD_CORE_BUILTIN -I/Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Include/internal -c /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/Modules/_functoolsmodule.c -o Modules/_functoolsmodule.o
[DEBUG   ] 4 warnings and 1 error generated.
[DEBUG   ] make: *** [Modules/posixmodule.o] Error 1
[DEBUG   ] make: *** Waiting for unfinished jobs....
[DEBUG   ] 1 warning generated.
Exception in thread background thread for pid 88780:
Traceback (most recent call last):
  File "/Users/richard/.pyenv/versions/3.7.9/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/Users/richard/.pyenv/versions/3.7.9/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/richard/Repos/kivy/kivy-ios/venv/lib/python3.7/site-packages/sh.py", line 1540, in wrap
    fn(*args, **kwargs)
  File "/Users/richard/Repos/kivy/kivy-ios/venv/lib/python3.7/site-packages/sh.py", line 2459, in background_thread
    handle_exit_code(exit_code)
  File "/Users/richard/Repos/kivy/kivy-ios/venv/lib/python3.7/site-packages/sh.py", line 2157, in fn
    return self.command.handle_command_exit_code(exit_code)
  File "/Users/richard/Repos/kivy/kivy-ios/venv/lib/python3.7/site-packages/sh.py", line 815, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_2: 

  RAN: /usr/bin/make -C /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/native-build -j12

  STDOUT:
clang -Qunused-arguments -fcolor-diagnostics -c -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include  -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I/Users/richard/Repos/kivy/k... (130950 more, please see e.stdout)

  STDERR:


Traceback (most recent call last):
  File "toolchain.py", line 3, in <module>
    main()
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 1519, in main
    ToolchainCL()
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 1276, in __init__
    getattr(self, args.command)()
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 1337, in build
    build_recipes(args.recipe, ctx)
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 1127, in build_recipes
    recipe.execute()
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 699, in execute
    self.build_all()
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 73, in _cache_execution
    f(self, *args, **kwargs)
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 793, in build_all
    self.build(arch)
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 73, in _cache_execution
    f(self, *args, **kwargs)
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 780, in build
    self.build_arch(arch)
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 832, in build_arch
    getattr(self, build)()
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/recipes/hostpython3/__init__.py", line 76, in build_x86_64
    _env=build_env)
  File "/Users/richard/Repos/kivy/kivy-ios/kivy_ios/toolchain.py", line 55, in shprint
    for line in cmd:
  File "/Users/richard/Repos/kivy/kivy-ios/venv/lib/python3.7/site-packages/sh.py", line 863, in next
    self.wait()
  File "/Users/richard/Repos/kivy/kivy-ios/venv/lib/python3.7/site-packages/sh.py", line 792, in wait
    self.handle_command_exit_code(exit_code)
  File "/Users/richard/Repos/kivy/kivy-ios/venv/lib/python3.7/site-packages/sh.py", line 815, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_2: 

  RAN: /usr/bin/make -C /Users/richard/Repos/kivy/kivy-ios/build/hostpython3/x86_64/Python-3.8.2/native-build -j12

  STDOUT:
clang -Qunused-arguments -fcolor-diagnostics -c -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include --sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -arch x86_64 -mmacosx-version-min=10.12 -I/Users/richard/Repos/kivy/kivy-ios/dist/hostlibffi/usr/local/include  -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I/Users/richard/Repos/kivy/k... (130950 more, please see e.stdout)

  STDERR:

@misl6
Copy link
Member Author

misl6 commented Dec 30, 2020

The CI is building fine but it's on MacOS 10.15.7 and XCode 12.2. (https://github.com/actions/virtual-environments/blob/macOS-10.15/20201212.1/images/macos/macos-10.15-Readme.md)
I'm on MacOS10.15.7 and XCode 12.3, and I'm also building fine.

Googling around I found out something interesting related to pyenv:
pyenv/pyenv#1737

Edit: I will add a CI check with macos-11, so We can be sure that it also builds fine on macOS 11.0 Big Sur

@misl6
Copy link
Member Author

misl6 commented Dec 30, 2020

@Zen-CODE And We have a confirmation, the issue you encountered it's reproducible on MacOs 11.x as you can see from the latest run of the CI on this test PR:
#580

Will try to launch a rebuild in the next few days with an edit.

Copy link
Member

@Zen-CODE Zen-CODE left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works like a charm 🥇

@Zen-CODE Zen-CODE merged commit 2ba28a5 into kivy:master Jan 3, 2021
@Cheaterman
Copy link
Contributor

Cheaterman commented Jan 14, 2021

I'm getting linking issues here? Downgrading to 12.2 just to check (OSX had updated me to 12.3 of course...).

EDIT: Just noticed @misl6 uses 12.3 successfully... reinstalling that, and I'll post the errors. I'm on OSX 10.15.7 BTW, not 11.

EDIT2: Another thing, I thought it could be because of Python 3.9, so I downgraded to 3.8, but I see from your CI specs Mirko that you're using 3.9, so that's also a dead end - I'll go back to 3.9 myself. Posting logs ASAP.

EDIT3: Logs:

ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame
Undefined symbols for architecture x86_64:
  "_cmsCloseProfile", referenced from:
      _cms_profile_dealloc in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_red_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsCreateLab2Profile", referenced from:
      _createProfile in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsCreateProofingTransform", referenced from:
      _buildProofTransform in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsCreateTransform", referenced from:
      _buildTransform in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_red_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsCreateXYZProfile", referenced from:
      _createProfile in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_red_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsCreate_sRGBProfile", referenced from:
      _createProfile in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsDeleteTransform", referenced from:
      _cms_profile_getattr_red_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_transform_dealloc in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsDoTransform", referenced from:
      _cms_profile_getattr_red_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_transform_apply in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetColorSpace", referenced from:
      _cms_profile_getattr_color_space in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_xcolor_space in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetDeviceClass", referenced from:
      _cms_profile_getattr_device_class in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetEncodedICCversion", referenced from:
      _cms_profile_getattr_icc_version in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetHeaderAttributes", referenced from:
      _cms_profile_getattr_attributes in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetHeaderCreationDateTime", referenced from:
      _cms_profile_getattr_creation_date in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetHeaderFlags", referenced from:
      _cms_profile_getattr_header_flags in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetHeaderManufacturer", referenced from:
      _cms_profile_getattr_header_manufacturer in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetHeaderModel", referenced from:
      _cms_profile_getattr_header_model in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetHeaderProfileID", referenced from:
      _cms_profile_getattr_profile_id in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetHeaderRenderingIntent", referenced from:
      _cms_profile_getattr_rendering_intent in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetPCS", referenced from:
      _cms_profile_getattr_pcs in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_connection_space in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetProfileInfoASCII", referenced from:
      _cms_profile_getattr_product_desc in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_product_description in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_product_manufacturer in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_product_model in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_product_copyright in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetProfileVersion", referenced from:
      _cms_profile_getattr_version in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetSupportedIntents", referenced from:
      __is_intent_supported in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetTransformInputFormat", referenced from:
      _cms_transform_apply in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsGetTransformOutputFormat", referenced from:
      _cms_transform_apply in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsIsCLUT", referenced from:
      __is_intent_supported in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsIsIntentSupported", referenced from:
      _cms_profile_is_intent_supported in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      __is_intent_supported in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsIsMatrixShaper", referenced from:
      _cms_profile_getattr_is_matrix_shaper in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_red_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_red_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      ...
  "_cmsIsTag", referenced from:
      _cms_profile_getattr_technology in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_colorimetric_intent in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_perceptual_rendering_intent_gamut in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_saturation_rendering_intent_gamut in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_red_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      ...
  "_cmsMLUgetWide", referenced from:
      __profile_read_mlu in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsNamedColorCount", referenced from:
      __profile_read_named_color_list in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsNamedColorInfo", referenced from:
      __profile_read_named_color_list in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsOpenProfileFromFile", referenced from:
      _cms_profile_open in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsOpenProfileFromMem", referenced from:
      _cms_profile_fromstring in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsReadTag", referenced from:
      _cms_profile_getattr_technology in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_colorimetric_intent in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_perceptual_rendering_intent_gamut in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_saturation_rendering_intent_gamut in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_red_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      ...
  "_cmsSaveProfileToMem", referenced from:
      _cms_profile_tobytes in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsTempFromWhitePoint", referenced from:
      _cms_profile_getattr_media_white_point_temperature in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsWhitePointFromTemp", referenced from:
      _createProfile in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
  "_cmsXYZ2xyY", referenced from:
      _cms_profile_getattr_red_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_colorant in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_red_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_green_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_blue_primary in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      _cms_profile_getattr_media_white_point_temperature in libpillow.a(_imagingcms.cpython-38-darwin.so.o)
      ...
  "_iconv", referenced from:
      _qr_code_data_list_extract_text in libzbar.a(libzbar_la-qrdectxt.o)
     (maybe you meant: _SDL_iconv_close, _SDL_iconv , _SDL_iconv_open , _SDL_iconv_string )
  "_iconv_close", referenced from:
      _qr_code_data_list_extract_text in libzbar.a(libzbar_la-qrdectxt.o)
     (maybe you meant: _SDL_iconv_close)
  "_iconv_open", referenced from:
      _qr_code_data_list_extract_text in libzbar.a(libzbar_la-qrdectxt.o)
     (maybe you meant: _SDL_iconv_open)
  "_opj_create_compress", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_create_decompress", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_decode_tile_data", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_destroy_codec", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_end_compress", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_end_decompress", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_image_create", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_image_destroy", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_read_header", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_read_tile_header", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_set_default_decoder_parameters", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_set_default_encoder_parameters", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_set_error_handler", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_set_info_handler", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_set_warning_handler", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_setup_decoder", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_setup_encoder", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_start_compress", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_stream_create", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_stream_destroy", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_stream_set_read_function", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_stream_set_seek_function", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_stream_set_skip_function", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_stream_set_user_data", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_stream_set_user_data_length", referenced from:
      _ImagingJpeg2KDecode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_stream_set_write_function", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_version", referenced from:
      _ImagingJpeg2KVersion in libpillow.a(_imaging.cpython-38-darwin.so.o)
  "_opj_write_tile", referenced from:
      _ImagingJpeg2KEncode in libpillow.a(_imaging.cpython-38-darwin.so.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

@misl6
Copy link
Member Author

misl6 commented Jan 15, 2021

@Cheaterman
Versions and kivy-ios install method? For the records, can you please open a new issue linked to this PR?

@Cheaterman
Copy link
Contributor

Hi @misl6 :-) kivy-ios master freshly pulled, venv, install cython inside venv, pip install -e ./kivy-ios/, the rest is "history" as one says haha (build python3/pillow/kivy/etc, pip install a few other libraries I need into the toolchain, create my xcode project, and trying to run that yields the above linking errors).

Creating issue now :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can't build Pillow when using Xcode 12 (and its command line tools)
4 participants