[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: