-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Could we also have Heirloom NG as an alternative to GNU Coreutils in the future? #80
Comments
Yeah, I was dropping coreutils in favor for bsdutils. I'll check out Heirloom NG as well. I just need a small set of tools to get a chroot running. Chimera Linux is VERY interesting. Their patches for LLVM is geared towards musl+libc++, unlike Alpine & Void! |
Heirloom NG can do the job well, I hope it can help as an alternative. 😄 |
Looks like Chimera Linux dropped bsdutils and developed chimerautils. Chimerautils requires:
With optional deps:
Looks like Heirloom NG has less dependencies |
Having trouble building heirloom-ng for llvmtools:
This is the mk.config I used:
|
If it matters, i rebuilt bzip2 with |
In any case, you can disable bzip2 with |
In fact, way less. You would just need yacc, lex and curses to build it, just disable support for zlib and bzip2. |
It's strange to me seeing this error, since it can build fine on Copacabana with musl and GCC... Maybe libbz2 static files aren't installed? @dslm4515 |
I am using zlib-ng instead of But still, even when i disable both, similar error:
|
That seems to be ok. I'm building it on Copacabana with sortix-zlib and on Ubuntu with the default zlib (dynamically) and both work. I don't think the zlib implementation is a problem.
Did you ran |
stage1 clang static compiling works. I can build a static binary of libtree:
|
Yes. I'll comment out |
I think I need to cite it in the README some time soon...
So maybe I can cross this out? |
Eh, maybe not... |
oops. my cpio builds fine |
So maybe this is/was the problem. Try building it again like it was originally: both libbz2 and zlib-ng statically linked plus |
Dynamically? Great! |
I went back to the default: static. So cpio builds fine. Next roadblock: nawk:
|
btw, bmake doesnt work:
|
Which version of Heirloom NG are you using? I think this was fixed back in this commit: Projeto-Pindorama/heirloom-ng@6379300 |
i used:
|
I think this isn't exactly a bug, but a question of standards. |
It's the most recent, you're right. |
I was hoping to replace GNU's make with bmake to avoid building texinfo for llvmtools |
For now, a quick-n-dirty fix would be to add |
Maybe you could use a POSIX make implementation, there's some out there. I don't think porting an entire build system would be possible right now. |
Yeah. I don't want to use chimerautils...it requires musl-compat-headers, musl-fts, musl-rpmatch, libxo, and meson [which need python... not sure if i should just make python host requirement OR add to cgnutools] |
By the way, isn't GNU's make needed for building the Linux kernel? I think it's a monster that all of us using Linux will need to have installed in our systems at some point. |
It wont build dash shell [ POSIX shell implementation i chose] :
But GNU's make builds dash fine... perhaps, i'll try another POSIX make implementation or patch dash. |
I'll just build ed for cgnutools in case a host does not have ed |
It builds okay with https://sr.ht/~lattis/muon/ , the c99 reimplementation of Meson. No need for python, at least. |
Interesting, I'll take a look at this too. |
YES. muon is good...as in ... Muon for meson, samurai for ninja! |
Were you able to build it in the end? |
I'm currently testing chimerautils... definitely will not be the default "coreutils" for llvmtools as it lacks When I test heirloom-ng, i'll post the versions |
And I hit a snag with chimerautils: no When compiling bmake under chroot, it uses
@takusuman, hopefully heirloom-ng has |
chimerautils does have |
I configured chimerautils with this meson invocation:
Which gave this output:
Then i installed it to my toolchain in /llvmtools. Only these binaries were installed:
|
There's your problem, chimerautils is based on FreeBSD and includes the |
G'day, Derrick. Sorry for the delay. I'm employed now and I was without time for checking my e-mails until now. |
Damn. I accidentally executed I guess its good time to test heirloom-ng as the coreutils for chroot. |
Rebuilt cgnutools and llvmtools far enough to reach heirloom-ng. I made sure to copy the
I'm not worried about the warning, but there is a problem with My
|
Perhaps change line 56 of
to :
|
Yes, But when installing there is an error:
|
using heirloom-ng as my core utils, i cannot configure M4:
|
That's weird, it didn't happened at GCC + musl. Maybe it's a standards thing? Try using |
Well, this isn't a build issue, thankfully. It's related to permissions. For some reason, for chown'ng these files, you need to be root. It's not anything really worrying to be honest, but I need to fix this later. |
This was already patched in the code itself (see Projeto-Pindorama/heirloom-ng@4d93437 and Projeto-Pindorama/heirloom-ng@ef33ea2). |
Yeah, just like |
In Heirloom's case, it will install just fine, but it won't change permissions for the root user. |
Just a small update: now Heirloom NG also has |
I got around building CMLFS on i686 on an old laptop. Once again, GNU coreuntils fails to configure. Its getting annoying how unpredictable coreutils cab be. Then I read about why Chimera Linux does not use coreutils:
So as long has heirloom-ng has utilities that accept the same arguments as the GNU counterparts, I am happy to drop GNU's coreutils in favor of Heirloom-ng or Chimerautils. Alternatively, I could just fork GNU coreutils and clean up the code... But that too time consuming... I'm planning to finish llvm-15.0.6 branch with dropping GNU's coreutils for heirloom-ng & Chimerautils. |
For sure! You can compare, for example, Heirloom NG's |
I mean, it has a lot less. Basically you will just need a C library and (n)curses. |
I tried compiling coreutils on a different cpu arch (amd64 vs i686) with same package versions... it won't configure under i686. I'm not sure if the host has too old of GNU autotools... I do hate how unpredictable it is. |
Heirloom has received a ton of changes lately (since February), most of these compiling errors won't be present in the new version. |
I was taking a look at https://github.com/dslm4515/CMLFS/tree/bsd-userland and thought that it would be interesting to also have Heirloom NG as an alternative to GNU Coreutils.
These tools were derived from UNIX v7, 4BSD and OpenSolaris, while the majority were rewritten from scratch based on the payloads defined for original UNIX tools. I've been maintaining them in the last two years, and also added a new
chroot
implementation based on the Solaris 2.5 one. It's the main toolset at Copacabana Linux, so it was also patched to build on musl without any problems.I know we have many problems to solve before, but I just wanted to show it as an alternative.
The text was updated successfully, but these errors were encountered: