[s6-rc] shared build with static disabled does not include -ls6 where appropriate

From: Joshua Ismael Haase Hernández <hahj87_at_gmail.com>
Date: Mon, 17 Mar 2025 19:56:26 -0600

I'm building s6 on tinycore for i686 and it fails with the following
message:

$ ./configure --disable-static --disable-allstatic --enable-shared
--enable-slashpackage
$ make
exec gcc -o s6-rc-oneshot-run -pipe -Wall -std=c99 -fno-exceptions
-fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections
-fdata-
/usr/local/bin/ld: warning: libs6.so.2.13, needed by libs6rc.so.xyzzy, not
found (try using -rpath or -rpath-link)
/usr/local/bin/ld: libs6rc.so.xyzzy: undefined reference to
`s6_supervise_link'
/usr/local/bin/ld: libs6rc.so.xyzzy: undefined reference to
`s6_svc_writectl'
/usr/local/bin/ld: libs6rc.so.xyzzy: undefined reference to
`s6_supervise_unlink'
/usr/local/bin/ld: libs6rc.so.xyzzy: undefined reference to
`s6_svstatus_read'
collect2: error: ld returned 1 exit status
make: *** [Makefile:137: s6-rc-oneshot-run] Error 1

I find that odd because libc6rc.so.2.13 does contain those symbols:

$ objdump -t /package/admin/s6/library.so/libs6.so.2.13 | grep -w
-e s6_supervise_link -e s6_svc_writectl -e s6_supervise_unlink -e
s6_svstatus_re
ad | grep -vE '\.c$'
00007f90 g F .text 000001b9 s6_supervise_link
000067e0 g F .text 00000223 s6_svc_writectl
00008cc0 g F .text 0000033d s6_supervise_unlink
00006a90 g F .text 00000122 s6_svstatus_rea

I could build it by adding manually to config.mak -ls6 to LDFLAGS_NOSHARED.
Received on Tue Mar 18 2025 - 02:56:26 CET

This archive was generated by hypermail 2.4.0 : Tue Mar 18 2025 - 02:57:10 CET