holzschu / Carnets

Carnets is a stand-alone Jupyter notebook server and client. Edit your notebooks on the go, even where there is no network.
https://holzschu.github.io/Carnets_Jupyter/
BSD 3-Clause "New" or "Revised" License
567 stars 34 forks source link

Can't run the project #225

Open GeylanKalafMohe opened 2 years ago

GeylanKalafMohe commented 2 years ago

After cloning the project and running the ./ Command I still get these errors in Xcode.

image

holzschu commented 2 years ago

Oh, good point. The instructions for building are a bit outdated.

You'll need to clone the cpython submodule (git submodule update --init --recursive), then build the cpython frameworks:

sh ./buildAllArchitectures.sh
sh ./createFrameworks.sh
sh ./createModuleFrameworks.sh

(the process takes several hours, might be shorter depending on your processing power). After that, it should work. You may have issues during the build, depending on the external libraries available on your Mac (I provide the libraries for iOS and Simulator, but not all the OSX libraries).

GeylanKalafMohe commented 2 years ago

Hi, thank you for your quick answer. Unfortunately, I get these errors in the terminal. Note that I don't have any python packages installed in general on my mac. I just want to run the Xcode project on my mac.

image

holzschu commented 2 years ago

I'm not sure I get what you're saying with "I just want to run the Xcode project on my mac."

You don't need to have Python installed on your Mac to run Carnets (it builds its own Python), but you need to create Python to run the Xcode project (because, well, it needs them to do anything). All the frameworks are precompiled, except the Python-related frameworks because, well, there were 2000 of them.

So, the question becomes: why happened with the compilation. _sqlite3 is one of the early modules, inside Python itself. You will find a clue in make_osx.log.

GeylanKalafMohe commented 2 years ago

At the end of make_osx.log is see this:

Could not build the ssl module! Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host(). LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381

holzschu commented 2 years ago

So, yes, as they say, you'll need an OpenSSL library compiled for OSX in a place where the compiler can find it (maybe cpython/Frameworks_macosx/lib). If you use homebrew, that pretty straightforward (https://stackoverflow.com/questions/56639315/updating-openssl-to-1-1-1-on-macos ), if you don't, that's a matter of download the source, configure, compile and place the library in the right place.