supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
* [s6-rc] shared build with static disabled does not include -ls6 where appropriate
@ 2025-03-18  1:56 Joshua Ismael Haase Hernández
  2025-03-18  4:46 ` Laurent Bercot
  0 siblings, 1 reply; 2+ messages in thread
From: Joshua Ismael Haase Hernández @ 2025-03-18  1:56 UTC (permalink / raw)
  To: supervision

[-- Attachment #1: Type: text/plain, Size: 1415 bytes --]

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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [s6-rc] shared build with static disabled does not include -ls6 where appropriate
  2025-03-18  1:56 [s6-rc] shared build with static disabled does not include -ls6 where appropriate Joshua Ismael Haase Hernández
@ 2025-03-18  4:46 ` Laurent Bercot
  0 siblings, 0 replies; 2+ messages in thread
From: Laurent Bercot @ 2025-03-18  4:46 UTC (permalink / raw)
  To: supervision


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

  Thanks for the report.

  I don't think I ever got automatic symbol resolution via DT_NEEDED to 
work
when the shared libraries are not installed in /lib or /usr/lib (which
happens with --enable-slashpackage). I guess I should dive back into it
and make configure add -rpath where appropriate... but in the meantime,
I worked around it by adding all the necessary -ls6 to all the
executables. The latest git should work.

  If you're building other skaware with --disable-allstatic and 
dependencies
to an intermediate package (not skalibs), e.g. s6-networking depending 
on
s6-dns, please report if you're getting the same issue, it means I need
to get to fixing it faster. 😛

--
  Laurent


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-03-18  4:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-18  1:56 [s6-rc] shared build with static disabled does not include -ls6 where appropriate Joshua Ismael Haase Hernández
2025-03-18  4:46 ` Laurent Bercot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).