IRC channel logs

2021-04-04.log

back to list of logs

<stikonas>at least with libtool files
<stikonas>but we can always use it
<stikonas>fossy: so any idea what to do with guile? Try to get glibc first?
<stikonas>hmm, maybe some distro has some musl patches for guile
***nckx is now known as jorts
<OriansJ`>bootstrapping: an adventure where you have to know other people's shit
<ericonr>stikonas: guile works fine on musl
<ericonr>void has a single patch for guile 2
<stikonas>yeah, and I just checked PR for guile 3
<stikonas>nothing similar to what I'm observing with configure
<stikonas>oh, maybe we need to install autoconf-archive
<stikonas>hmm, no, doesn't help
<stikonas>hmm, it could be that gforce_de1977's bash build has different hashes due to gcc defines that are automatically defined
<stikonas>and bash picks something up...
<stikonas>gforce_de1977: worth checking output of gcc -dM -E -xc /dev/null
<stikonas>gforce_de1977: worth comparing with mine: https://paste.debian.net/1192247/
<stikonas>and then check if bash uses anything that is different
<fossy>stikonas: does guile use autogen
<fossy>uh
<fossy>does glibc use autogen
<stikonas>not sure, maybe not
<stikonas>let me check
<stikonas>fossy: by the way, CI failed with some strange failure
<stikonas> https://github.com/fosslinux/live-bootstrap/pull/89/checks?check_run_id=2261575542
<stikonas>I guess rare intermittent error
<fossy>i just put in a re-run
<fossy>we will see if it happens agagin
<stikonas>fossy: in any case we have a away to deal with autogen
<stikonas>even if it's a bit annoying
<fossy>yeah
<fossy>but we will def need it for later gcc probably
<fossy>it will get big fast
<stikonas>yeah...
<stikonas>especially with C++ modules
<stikonas>by the way, maybe we should switch to https://ftpmirror.gnu.org/ ?
<stikonas>I don't want to hammer main gnu server on each CI run...
<stikonas>fossy: no autogen in glibc
<stikonas>at least nothing strange in 2.18
<stikonas>we might have to go for older version
<stikonas>I think some new versions need python
<stikonas>not sure since when
<fossy>reasonably new
<fossy>late 2.2x or earl 2.3x
<fossy>i remember when it was introduced
<fossy>i feel like 2.28
<stikonas>I guess we should be able to build the version just before that...
<stikonas>or alternatively, build python...
<stikonas>but buildign python might need building openssl
<fossy>eh, we will have to do it at some point
<fossy>openssl shouldn't be hard at all
<fossy>hm
<stikonas>it shouldn't
<fossy>i have doubts that such a new glibc will work but we can try
<stikonas>hmm, most of the stuff actually builds now that we have gcc
<stikonas>way fewer problems and workarounds needed than with tcc
<fossy>yes
<stikonas>although, I'm a bit unsure at what should we aim for in the short term
<stikonas>there are maybe things that will eventually be useful
<fossy>this is how i envisinge what we should do:
<fossy>- autogen
<fossy>- gcc with c++
<stikonas>yeah, that's my though for medium term...
<fossy>- jump to modern triplet
<fossy>i think we can do that
<stikonas>but the question is what do we need to do to get to autogen
<stikonas>so it needs guile
<fossy>yeah
<stikonas>guile needs libunistring (another gnulib package)
<stikonas>it might buidl with musl, but we need to solve configure problem
<fossy>how about we solve gnulib first
<stikonas>or build glibc alternatively
<stikonas>yeah, maybe
<fossy>because theres findutils and pending tar and libunistring
<stikonas>well, gnulib according to my reading should be quite compatible
<stikonas>so everything appart from findutils might work with just latest checkout
<fossy>maybe
<fossy>i am not so sure about that
<stikonas>findutils wouldn't have latest autoconf thoug
<stikonas>hmm
<fossy>if there are no releases, there could be api breaks all over the place that are never detected
<stikonas>oh indeed
<stikonas>Note: From time to time, changes are made in Gnulib that are not backward compatible. When updating to a more recent Gnulib, you should consult Gnulib’s NEWS file to check whether the incompatible changes affect your project.
<fossy>right
<stikonas>well, gnulib issue is quite annoying, but at least we know we don't need to bootstrap anything so solve it
<stikonas>hmm, I wonder how git checkouts build ...
<stikonas>there must be some mechanism in build system...
<stikonas>because it just points to commit hash https://git.savannah.gnu.org/cgit/findutils.git/tree/
***jorts is now known as nckx
<stikonas>fossy: so git checkouts seem to have bootstrap script that runs gnulib-tool automatically
<stikonas>hmm, although, our findutils is too old
<stikonas>need something from 2015
<stikonas>oh, that's findutils 4.6.0 or later
<stikonas>maybe we can delay findutils until after gcc then?
<stikonas>as far as I remember, we only use it a bit in autotools/libtool ./bootstrap scripts
<gforce_de1977>stikonas: but why should my bash build output different results, it's always on the same cpu/kernel/whatever...
<stikonas>oh, even on your system it's not reproducible
<stikonas>hmm
<stikonas>then maybe some timestamp is slipping in
<gforce_de1977>awk
<fossy>gforce_de1977: can you upload two binaries to somewhere + i will compare?
<fossy>stikonas: that's good
<pabs3>siraben, fossy: so my mail didn't reach the list, I guess I need to subscribe and resend
<OriansJ`>oh and for extra fun the M1 and hex2 used by mescc will also be faster
<OriansJ`>got all the way up to kaem working with M2libc; just need to figure out the kaem segfault reason
<OriansJ`>right to this level: https://paste.debian.net/1192267/ for anyone curious
<OriansJ`>I'll try to sort this out when I have time.
<OriansJ`>how the heck is GCC setting token->value to "" when token is calloc'd and value is never assigned???
<OriansJ`>ok got kaem nice and happy again
<gforce_d11977>fossy: regarding different bash5.1 / bash-binaries: there are some links already in the backlog, let me search:
<gforce_d11977>e.g. http://intercity-vpn.de/bash5.1-sha256-41dd3dfa62efcd8a71392e09747aab93660b0549f39cb4e673547db47a02bc27-kernel-config.txt
<gforce_d11977>and http://intercity-vpn.de/bash5.1-sha256-41dd3dfa62efcd8a71392e09747aab93660b0549f39cb4e673547db47a02bc27.bin
<gforce_d11977>my goal for tonight is having base64 and let the bootstrap run e.g. 20 times so i can see in the log (via base64) the binaries
<bauen1>now that i have stow working correctly i've updated a few steps to use it as a test: https://github.com/bauen1/live-bootstrap/commit/4f1cb3c8e38d9813f63cbe1bf20cf47c30ac8d84
<stikonas>bauen1: do you know if it would be possible to hide some of the stow complexity in some bash function?
<stikonas>most of the command line arguments are the same
<bauen1>yes
<bauen1>i already have a test implementation of a "upkg" utility that does the stow + a bit of house keeping
<bauen1>so you can only have a single version of a package "selected" at a time
<bauen1>but i've realised i need to extend it to support multiple operations in a single go
<stikonas>yeah, I think you'll have to experiment a bit to find what works nicely
<stikonas>I'm not having a second attempt at GNU Tar 1.34
<stikonas>s/not/now/
<bauen1>the only drawback the current way of storing "packages" has it that you need seperate invokations per package
<bauen1>or write a bit of perl to invoke Stow.pm from the same perl process if you want to do so with a single invokation (to rotate libraries etc)
<bauen1>but it's simple and easy to understand, can be extended with a /upkgs/pkg/current symlink to the "installed" version to make for a simple "package manager" (upkg)
<stikonas>ok, I think tar is working now
<stikonas>fossy: https://github.com/fosslinux/live-bootstrap/pull/87
<stikonas>I had more luck with directy using gnulib-tool than ./bootsrap script from tar repo
<stikonas>(we are still a bit low on tools and bootstrap script assumes that we have those)
<fossy>stikonas: 1. i would prefer /not/ to use a submodule wherever possible, as this requires more processing on the host system (bad). 2. (not a problem but out of interest) how did you generate the list in import-gnulib.sh?
<stikonas>fossy: I just took it from the comment
<stikonas>it's copy paste from gnu/Makefile.am
<fossy>oh, right
<stikonas>(removed # and added ../../src/gnulib)
<stikonas>hmm, we can think about something else instead of submodule
<stikonas>although, it will work... (submodule is just way of distributing it)
<stikonas>but we'll need ot use something on the host anyway
<stikonas>as gnulib does not ship any tarballs
<stikonas>and I think we'll need a lot of different revisions...
<stikonas>each package depends on different checkout of gnulib...
<fossy> https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-30820c.tar.gz ?
<stikonas>well, we can have that...
<stikonas>although, I'm not convinced that there is less processing... It's just that instead of processing on the host, remote git server does processing
<stikonas>but if you think snapshot is better, I can switch to snapshots...
<fossy>i think the main advantage of tars is that they are easier to "check" their validity
<stikonas>another option I can think of
<stikonas>is generate tars locally
<stikonas>but then checksum is checked from inside bootstrap
<stikonas>then we don't need to download million of gnulib snapshots