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

Just a heads up #17

Open
hippylover opened this issue Oct 9, 2019 · 6 comments
Open

Just a heads up #17

hippylover opened this issue Oct 9, 2019 · 6 comments

Comments

@hippylover
Copy link

hippylover commented Oct 9, 2019

There's a project tackling portable builds on linux called build-anywhere located here: https://github.com/theopolis/build-anywhere

I don't know if it is useful, just thought i should tell. Before i found python-build-standalone project i tried to build the _ctypes extension statically(still can't get it to work) through build-anywhere project.

There's another thing though. Following this: https://wiki.python.org/moin/BuildStatically in addition to build-anywhere i can build a python binary with no deps. I can't get _ctypes to compile though so i can't really test it. But isn't this better than the binary depending on a lot of stuff gotten through this project or am i confused. Maybe those deps are to static builds?

@hippylover
Copy link
Author

Well actually i can't run this project either:

$ ./build-linux.py

[...]
Installing collected packages: certifi, pycparser, cffi, chardet, click, six, idna, urllib3, requests, websocket-client, docker, markupsafe, jinja2, pip-tools, zstandard
  Running setup.py install for pycparser ... done
Successfully installed certifi-2019.6.16 cffi-1.12.3 chardet-3.0.4 click-7.0 docker-4.0.2 idna-2.8 jinja2-2.10.1 markupsafe-1.1.1 pip-tools-4.0.0 pycparser-2.19 requests-2.22.0 six-1.12.0 urllib3-1.25.3 websocket-client-0.56.0 zstandard-0.11.1
You are using pip version 19.0.3, however version 19.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Makefile:66: /home/kris/Downloads/python-build-standalone-master/build/versions/VERSION.*: No such file or directory
make: *** No rule to make target '/home/kris/Downloads/python-build-standalone-master/build/versions/VERSION.*'.  Stop.

@indygreg
Copy link
Owner

Thanks for the project pointers!

The _ctypes extension requires various patches to CPython for it to work properly. As do some other modules. You really need to build every transitive dependency from source in order to get the portability that you need. And even then it can be difficult to do right. There are known places where this project still isn't doing things completely properly.

@jayvdb
Copy link

jayvdb commented Oct 28, 2019

Cross-linking issues theopolis/build-anywhere#3

It looks like it may be useful to grab some of the recipes from build-anywhere, as a basis for this projects build.

@hippylover , to go back to one of your questions, the reason for this project is primarily to build standalone Python as a bundle of bits, so that people can pick and choose which bits they want, and those decisions might be made due to licensing decisions. Just building static Python isnt enough - usually people want it to be redistributable, and that is where it gets difficult.

The tarballs at Releases are usually enough for anyone. They got me started, and as a result I never tried ./build-linux.py here.

fwiw, I have a static Python build setup at https://build.opensuse.org/project/show/home:jayvdb:python37-static , and ctypes wasnt a problem. It is based on static libs which were already avail in openSUSE + some mods because they tend to disable static libs.

And on top of that I have Nuitka doing a standalone build at https://build.opensuse.org/package/show/home:jayvdb:storyscript-standalone-static/python-story

The key element I needed was a more expansive Modules/Setup.local than the one here, but I used this one as a guide to get my own builds functional.

@hippylover
Copy link
Author

Hi. Thanks for your response. I tried the musl build in Releases -- the glibc one gave me an error in centos 6. tried to install pyqt from pip but all it said was "Killed". I looked at a strace output and -- as far as i am able to comprehend -- it seems it cannot connect to the internet.

@amosbird
Copy link

amosbird commented Nov 8, 2019

I got the same error

make: *** No rule to make target '/home/kris/Downloads/python-build-standalone-master/build/versions/VERSION.*'.  Stop.

@jayvdb jayvdb mentioned this issue Nov 28, 2019
@I-AM-EXFOLIATING
Copy link

Well actually i can't run this project either:

$ ./build-linux.py

[...]
Installing collected packages: certifi, pycparser, cffi, chardet, click, six, idna, urllib3, requests, websocket-client, docker, markupsafe, jinja2, pip-tools, zstandard
  Running setup.py install for pycparser ... done
Successfully installed certifi-2019.6.16 cffi-1.12.3 chardet-3.0.4 click-7.0 docker-4.0.2 idna-2.8 jinja2-2.10.1 markupsafe-1.1.1 pip-tools-4.0.0 pycparser-2.19 requests-2.22.0 six-1.12.0 urllib3-1.25.3 websocket-client-0.56.0 zstandard-0.11.1
You are using pip version 19.0.3, however version 19.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Makefile:66: /home/kris/Downloads/python-build-standalone-master/build/versions/VERSION.*: No such file or directory
make: *** No rule to make target '/home/kris/Downloads/python-build-standalone-master/build/versions/VERSION.*'.  Stop.

I got the same error

make: *** No rule to make target '/home/kris/Downloads/python-build-standalone-master/build/versions/VERSION.*'.  Stop.

Could you please provide more information in the dedicated issue?

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

No branches or pull requests

5 participants