asdf-community / asdf-python

Python plugin for the asdf version manager
https://github.com/asdf-vm/asdf
MIT License
651 stars 56 forks source link

[error]: `BUILD FAILED (MSYS_NT-10.0-22000...` #137

Closed yozachar closed 1 year ago

yozachar commented 2 years ago
~
❯ asdf install python latest
python-build 3.10.4 /c/Users/MyUser/.asdf/installs/python/3.10.4
Downloading Python-3.10.4.tar.gz...
-> https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgz
Installing Python-3.10.4...

BUILD FAILED (MSYS_NT-10.0-22000 3.3.4-341.x86_64 using python-build 2.3.0-4-g169321b3)

Inspect or clean up the working tree at /tmp/python-build.20220508161905.1267
Results logged to /tmp/python-build.20220508161905.1267.log

Last 10 log lines:
checking for python3... python3
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... "msys_nt-10.0-220003"
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/python-build.20220508161905.1267/Python-3.10.4':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

Hi, my first question is why build Python when the binaries are already available? Why not grab an .exe from here (https://www.python.org/ftp/python/3.10.4/) and install it at the user level?

Second, this error happens even after installing LLVM

~ took 53s
❯ scoop list llvm
Installed apps matching 'llvm':

Name Version Source Updated             Info
---- ------- ------ -------             ----
llvm 14.0.3  main   2022-05-08 16:05:55

I see that the commands cc, gcc or g++ aren't provided by llvm.. but then what do I install (preferably via scoop) to get them?

I should probably ask the latter question elsewhere.

ShinobiWPS commented 2 years ago

Maybe this can help you: https://stackoverflow.com/questions/19816275/no-acceptable-c-compiler-found-in-path-when-installing-python

yozachar commented 2 years ago

@ShinobiWPS, it points to installing gcc on Linux. I'm running asdf on Windows.


Apparent you can install msys2 via scoop. Then install gcc using $ pacman -S base-devel

~
❯ uname -a
MINGW64_NT-10.0-22000 Win11VM 3.3.5-341.x86_64 2022-05-30 21:10 UTC x86_64 Msys

~
❯ gcc --version
gcc (GCC) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

~
❯ asdf --version
v0.10.0-a9caa5b

~
❯ neofetch
        ,.=:!!t3Z3z.,                  MyUser@Win11VM
       :tt:::tt333EE3                  --------------
       Et:::ztt33EEEL @Ee.,      ..,   OS: Windows 11 Pro x86_64
      ;tt:::tt333EE7 ;EEEEEEttttt33#   Host: innotek GmbH VirtualBox
     :Et:::zt333EEQ. $EEEEEttttt33QL   Kernel: 10.0.22000
     it::::tt333EEF @EEEEEEttttt33F    Uptime: 11 mins
    ;3=*^```"*4EEV :EEEEEEttttt33@.    Packages: 11 (scoop)
    ,.=::::!t=., ` @EEEEEEtttz33QF     Shell: zsh 5.8
   ;::::::::zt33)   "4EEEtttji3P*      Resolution: 720x480
  :t::::::::tt33.:Z3z..  `` ,..g.      DE: Aero
  i::::::::zt33F AEEEtttt::::ztF       WM: Explorer
 ;:::::::::t33V ;EEEttttt::::t3        WM Theme: dark
 E::::::::zt33L @EEEtttt::::z3F        Terminal: Windows Terminal
{3=*^```"*4E3) ;EEEtttt:::::tZ`        CPU: Intel i5-10210U (2) @ 2.120GHz
             ` :EEEEtttt::::z7         GPU: Caption
                 "VEzjt:;;z>*`         GPU: VirtualBox Graphics Adapter (WDDM) GPU
                                       Memory: 1019MiB / 2047MiB

But even then the python build fails.

~
❯ asdf install python latest
python-build 3.10.5 /c/Users/MyUser/.asdf/installs/python/3.10.5
Downloading Python-3.10.5.tar.xz...
-> https://www.python.org/ftp/python/3.10.5/Python-3.10.5.tar.xz
Installing Python-3.10.5...

BUILD FAILED (MSYS2 using python-build 2.3.1-20-g572a8bcf)

Inspect or clean up the working tree at /tmp/python-build.20220620074200.1497
Results logged to /tmp/python-build.20220620074200.1497.log

Last 10 log lines:
/usr/lib/gcc/x86_64-pc-msys/11.3.0/../../../../x86_64-pc-msys/bin/ld: /tmp/python-build.20220620074200.1497/Python-3.10.5/./Programs/_testembed.c:585: undefined reference to `__imp_Py_InteractiveFlag'
/usr/lib/gcc/x86_64-pc-msys/11.3.0/../../../../x86_64-pc-msys/bin/ld: /tmp/python-build.20220620074200.1497/Python-3.10.5/./Programs/_testembed.c:589: undefined reference to `__imp_Py_OptimizeFlag'
/usr/lib/gcc/x86_64-pc-msys/11.3.0/../../../../x86_64-pc-msys/bin/ld: /tmp/python-build.20220620074200.1497/Python-3.10.5/./Programs/_testembed.c:595: undefined reference to `__imp_Py_DontWriteBytecodeFlag'
/usr/lib/gcc/x86_64-pc-msys/11.3.0/../../../../x86_64-pc-msys/bin/ld: /tmp/python-build.20220620074200.1497/Python-3.10.5/./Programs/_testembed.c:598: undefined reference to `__imp_Py_QuietFlag'
/usr/lib/gcc/x86_64-pc-msys/11.3.0/../../../../x86_64-pc-msys/bin/ld: /tmp/python-build.20220620074200.1497/Python-3.10.5/./Programs/_testembed.c:604: undefined reference to `__imp_Py_UnbufferedStdioFlag'
/usr/lib/gcc/x86_64-pc-msys/11.3.0/../../../../x86_64-pc-msys/bin/ld: /tmp/python-build.20220620074200.1497/Python-3.10.5/./Programs/_testembed.c:618: undefined reference to `__imp_Py_NoUserSiteDirectory'
/usr/lib/gcc/x86_64-pc-msys/11.3.0/../../../../x86_64-pc-msys/bin/ld: /tmp/python-build.20220620074200.1497/Python-3.10.5/./Programs/_testembed.c:623: undefined reference to `__imp_Py_FrozenFlag'
collect2: error: ld returned 1 exit status
make: *** [Makefile:736: Programs/_testembed] Error 1
make: *** Waiting for unfinished jobs....

See attached log.

python-build.20220620074200.1497.log

mishafeingold commented 1 year ago

I'm not sure what the equivalent packages are to install for myss2, but on ubuntu 22.04 with WSL I ran the following to fix my issue:

sudo apt-get install make libssl-dev build-essential zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
paulovictor237 commented 5 months ago

i had the same probleme in ubuntu 24.04 and the solution of @mishafeingold works well

➜ pyenv install 3.10                                     
Downloading Python-3.10.13.tar.xz...
-> https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tar.xz
Installing Python-3.10.13...

BUILD FAILED (Ubuntu 24.04 using python-build 20180424)

Inspect or clean up the working tree at /tmp/python-build.20240307173237.23801
Results logged to /tmp/python-build.20240307173237.23801.log

Last 10 log lines:
checking for python3... python3
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... "linux"
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/python-build.20240307173237.23801/Python-3.10.13':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
yozachar commented 5 months ago

ref: https://github.com/pyenv/pyenv/wiki#suggested-build-environment | https://github.com/pyenv-win/pyenv-win