Hello Josef (and Emery, who responded similarly in another mail),
At least 'getpwnam' got implemented by [1] but you need to configure the libc (please look at the run script included in the commit). Most of the time the user account/identity functions that are used to check various properties in a multi-user system (e.g. to drop priviledges or check for running as root) are of no concern on Genode - after all there is just a single user and the seperation is done at another layer, not the libc. You might have to check what your program expects and how, if necessary, to adapt it.
You're right. It was indeed used to check for running as root and drop privileges. Since this is not necessary within the Genode context, I think I'll patch the third-party code to remove these checks. This may be the easiest solution and I think it makes sense as well.
Also, what does the warning about exec_static_constructors() mean?
[…]
Ported software might depend on calling static constructors but we have to make sure to execute the functions at the proper time, i.e., after the component's environment has been completely initialized. For now we do that for every libc based component unconditionally. The dynamic run-time linker, however, will print this diagnostic message in case the binary does not have any static constructors that need to be executed.
Ah, thanks for explaining. So I can safely ignore this warning then, which Emery also confirmed :-)
Kind regards, Wouter