Control: tag -1 +confirmed

Hi Guillem,

Need some help here.
Guillem Jover <gjo...@sipwise.com> writes:

> Package: librem0
> Version: 0.4.7-1
> Severity: serious
>
> Hi!
>
> This package provides a shared library that is not self-contained, and
> it is missing a run-time dependency on libre0, as it uses some of its
> symbols. The library should link against all libraries it uses directly,
> because otherwise it is pushing an internal implementation detail towards
> its users.
>
> A very simple example to illustrate:
>
>   $ echo 'int main() { return 0; }' >rem.c
>   $ gcc -o rem rem.c -lrem
>   [ lots of undefined references to missing symbols… ]
>
> I guess there's just a «-lre» missing somewhere in the build system.

Actually there was -lre in Makefile but I did slight modification as
seen below and the error was gone

diff --git a/Makefile b/Makefile
index 248569a..761fc53 100644
--- a/Makefile
+++ b/Makefile
@@ -82,7 +82,7 @@ all: $(SHARED) $(STATIC)
 
 $(SHARED): $(OBJS)
        @echo "  LD      $@"
-       @$(LD) $(LFLAGS) $(SH_LFLAGS) $^ -L$(LIBRE_SO) -lre $(LIBS) -o $@
+       @$(LD) $(LFLAGS) $(SH_LFLAGS) $^ -L$(LIBRE_SO) $(LIBS) -o $@ -lre
 
 
 $(STATIC): $(OBJS)

Just moved -lre to the last part and replaced the package installed
librem.so.0 and the mentioned example compiled fine.

I'm confused on the above line, does the linker flag position on command
line matters?. I would be happy to mention this to upstream.

Reply via email to