Hi Richard,
On 2025-05-21 13:34, Richard Clark wrote:
FYI: We were also bitten by this. We had to reinstall the OS and switch
to Mint to make it go away.
Perhaps consider a fix that will make the error unnecessary. KISS
Principle should apply everywhere!
A reinstall wouldn't have been necessary (let alone switching
distributions). Just calling `make` from the root of the source (or
object) trees would have sufficed.
The error itself is actually a useful feature because it prevents
sporadic bogus errors on highly parallel builds, if people forget to
specify dependencies in the Control file.
However, seeing that this check is causing more issues than it solves I
decided to restrict it to those global builds. There it is always
ensured that the dependency graph is up-to-date anyways. And there is no
expectation that dependencies are automatically build.
So that should restrict the error to cases where there really might be a
problem. The change will likely hit the public release in a few days
after finalizing internal review and QA.
Best regards,
- Marcus
Richard
-----Original Message-----
From: Marcus Hähnel <[email protected]>
Sent: Wednesday, May 21, 2025 3:53 AM
To: Tianhao Wang <[email protected]>
Cc: [email protected]
Subject: Re: fail to build package with l4re snapshot
Hi,
On 2025-05-20 18:56, Tianhao Wang via l4-hackers wrote:
[…]
4. and try to build it
$ cd myfirstpkg
$ make O=/PATH/TO/SNAPSHOT/obj/l4/x86
error output:
[myfirstpkg] ... Building Dependencies
path/to/src/l4/mk/binary.inc:396: *** /tmp/myfirstpkg/Makefile:
'stdlibs compiler-rt' in REQUIRES_LIBS in Makefile but not in Control
file requires. Stop.
make: *** [path/to/src/l4/mk/binary.inc:195:
path/to/obj/l4/x86/ext-pkg/tmp/myfirstpkg/OBJ-x86_gen-std-l4f] Error 2
I attempted to add file `Control` to the package root conataining the
following but it doesn't work.
requires: stdlibs compiler-rt
Am I doing anything wrong in adding a new package? Sorry for the
newbie question, I'm learning L4RE :)
You actually did the right thing here! stdlibs should even suffice,
since it pulls in the compiler-rt.
However, for the L4Re buildsystem to pick up the new Control file you
need to call make from the root directory of your l4re source tree at
least once. An oldconfig should suffice to rebuild the dependency
structure.
So just call `make oldconfig` in the directory `path/to/src/l4/` and
you should be all set.
I hope that helped! I'll think about if I can improve that error
message and / or maybe make this more intuitive and automated.
Best regards and have fun trying out L4Re!
- Marcus
PS: Also have a look on l4re.org! We have guides and first steps added
there that can often help. And if not please let us know what you are
missing.
cheers,
wth
[1] https://os.inf.tu-dresden.de/download/snapshots/
_______________________________________________
l4-hackers mailing list -- [email protected] To
unsubscribe send an email to [email protected]
_______________________________________________
l4-hackers mailing list -- [email protected]
To unsubscribe send an email to [email protected]