Location of shared library links
ATTENTION shared library developers. If you have packages with shared
libraries in /lib, please read this.
> > I already have the patch and will be rebuilding libc5 shortly.
>
> Another thing I came across this hour during the build of netstd-1.25-1:
>
> gcc -o ypserv server.o yp_svc.o yp_xdr.o version.o -lgdbm -L/usr/lib -lwrap
> /usr/lib/libc.a(yp_xdr.o): In function `xdr_peername':
> yp_xdr.o(.text+0x1d0): multiple definition of `xdr_ypresp_key_val'
>
> A bit expanded:
>
> Reading specs from /usr/lib/gcc-lib/i486-linux/2.7.2/specs
> gcc version 2.7.2
> ld -m elf_i386 -dynamic-linker /lib/ld-linux.so.1 -o ypserv -t /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib -L/usr/lib/gcc-lib/i486-linux/2.7.2 server.o yp_svc.o yp_xdr.o version.o -lgdbm -lwrap -lgcc -lc -lgcc /usr/lib/crtend.o /usr/li
> b/crtn.o
> ld: mode elf_i386
> /usr/lib/crt1.o
> /usr/lib/crti.o
> /usr/lib/crtbegin.o
> server.o
> yp_svc.o
> yp_xdr.o
> version.o
> -lgdbm
> (/usr/lib/libwrap.a)hosts_ctl.o
> ...
> (/usr/lib/libwrap.a)percent_m.o
> (/usr/lib/libc.a)setenv.o
> ...
> (/usr/lib/libc.a)__setgid.o
> (/usr/lib/libc.a(yp_xdr.o): In function `xdr_peername':
> yp_xdr.o(.text+0x1d0): multiple definition of `xdr_ypresp_key_val'
> yp_xdr.o(.text+0x300): first defined here
> ...
> ld: link errors found, deleting executable `ypserv'
> ...
> (/usr/lib/libc.a)basename.o
> (/usr/lib/gcc-lib/i486-linux/2.7.2/libgcc.a)_udivdi3.o
> (/usr/lib/gcc-lib/i486-linux/2.7.2/libgcc.a)_umoddi3.o
> /usr/lib/crtend.o
> /usr/lib/crtn.o
>
> It may be better we have the links libfoo.so -> libfoo.so.real.name in
> the same dir as libfoo.a. Is this a good idea?
I think you're right. I'll move them to /usr/lib.
David
--
David Engel Optical Data Systems, Inc.
david@ods.com 1101 E. Arapaho Road
(214) 234-6400 Richardson, TX 75081
Reply to: