On Wed, May 30, 2012 at 06:50:07PM -0500, Bruce Dubbs wrote: > Ken Moffat wrote: > > On Wed, May 30, 2012 at 04:55:40PM -0500, Bruce Dubbs wrote: > > >> I'll try to create a dynamic udev library in my script. > > OK, I was successful. It was a bit tricky. First, the order of what is > on the command line to link is significant. > > Second, many of the programs are compiled with -fvisibility=hidden. > that isn't good for shared libraries because I got a lot of undefined > references. I just turned that off. > > Now, the question is what to install and where to install it. > > The standard seems to be: > > /lib/libudev.so.0.13.1
libudev.so.1.0.0 for 183 > /lib/libudev.so.0 -> libudev.so.0.13.1 > /usr/lib/libudev.so -> ../../lib/libudev.so.0.13.1 > /usr/include/libudev.h > /usr/lib/libudev.la > /usr/lib/pkgconfig/libudev.pc > > The first four are easy. > > The pc file isn't too bad: > > prefix=/usr > exec_prefix=/usr > libdir=/usr/lib > includedir=/usr/include > > Name: libudev > Description: Library to access udev device information > Version: 182 and 183 > Libs: -L${libdir} -ludev -lrt > Libs.private: > Cflags: -I${includedir} > ------------- > > The libdir looks OK, because I think it's looking for libudev.so. I'm > not sure what prefix and exec_prefix mean in this context. > On my 182 they are both /usr like in yours, and that seems to work fine. > The .la file is: > > # libudev.la - a libtool library file > # Generated by libtool (GNU libtool) 2.4.2 > # > # Please DO NOT delete this file! > # It is necessary for linking the library. > > # The name that we can dlopen(3). > dlname='libudev.so.0' > > # Names of this library. > library_names='libudev.so.0.13.1 libudev.so.0 libudev.so' > again, those are 182 > # The name of the static archive. > old_library='' > > # Linker flags that can not go in dependency_libs. > inherited_linker_flags='' > > # Libraries that this one depends upon. > dependency_libs=' -lrt' > > # Names of additional weak libraries provided by this library > weak_library_names='' > > # Version information for libudev. > current=13 > age=13 > revision=1 so are these > > # Is this an already installed library? > installed=yes > > # Should we warn about portability when linking against -modules? > shouldnotlink=no > > # Files to dlopen/dlpreopen > dlopen='' > dlpreopen='' > > # Directory that this library needs to be installed in: > libdir='/usr/lib' > > --------- I'll attach libudev.la from a successful 183 DESTDIR install install so you can confirm the differences. Mine went into /usr/lib. Are any of your programs, such as cdrom_id, linking to this ? If so, it probably needs to be in /lib. > > Actually, in this case the file is NOT generated by libtool, but it > looks OK. I think the libdir is the same as the pc file in that it is > looking for libudev.so.0. > > I'll add these to the install.sh script. I'll send a message, probably > in a couple of hours about the new patch being available on > www.linuxfromscratch.org. > > -- Bruce Anyone know if *anything* uses /usr/share/pkgconfig/udev.pc ? ĸen -- das eine Mal als Tragödie, das andere Mal als Farce
# libudev.la - a libtool library file # Generated by libtool (GNU libtool) 2.4.2 # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='libudev.so.1' # Names of this library. library_names='libudev.so.1.0.0 libudev.so.1 libudev.so' # The name of the static archive. old_library='libudev.a' # Linker flags that can not go in dependency_libs. inherited_linker_flags='' # Libraries that this one depends upon. dependency_libs=' -ldl -lrt' # Names of additional weak libraries provided by this library weak_library_names='' # Version information for libudev. current=1 age=0 revision=0 # Is this an already installed library? installed=yes # Should we warn about portability when linking against -modules? shouldnotlink=no # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/usr/lib'
-- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page