Hello Wouter,
The geteuid() function is not implemented but getpwnam() will be part
of the next release.
There is a runscript at 'repos/libports/run/libc_getpwent.run' that
shows how to configure the new 'getpwnam' feature. The next release
is at the end of this week, or you may build from git master for
'getpwnam'. When 'getuid' is called a warning is printed and '0' is
returned, so if you configure the passwd facade to pretend that UID 0
is "mosquitto" that may be enough to get things working. If having
UID 0 is a problem, perhaps it is sufficient to override the
implementation locally like so:
```
extern "C" uid_t getuid(void) { return 1000; }
```
As for 'exec_static_constructors', this can be safely ignored in your
case.
Cheers,
E.
On Tuesday, November 27, 2018 12:40:21 PM CET, Wouter van Oijen wrote:
Hello,
I succeeded in building and starting Mosquitto under Genode, but it
fails due to the not-implemented functions geteuid() and getpwnam().
See log below. Are these functions already implemented somewhere? How
should I continue from here?
Also, what does the warning about exec_static_constructors() mean?
[init -> mosquitto] lwIP Nic interface up address=10.0.2.55
netmask=255.255.255.0 gateway=10.0.2.1
[init -> mosquitto] Warning: Don't call
Genode::Env::exec_static_constructors() in components without static
globals
[init -> mosquitto] 1543318260: mosquitto version 1.5.4 starting
[init -> mosquitto] 1543318260: Using default config.
[init -> mosquitto] 1543318260: Opening ipv4 listen socket on port 1883.
[init -> mosquitto] Warning: geteuid: geteuid not implemented
[init -> mosquitto] Warning: getpwnam: getpwnam not implemented
[init -> mosquitto] 1543318260: Error: Invalid user 'mosquitto'.
[init] child "mosquitto" exited with exit value 1
Best regards,
Wouter
_______________________________________________
Genode users mailing list
[email protected]
https://lists.genode.org/listinfo/users