IRC channel logs
2024-07-12.log
back to list of logs
<aggi>GNU buildsystem is troublesome <aggi>for example, besides bootstrapping, i verify various crosscompilation variants with gcc-4.7 involved (because this was the last no-c++ one) <aggi>for the sake of it, i replaced libtool with slibtool everywhere; all of the sudden later versions than gcc-4.7 need c++ bootstrapped, and the related components failed with LIBTOOL=slibtool, although all else including a complete userspace had passed before <aggi>anyway, so far, i can confirm various ARCH succeed with cross-compilation back and forth with each other already (amd64, x86, aarch32, aarch64), including the bootstrapping of a later gcc-version-6.5 with gcc-4.7 <aggi>that's tii how, the c-only profile maintained for gentoo is practical, because i can avoid the extremely slow g++ compilation almost always <aggi>except aarch64, which requires a later gcc-6.5 (with c++ involved) for kernel and uboot <aggi>in principle this means, if #bootstrappable arrives at a gcc-4.7 bootstrapped with tcc-toolchain, then any later gcc/binutils can be bootstrapped/crosscompiled too, for any ARCH desired <aggi>soon i will re-try a complete crossdev/compilation of the entire distribution with tcc-toolchain only (no binutils/gcc) <aggi>with it verify again if tcc-toolchain suffices to bootstrap gcc/binutils (last time i tried for amd64 it did) <aggi>but i think tcc-toolchain failed with python03.8, that was required to retain gentoo/crossdev/portage for example <aggi>and perl was nasty too, because perl-5.30 failed with tcc-toolchain while it passed with perl-5.8, however perl-5.8 failed with crossdev and switching ARCH <aggi>hence, i need to swap perl-version for either tcc-toolchain and/or crossdev <aggi>i think this was the final reasons, i decided to abandon GNU buildsystem (if i can), that required automake/autoconf for example, and with it Perl <aggi>as far as Python was concerned i don't remember exactly what had failed with tcc-toolchain <aggi>otherwise, gcc is rather slow compile-time; last time i tried with tcc-toochain only, compilation times were cut in half or more <aggi>since i am residing on some low power buildhosts (cortex a53 for aarch32/64, and a hp t620 thin client for x86/32/64) <aggi>i intend to avoid GNU toolchain too, by ensuring 1) _everything_ (including linux-2.x kernel) passes with tcc-toolchain, and 2) re-confirming my system setup can cleanly bootstrap GNU-buildsystem and GNU-toolchain <aggi>which finally means this: i want to keep GNU-buildsystem and GNU-toolchain _optional_ <aggi>and this is extremely difficult to accomplish (which the slibtool/libtool issue had shown again last night) <aggi>reading along inside parts.rst: seems GNU-toolchain, GNU-buildsystem, perl, and python are among the most troublesome to bootstrap - those were too problematic with crossdev compilation <stikonas>autotools is not hard once you have perl <stikonas>but if I recall correctly, steps were not too hard <stikonas>i.e. one would spend far more time on binutils and gcc <aggi>if the verification of crosscompilation was included, this significantly complicates perl and python maintenance <aggi>myself is mostly scared by the hardcore parts of M0/hex0/mesc etc.; because i am not a proficient asm hacker (not yet) <aggi>another one related to bootstrappable, is additional efforts for fiwix, which i would try to avoid, if and only if i succeed with linux-2.4 that i am planning to use _only_ <stikonas>aggi: I didn't really know assembly before stage0-posix... <stikonas>if you want to learn, you can start with high level prototypes <stikonas>and we mostly use fairly simple assembly there <stikonas>fairly restricted amount of instructions... <aggi>and stage0 is the most relevant, to arrive at tcc-toolchain that i want to use exclusively <stikonas>none of the more advanced, e.g. SSE/SIMD, etc stuff <aggi>although, i will know soon, if there was problems with python compiled by tcc-toolchain, i may have to re-iterate over some of the bootstrappable rootfs.py stuff <aggi>too i replaced bash with oksh here, so that's the one i am scripting with <aggi>i will keep focus on tcc-toolchain/c-only-profile/linux-2.4 here, and trust bootstrappable did the preceeding parts <aggi>difference with my approach is this: <aggi>[bootstrappable stage0] -> tcc-toolchain -> complete system including kernel <aggi>while bootstrappable did: <aggi>stage0 -> tcc-toolchain -> GNU buildsystem/toolchain -> complete system including kernel <aggi>and i got #gentoo attached to my workflow still (and with it python/perl/bash), to do dependency-tracking including crossdev <aggi>i am certain already, i will loose gentoo, and hence have to re-integrate the workflow completely without it <aggi>and since this is unavoidable, i doubt i wanted to invest efforts into bootstrapping python/perl/bash/gentoo <aggi>because i will have to rewrite system-integration for tcc-toolchain and/or crosscompilation without gentoo anyway <aggi>hence, i will merely keep the crossdev-setup archived, to scrape log-files of dependency tracking and package builds