Don't be surprised :D Im built this system from scratch (https://github.com/prologic/ulinux)
Basically the build system consists of just tcc and make. I was able to get musl libc in the mix too, but quite a few things I had to build on a separate host system to bootstrap the system. Anything in the ./pkgs/ directory has to be bootstrapped on a host system. Everything in ./ports/ is able to be built on a running uLInux system itself. My original goal was to build the smallest possible useable Linux, it actually started out as a fork of Minimal LInux Live (you may have heard of it?) then quickly turned into Minimal Container Linux ( https://github.com/prologic/minimcal-container-linux) and now uLinux ( https://github.com/prologic/ulinux). The idea is still to have the smallest possible useable system, so this means shoving in binutils and all manner of GNU software is out-of-scope as it tends to be rather fat and bloated :) Are you starting to see the picture? Fortunately uLInux is capable of running containers though including Docker and a custom container system called box so I can actually build things in a container then copy the artifacts to the host. cheers James James Mills / prologic E: prolo...@shortcircuit.net.au W: prologic.shortcircuit.net.au Blog: Read my Blog <https://prologic.blog/> Twtxt: Follow me on twtxt.net <https://twtxt.net/user/prologic> On Sun, Nov 29, 2020 at 11:37 PM Christian Jullien <eli...@orange.fr> wrote: > I’m beginning to understand your problem, you need ar and no one is > present (or found). > > Questions: > > - What is exactly your build system? Linux family , version, etc… > > - Why can’t you install binutils which contains ld, ar and such? > > - Sometimes, ar is called gar or gcc-ar or llvmar, sometimes it > is also a link like: /usr/bin/ar -> arm-linux-gnueabihf-ar > > > > I’ll be surprised if your system has no ar already installed. > > > > C. > > > > *From:* Tinycc-devel [mailto:tinycc-devel-bounces+eligis= > orange...@nongnu.org] *On Behalf Of *James Mills > *Sent:* Sunday, November 29, 2020 12:45 > *To:* jull...@eligis.com; tinycc-devel@nongnu.org > *Subject:* Re: [Tinycc-devel] Building sudo? > > > > But just to be sure, I did it again by hand just like what you described > > > > => https://gist.github.com/prologic/8b3b6bff539a1f070e145200c33c971a > > > > Perhaps as you suggested we make tcc ignore some flags? > > > James Mills / prologic > > E: prolo...@shortcircuit.net.au > > W: prologic.shortcircuit.net.au > > Blog: Read my Blog <https://prologic.blog/> > > Twtxt: Follow me on twtxt.net <https://twtxt.net/user/prologic> > > > > > > On Sun, Nov 29, 2020 at 9:41 PM James Mills <prolo...@shortcircuit.net.au> > wrote: > > That doesn't work :/ > > > > ./configure is expecting to find an `ar` utility > > > > => https://gist.github.com/prologic/91c8be731d45446bc40987958ee75403 > > > > cheers > > James > > > James Mills / prologic > > E: prolo...@shortcircuit.net.au > > W: prologic.shortcircuit.net.au > > Blog: Read my Blog <https://prologic.blog/> > > Twtxt: Follow me on twtxt.net <https://twtxt.net/user/prologic> > > > > > > On Sun, Nov 29, 2020 at 12:06 AM Christian Jullien <eli...@orange.fr> > wrote: > > Can you try: > > > > $ (unalias ar; CC=tcc ./configure --enable-shared=no) > > > > *From:* Tinycc-devel [mailto:tinycc-devel-bounces+eligis= > orange...@nongnu.org] *On Behalf Of *James Mills > *Sent:* Saturday, November 28, 2020 12:44 > *To:* jull...@eligis.com; tinycc-devel@nongnu.org > *Subject:* Re: [Tinycc-devel] Building sudo? > > > > I did and it fails the same way. > > > > cheers > > > > James > > > James Mills / prologic > > E: prolo...@shortcircuit.net.au > > W: prologic.shortcircuit.net.au > > Blog: Read my Blog <https://prologic.blog/> > > Twtxt: Follow me on twtxt.net <https://twtxt.net/user/prologic> > > > > > > On Sun, Nov 22, 2020 at 3:43 AM Christian Jullien <eli...@orange.fr> > wrote: > > James, > > Have you tried "CC=tcc ./configure --enable-shared=no" as I said. > It works ROOTB with sudo-1.9.3p1.tar.gz on both arm (RPi) and x64 > > w.o. --enable-shared=no it fails because tcc does not support or recognize > -Wl,--version-script, maybe tcc should simply ignore this option. > > -----Original Message----- > From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis= > orange...@nongnu.org] On Behalf Of Michael Matz > Sent: Friday, November 20, 2020 20:37 > To: tinycc-devel@nongnu.org > Subject: Re: [Tinycc-devel] Building sudo? > > Hello, > > On Fri, 20 Nov 2020, James Mills wrote: > > > Are you saying if I don't alias ar to tcc -ar it will build? > > If you have another POSIX compatible ar, I suspect so, yes. > > > What am I missing? I need to alias ar to tcc -ar for other builds to > > work :) > > Well, it seems that sudo, as part of its default build process, wants to > extract archives it built itself. tcc -ar simply is incapable of that > (right now), it only supports creating archives. So, if you don't want to > hack sudo's build system then you need an 'ar' that can extract archives. > If you then do have such 'ar' (in $PATH), then not aliasing 'ar' to 'tcc > -ar' will do the right thing. > > If you don't have any such 'ar', but only tcc, then you can't make it work > except by changing sudo's build system or implementing the missing > functionality in tcc -ar. > > It's may for instance be possible to build binutils (at least parts of it) > with tcc, then you would have a capable 'ar' program available. > > > Ciao, > Michael. > > > > > cheers > > James > > > > James Mills / prologic > > > > E: prolo...@shortcircuit.net.auw: prologic.shortcircuit.net.au > > Blog: Read my Blog > > Twtxt: Follow me on twtxt.net > > > > > > On Thu, Nov 19, 2020 at 5:28 AM Michael Matz <matz....@frakked.de> > wrote: > > Hello, > > > > On Tue, 17 Nov 2020, James Mills wrote: > > > > > Hi guys, > > > Tried to build sudo with tcc and it fails with: > > > > > > libtool: link: (cd .libs/sudoers.lax/libparsesudoers.a && > arx"/usr/ports/sudo/build/src/sudo-1.9.3p1/plugins/sudoers/./.libs/libparsesu > > d > > > oers.a") > > > usage: tcc -ar [rcsv] lib file... > > > create library ([abdioptxN] not supported). > > > make[1]: *** [Makefile:277: sudoers.la] Error 1 > > > make[1]: Leaving directory > > > '/usr/ports/sudo/build/src/sudo-1.9.3p1/plugins/sudoers' > > > make: *** [Makefile:108: all] Error 2 > > > # > > > > TCCs own 'ar' functionality is very limited, it's not a full > > replacement. > > > > > Is tcc missing a feature needed here? Is there a work-around? > > > > Yes, don't alias 'ar' to 'tcc -ar'. > > > > > > Ciao, > > Michael. > > > > _______________________________________________ > > Tinycc-devel mailing list > > Tinycc-devel@nongnu.org > > https://lists.nongnu.org/mailman/listinfo/tinycc-devel > > > > > > > > > _______________________________________________ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel > > _______________________________________________ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel > > _______________________________________________ > Tinycc-devel mailing list > Tinycc-devel@nongnu.org > https://lists.nongnu.org/mailman/listinfo/tinycc-devel >
_______________________________________________ Tinycc-devel mailing list Tinycc-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/tinycc-devel