native gcc and external image mount example

Norman Feske norman.feske at genode-labs.com
Mon Jan 10 10:39:18 CET 2022


Hi Alexander,

On 08.01.22 11:34, Alexander Tormasov via users wrote:
> I encounter the following messages during this test run on nova/x86_64 (repeated with similar diagnostics):
...> [init -> /bin/bash -> 5 -> 5 -> 6 -> 1 -> 16 -> 1 -> 17 -> 2 -> 3]
Warning: sbrk: sbrk not implemented
> [init -> /bin/bash -> 5 -> 5 -> 6 -> 1 -> 16 -> 1 -> 17 -> 2 -> 3] Warning: Libc RNG not configured
> [init -> /bin/bash -> 5 -> 5 -> 6 -> 1 -> 16 -> 1 -> 17 -> 2 -> 3] Warning: minherit: minherit not implemented
...
> [init -> /bin/bash -> 5 -> 5 -> 6 -> 1 -> 16 -> 1 -> 17 -> 2 -> 6] Error: ROM-session creation failed (ram_quota=6144, cap_quota=3, label="libdep.a")
> [init -> /bin/bash -> 5 -> 5 -> 6 -> 1 -> 16 -> 1 -> 17 -> 2 -> 6] Error: Could not open ROM session for "libdep.a"
> [init -> /bin/bash -> 5 -> 5 -> 6 -> 1 -> 16 -> 1 -> 17 -> 2 -> 6] Warning: chmod: chmod not implemented
> [init -> /bin/bash -> 5 -> 5 -> 6 -> 1 -> 16 -> 1 -> 17 -> 2 -> 6] Warning: chown: chown not implemented
> [init -> /bin/bash -> 5 -> 5 -> 6 -> 1 -> 16 -> 1 -> 17 -> 2 -> 7] Warning: utimes: utimes not implemented
> [init -> vfs] make[6]: warning:  Clock skew detected.  Your build may be incomplete.
...
> Test succeeded
> 
> tests are finished successfully 
> not sure why libdep.a is requested but not created…
> 
> I suspect that it also do require settings for clock (ntp-like) to force make work better…
> 
> or these are my misconfigurations and mistakes?

No. Even though some messages are prefixed with "Error" and "Warning"
they are just diagnostic. They merely appear at the Genode log but not
visible at stdout or stderr of the subsystem.

Your impression is right that several things could be improved, in
particular the timestamp handling (for making 'make' happy) or
investigating the strange 'libdep.a' message. However, as the purpose of
this non-interactive integration test is exercising the principle
ability to run GCC on Genode - which it does successfully - we knowingly
ignore those remaining imperfections for now.

Once integrating the tool chain in an interactive workflow on top of
Genode (e.g., as Sculpt subsystem), we'll have to take a closer look of
course.

BTW, I sense from your other posting about the container topic
(inquiring about chroot, page sharing, notion of the VFS, sharing of
file descriptors) that you presume Genode to be closer to Unix-like
systems than it really is. To get a tangible feeling of how Unix
concepts are realized on Genode, I warmly recommend to grab a tee or
coffee and enjoy going though the article series referenced at the end
of the Goa README [1] - in particular the "Sticking together a little
Unix" episodes should be eye opening.

[1] https://github.com/nfeske/goa

You will see that many things work quite differently. Questions like
memory sharing of read-only binary segments are actually solved problems
(using cached_fs_rom as a back end for execve).

Given the tool_chain_auto.run scenario with GCC as reference, you may
consider trying to integrate GCC (and gccgo) into the Unix-like system
built in the Goa series. This would make a worthwhile exercise.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth



More information about the users mailing list