dslm4515 / CMLFS

Clang-Built Musl Linux From Scratch
MIT License
105 stars 18 forks source link

Python3 need to be rebuilt after final system clang is built #81

Closed dslm4515 closed 10 months ago

dslm4515 commented 1 year ago

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.

dslm4515 commented 1 year ago

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
dslm4515 commented 1 year ago

Also intltool wasnt built for final system

dslm4515 commented 1 year ago

python3 built for stage1 toolchain, via commit 9bca49d79657eead622d9ced2066ce1e721e7b43

dslm4515 commented 11 months ago

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

dslm4515 commented 10 months ago

Fixed. Python3 now built after final system LLVM

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

takusuman commented 10 months ago

Fixed. Python3 now built after final system LLVM

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

dslm4515 commented 10 months ago

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

dslm4515 commented 5 months ago

Issue for python 32-bit build stalling under chroot: https://github.com/dslm4515/CMLFS/issues/102