dslm4515 / CMLFS

Clang-Built Musl Linux From Scratch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python3 need to be rebuilt after final system clang is built

dslm4515 opened this issue · comments

When compiling Cython, Build fails:

error: command 'x86_64-pc-linux-musl-clang' failed: No such file or directory

Perhaps Python3 should either be rebuilt after final system clang OR compiled for llvmtools.

And if building graphene:

FAILED: src/Graphene-1.0.gir                                                                                                                           
env PKG_CONFIG_PATH=/opt/Xorg/lib/pkgconfig:/opt/Xorg/share/pkgconfig:/src/graphene-1.10.8/OUT/meson-uninstalled /usr/bin/g-ir-scanner --quiet --no-lib
tool --namespace=Graphene --nsversion=1.0 --warn-all --output src/Graphene-1.0.gir --c-include=graphene-gobject.h '--identifier-filter-cmd=/usr/bin/pyt
hon3 /src/graphene-1.10.8/src/identfilter.py' --accept-unprefixed --quiet --warn-all -DGRAPHENE_COMPILATION -I/src/graphene-1.10.8/src -I/src/graphene-
1.10.8/OUT/src -I/src/graphene-1.10.8/include/. -I/src/graphene-1.10.8/OUT/include/. --filelist=/src/graphene-1.10.8/OUT/src/libgraphene-1.0.so.0.1000.
8.p/Graphene_1.0_gir_filelist --include=GObject-2.0 --symbol-prefix=graphene --identifier-prefix=Graphene --pkg-export=graphene-gobject-1.0 --cflags-be
gin -D_GNU_SOURCE -I/src/graphene-1.10.8/include/. -I/src/graphene-1.10.8/OUT/include/. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/incl
ude/gobject-introspection-1.0 --cflags-end -I/src/graphene-1.10.8/include/. -I/src/graphene-1.10.8/OUT/include/. --add-include-path=/usr/share/gir-1.0 
--add-include-path=/src/graphene-1.10.8/include/. --add-include-path=/src/graphene-1.10.8/OUT/include/. -L/src/graphene-1.10.8/OUT/src --library graphe
ne-1.0 --extra-library=m --extra-library=gobject-2.0 --extra-library=glib-2.0 --extra-library=girepository-1.0 --sources-top-dirs /src/graphene-1.10.8/
 --sources-top-dirs /src/graphene-1.10.8/OUT/                                                                                                          
Traceback (most recent call last):                                                                                                                     
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/spawn.py", line 57, in spawn                                                           
    proc = subprocess.Popen(cmd, env=env)                                                                                                              
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                              
  File "/usr/lib/python3.11/subprocess.py", line 1024, in __init__                                                                                     
    self._execute_child(args, executable, preexec_fn, close_fds,                                                                                       
  File "/usr/lib/python3.11/subprocess.py", line 1901, in _execute_child                                                                               
    raise child_exception_type(errno_num, err_msg, err_filename)                                                                                       
FileNotFoundError: [Errno 2] No such file or directory: 'x86_64-pc-linux-musl-clang'                                                                   
                                                                                                                                                       
The above exception was the direct cause of the following exception:                                                                                   
                                                                                                                                                       
Traceback (most recent call last):                                                                                                                     
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/unixccompiler.py", line 179, in preprocess                                             
    self.spawn(pp_args)                                                                                                                                
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/ccompiler.py", line 1007, in spawn
    spawn(cmd, dry_run=self.dry_run, **kwargs)
  File "/usr/lib/python3.11/site-packages/setuptools/_distutils/spawn.py", line 63, in spawn
    raise DistutilsExecError(
distutils.errors.DistutilsExecError: command 'x86_64-pc-linux-musl-clang' failed: No such file or directory

Build succeeds if a link is made:

sudo ln -sv clang-15 /usr/bin/x86_64-pc-linux-musl-clang

Also intltool wasnt built for final system

python3 built for stage1 toolchain, via commit 9bca49d

For LLVM-15.0.6 build [on i686], python3 [for final system] build locks up under chroot. Last build command seen:

clang -shared build/temp.linux-i686-3.11/sources/Python-3.11.3/Modules/_ctypes/_ctypes.o build/temp.linux-i686-3.11/sources/Python-3.11.3/Modules/_ctypes/callbacks.o build/temp.linux-i686-3.11/sources/Python-3.11.3/Modules/_ctypes/callproc.o build/temp.linux-i686-3.11/sources/Python-3.11.3/Modules/_ctypes/cfield.o build/temp.linux-i686-3.11/sources/Python-3.11.3/Modules/_ctypes/stgdict.o -L. -L/usr/local/lib -lffi -ldl -o build/lib.linux-i686-3.11/_ctypes.cpython-311-i386-linux-musl.so

I'm not sure if its an issue with the hardware OR with my build instructions.
I check if my amd64 build has the same issue

Fixed. Python3 now built after final system LLVM

Lockup of python3 on i686/i586 is still pending investigation.

Fixed. Python3 now built after final system LLVM

What was the problem then? I mean, that made the build hang.

The original problem (cannot use python3 from llvmtools as final system python3... was hoping to build python3 once for both llvmtools and final system) was resolved by building python once more.

I'll open another issue for the 32bit X86 build