* Using relocatable-prog with relocatable libraries @ 2021-04-05 21:55 Reuben Thomas 2021-04-05 22:36 ` Reuben Thomas 0 siblings, 1 reply; 6+ messages in thread From: Reuben Thomas @ 2021-04-05 21:55 UTC (permalink / raw) To: bug-gnulib [-- Attachment #1: Type: text/plain, Size: 921 bytes --] I use relocatable-prog in a project which builds a binary that links against a library which itself is installed publicly. Therefore, I build gnulib with -DIN_LIBRARY. This causes gnulib to be built with a static copy of compute_curr_prefix, named local_compute_curr_prefix. Therefore, when linking, the call to compute_curr_prefix in progreloc.c's prepare_relocate function does not find a link target, and linking fails. I read through the documentation (mostly relocatable-maint.texi), and couldn't find anything that seemed to relate to this. I can't see how I can build gnulib both with and without -DIN_LIBRARY (unless of course I build two copies of gnulib). Have I missed something? I was surprised that I hadn't come across this problem before, but I found that I've used relocatable-lib-lgpl before, but not relocatable-prog (because in fact I was working with an LGPLed project). -- https://rrt.sc3d.org [-- Attachment #2: Type: text/html, Size: 2026 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Using relocatable-prog with relocatable libraries 2021-04-05 21:55 Using relocatable-prog with relocatable libraries Reuben Thomas @ 2021-04-05 22:36 ` Reuben Thomas 2021-04-05 22:42 ` Reuben Thomas 0 siblings, 1 reply; 6+ messages in thread From: Reuben Thomas @ 2021-04-05 22:36 UTC (permalink / raw) To: bug-gnulib [-- Attachment #1: Type: text/plain, Size: 508 bytes --] On Mon, 5 Apr 2021 at 22:55, Reuben Thomas <rrt@sc3d.org> wrote: > > Have I missed something? I was surprised that I hadn't come across this > problem before, but I found that I've used relocatable-lib-lgpl before, but > not relocatable-prog (because in fact I was working with an LGPLed > project). > The comment about "all the copies of relocatable.c" in progreloc.c is surely is clue, but I cannot see how more than one copy of relocatable.c is ever compiled… -- https://rrt.sc3d.org [-- Attachment #2: Type: text/html, Size: 1122 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Using relocatable-prog with relocatable libraries 2021-04-05 22:36 ` Reuben Thomas @ 2021-04-05 22:42 ` Reuben Thomas 2021-04-09 1:41 ` Ben Pfaff 0 siblings, 1 reply; 6+ messages in thread From: Reuben Thomas @ 2021-04-05 22:42 UTC (permalink / raw) To: bug-gnulib [-- Attachment #1: Type: text/plain, Size: 499 bytes --] On Mon, 5 Apr 2021 at 23:36, Reuben Thomas <rrt@sc3d.org> wrote: > > The comment about "all the copies of relocatable.c" in progreloc.c is > surely is clue, but I cannot see how more than one copy of relocatable.c is > ever compiled… > Finally found, in relocatable-maint.texi, "If you need more than one module, or you need to use them with different settings, you will need multiple copies of gnulib (@pxref{Multiple instances})." Sorry for the noise! -- https://rrt.sc3d.org [-- Attachment #2: Type: text/html, Size: 1227 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Using relocatable-prog with relocatable libraries 2021-04-05 22:42 ` Reuben Thomas @ 2021-04-09 1:41 ` Ben Pfaff 2021-04-09 10:18 ` Reuben Thomas 0 siblings, 1 reply; 6+ messages in thread From: Ben Pfaff @ 2021-04-09 1:41 UTC (permalink / raw) To: Reuben Thomas; +Cc: bug-gnulib On Mon, Apr 5, 2021 at 3:43 PM Reuben Thomas <rrt@sc3d.org> wrote: > > On Mon, 5 Apr 2021 at 23:36, Reuben Thomas <rrt@sc3d.org> wrote: >> >> >> The comment about "all the copies of relocatable.c" in progreloc.c is surely is clue, but I cannot see how more than one copy of relocatable.c is ever compiled… > > > Finally found, in relocatable-maint.texi, "If you need more than one module, or you need to use them with different settings, you will need multiple copies of gnulib (@pxref{Multiple instances})." Sorry for the noise! Do you think it should be better documented, or documented somewhere else? (I'm only getting to my email now.) ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Using relocatable-prog with relocatable libraries 2021-04-09 1:41 ` Ben Pfaff @ 2021-04-09 10:18 ` Reuben Thomas 2021-04-09 20:17 ` Reuben Thomas 0 siblings, 1 reply; 6+ messages in thread From: Reuben Thomas @ 2021-04-09 10:18 UTC (permalink / raw) To: Ben Pfaff; +Cc: bug-gnulib [-- Attachment #1: Type: text/plain, Size: 1575 bytes --] On Fri, 9 Apr 2021 at 02:41, Ben Pfaff <blp@cs.stanford.edu> wrote: > On Mon, Apr 5, 2021 at 3:43 PM Reuben Thomas <rrt@sc3d.org> wrote: > > > > On Mon, 5 Apr 2021 at 23:36, Reuben Thomas <rrt@sc3d.org> wrote: > >> > >> > >> The comment about "all the copies of relocatable.c" in progreloc.c is > surely is clue, but I cannot see how more than one copy of relocatable.c is > ever compiled… > > > > > > Finally found, in relocatable-maint.texi, "If you need more than one > module, or you need to use them with different settings, you will need > multiple copies of gnulib (@pxref{Multiple instances})." Sorry for the > noise! > > Do you think it should be better documented, or documented somewhere > else? (I'm only getting to my email now.) > Yes, I think it could be clearer that building for a library and for a program needs different settings, i.e. that when you define IN_LIBRARY, it won't now work for a program, and therefore you need multiple copies of gnulib. This is after all likely to be a common case: you want a program to be relocatable, and it has a library which also needs to access files relocatably. While we're at it, this sentence doesn't apply to me, but it's mystifying: "For installing multiple libraries, at least one of which depends on another one, use the @code{relocatable-prog} module." Are you supposed to use relocatable-prog *and* -DIN_LIBRARY? How does using relocatable-prog help anyway? (A brief explanation of why it's necessary might aid comprehension and recall!) -- https://rrt.sc3d.org [-- Attachment #2: Type: text/html, Size: 2512 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Using relocatable-prog with relocatable libraries 2021-04-09 10:18 ` Reuben Thomas @ 2021-04-09 20:17 ` Reuben Thomas 0 siblings, 0 replies; 6+ messages in thread From: Reuben Thomas @ 2021-04-09 20:17 UTC (permalink / raw) To: Ben Pfaff; +Cc: bug-gnulib [-- Attachment #1: Type: text/plain, Size: 492 bytes --] On Fri, 9 Apr 2021 at 11:18, Reuben Thomas <rrt@sc3d.org> wrote: > On Fri, 9 Apr 2021 at 02:41, Ben Pfaff <blp@cs.stanford.edu> wrote: > >> Do you think it should be better documented, or documented somewhere >> else? (I'm only getting to my email now.) >> > One practical reminder that would be useful: that you need to add a -I flag to ACLOCAL_AMFLAGS in the top-level Makefile.am for each extra gnulib invocation—this took me a little working out! -- https://rrt.sc3d.org [-- Attachment #2: Type: text/html, Size: 1397 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-04-09 20:17 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-04-05 21:55 Using relocatable-prog with relocatable libraries Reuben Thomas 2021-04-05 22:36 ` Reuben Thomas 2021-04-05 22:42 ` Reuben Thomas 2021-04-09 1:41 ` Ben Pfaff 2021-04-09 10:18 ` Reuben Thomas 2021-04-09 20:17 ` Reuben Thomas
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 read-only IMAP folder(s) and NNTP newsgroup(s).