indygreg / python-build-standalone

Produce redistributable builds of Python
Mozilla Public License 2.0
1.99k stars 127 forks source link

Error: Makefile:48: *** multiple target patterns. Stop. #75

Closed ceztko closed 3 years ago

ceztko commented 3 years ago

I'm trying to build latest version (tag 20210327) but I'm getting the following error:

$ ./build-linux.py 
Collecting certifi==2020.12.5
  Using cached certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
Collecting chardet==4.0.0
  Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting docker==4.4.4
  Using cached docker-4.4.4-py2.py3-none-any.whl (147 kB)
Collecting idna==2.10
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting jinja2==2.11.3
  Using cached Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
Collecting markupsafe==1.1.1
  Using cached MarkupSafe-1.1.1-cp38-cp38-manylinux2010_x86_64.whl (32 kB)
Collecting pyyaml==5.4.1
  Using cached PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl (662 kB)
Collecting requests==2.25.1
  Using cached requests-2.25.1-py2.py3-none-any.whl (61 kB)
Collecting six==1.15.0
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting urllib3==1.26.4
  Using cached urllib3-1.26.4-py2.py3-none-any.whl (153 kB)
Collecting websocket-client==0.58.0
  Using cached websocket_client-0.58.0-py2.py3-none-any.whl (61 kB)
Collecting zstandard==0.15.2
  Using cached zstandard-0.15.2-cp38-cp38-manylinux2014_x86_64.whl (2.2 MB)
Installing collected packages: certifi, chardet, six, websocket-client, idna, urllib3, requests, docker, markupsafe, jinja2, pyyaml, zstandard
Successfully installed certifi-2020.12.5 chardet-4.0.0 docker-4.4.4 idna-2.10 jinja2-2.11.3 markupsafe-1.1.1 pyyaml-5.4.1 requests-2.25.1 six-1.15.0 urllib3-1.26.4 websocket-client-0.58.0 zstandard-0.15.2
Makefile:48: *** multiple target patterns.  Stop.

I'm running the script in a Ubuntu 20.04.2 x86_64 system with latest updates installed. How I can find further context information to debug this issue?

ceztko commented 3 years ago

Actually I solved it myself, nothing that basically the error within was eaten by the following shell execution in the Makefile:

https://github.com/indygreg/python-build-standalone/blob/8cc390a03b1899346ba6bdabaade7bf4b463756b/cpython-unix/Makefile#L48

The error was a missing docker python module in cpython-unix/build.py, which in my system I just solved with a simple:

sudo pip3 install docker

Also test-distribution.py was needing a missing zstandard module that can be installed similarly. It would be great if frontend scripts prompt a clear error in case of missing dependent modules and also mention this briefly in the documentation.