holzschu / python3_ios

Python-3.7.1, ported to iOS, with workaround for fork/exec
BSD 3-Clause "New" or "Revised" License
134 stars 64 forks source link

Can't compile on Catalina with Xcode 12b5 #8

Closed jaylyerly closed 4 years ago

jaylyerly commented 4 years ago

Hi,

I'm trying to run a compile of Catalina with Xcode 12 beta 5. When I execute the first line of compilePython.sh, I get this:

% xcodebuild -project Python3_ios/Python3_ios.xcodeproj -alltargets -sdk iphoneos -arch arm64 -configuration Release -quiet

... Lots of noise from simulator / device stuff ...

xcodebuild: error: Could not resolve package dependencies:
  multiple targets named 'openssl' in: Python-aux, openssl

It looks like Python3_ios project references an OpenSSL packages and Python-aux, but Python-aux references its own, different OpenSSL module and Xcode is confused. Any pointers on how to proceed?

holzschu commented 4 years ago

Hi, I'm working on the updated version, a direct fork of the Python tree here: https://github.com/holzschu/cpython The compilation system for the new repository should be:

Compared to this repository, the benefits are:

This being said, you could probably fix your issue in this repository by removing the OpenSSL Swift Package Dependency.

jaylyerly commented 4 years ago

That sounds great! Thanks for the pointer to the new project. I'm just getting started integrating python into our iOS app, so it seems like using the more up-to-date package is a no-brainer. Where does this stand with the fork/exec patches for iOS? We'll need to run jupyter kernels, so that's kind of essential. As for dev environments, should the Xcode 12 GM be ok?

holzschu commented 4 years ago

The new project is patched to use the fork()/exec() versions from iOS_system (it even forced me to update iOS_system, to work with the changes in the pip package). It uses XcFrameworks a lot, so you'll need Xcode 12. I am still in the process of porting to the latest Jupyter version and debugging, so there are going to be several updates in the next weeks.

The goal is to have everything (frameworks and packages) in a single repository, which you can add as a submodule to your own repository.

jaylyerly commented 4 years ago

Fantastic. Thanks so much for your work on this.