Closed dslm4515 closed 3 years ago
So far.... Ninja -> Samurai zlib -> zlib-ng gzip -> pigz pkg-config -> pkgconf [done] m4 -> ibara's m4
And when prefer to build CMLFS with *BSD portable programs and libraries instead of GNU 😸
@owl4ce how about gettext-tiny? Sometimes, autotools (autoconf+automake+m4+etc] run fine for regenerating configure for coreutils ... other times it fails. Have you had any similar experiences?
@owl4ce how about gettext-tiny? Sometimes, autotools (autoconf+automake+m4+etc] run fine for regenerating configure for coreutils ... other times it fails. Have you had any similar experiences?
Yes, thats works like a charm 👍🏻
But sorry, I use Toybox for replacing some packages e.g bc
, coreutils
, file
, findutils
, grep
, inetutils
, procps
, sed
, sysklogd
, and tar
. So, I also replace man
instead of man-db
and not installing man-pages
for temporary.
diffutils
, awk
, make
, and patch
are still GNU because of compability that most packages using GNU implementation style (which is powerful). psmisc
in toybox-0.8.5 just available for killall
command.
This is very time waste to configure commands for first time (I created every config for some steps). Since toybox still developed and not all commands are available.
In my concepts, I was trying to build with less GNU utils and libraries lol 😄
In my concepts, I was trying to build with less GNU utils and libraries lol smile
I may start another repo with that as the purpose
I did rebuild llvmtools
to replace Ninja with Samurai to drop libffi
and python3
. Definitely made llvmtools smaller:
python3+libffi+ninja: ~ 140Mb ( .tar.xz ) Samurai + no python3 + no libffi + no ninja: ~ 116Mb ( .tar.xz )
I did rebuild llvmtools to replace Ninja with Samurai to drop libffi and python3
Libcxxabi requires python. Definately need to add libffi + python3 to llvmtools
Autoconf fail to configure using OpenBSD M4 (Ibara's)
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... ./build-aux/install-sh -c -d
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-pc-linux-musl
checking host system type... x86_64-pc-linux-musl
configure: autobuild project... GNU Autoconf
configure: autobuild revision... 2.71
configure: autobuild hostname... localh3art
configure: autobuild timestamp... 20210706T073551Z
checking for a shell whose -n mode is known to work... /bin/sh
checking for characters that cannot appear in file names... none
checking whether directories can have trailing spaces... yes
checking for expr... /usr/bin/expr
checking for GNU M4 that supports accurate traces... configure: error: no acceptable m4 could be found in $PATH.
GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended.
GNU M4 1.4.15 uses a buggy replacement strstr on some systems.
Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.
Autoconf fail to configure using OpenBSD M4 (Ibara's)
checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... ./build-aux/install-sh -c -d checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking build system type... x86_64-pc-linux-musl checking host system type... x86_64-pc-linux-musl configure: autobuild project... GNU Autoconf configure: autobuild revision... 2.71 configure: autobuild hostname... localh3art configure: autobuild timestamp... 20210706T073551Z checking for a shell whose -n mode is known to work... /bin/sh checking for characters that cannot appear in file names... none checking whether directories can have trailing spaces... yes checking for expr... /usr/bin/expr checking for GNU M4 that supports accurate traces... configure: error: no acceptable m4 could be found in $PATH. GNU M4 1.4.6 or later is required; 1.4.16 or newer is recommended. GNU M4 1.4.15 uses a buggy replacement strstr on some systems. Glibc 2.9 - 2.12 and GNU M4 1.4.11 - 1.4.15 have another strstr bug.
fixed by defining M4
export M4=/usr/bin/m4
./configure --prefix=/usr
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... ./build-aux/install-sh -c -d
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-pc-linux-musl
checking host system type... x86_64-pc-linux-musl
configure: autobuild project... GNU Autoconf
configure: autobuild revision... 2.71
configure: autobuild hostname... localh3art
configure: autobuild timestamp... 20210706T075522Z
checking for a shell whose -n mode is known to work... /bin/sh
checking for characters that cannot appear in file names... none
checking whether directories can have trailing spaces... yes
checking for expr... /usr/bin/expr
checking for GNU M4 that supports accurate traces... /usr/bin/m4
checking whether /usr/bin/m4 accepts --gnu... no
configure: WARNING: the version of M4 that was found does not support -g
configure: WARNING: using it with POSIXLY_CORRECT set may cause problems
checking how m4 supports trace files... --error-output
checking for perl... /usr/bin/perl
checking whether /usr/bin/perl Fcntl::flock is implemented... yes
checking for emacs... no
checking for xemacs... no
checking for emacs... no
checking where .elc files should go... ${datadir}/emacs/site-lisp
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking whether make is case sensitive... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating tests/atlocal
config.status: creating Makefile
config.status: executing tests/atconfig commands
But.. build fails caused by autom4te that still needs GNU M4.
But.. build fails caused by autom4te that still needs GNU M4.
Looks like autom4te has to be patched for Ibara's M4
I have not gotten around to porting gettext-tiny
from simple Makefiles to a build system generated by GNU's autotools. The current source of gettext-tiny
does not use libtool... i think i ran into a problem 1-2 years ago where a package required some sort of library archive or file made from libtool with gettext-tiny
source.
I may reconsider using a different build/configure system if autotools are hard coded for GNU's autotools (M4, autoconf, automake, etc.)
I'll move this to discussions
And maybe pigz instead of gzip, but pigz requires zlib (zlib-ng works too). Cons: pigz doesn't have wrapper script such as for grep (zgrep). Can be installed for both, gzip just for wrapper script if needed 😄 lol
Originally posted by @owl4ce in https://github.com/dslm4515/CMLFS/issues/14#issuecomment-869789668