On Thu, Jan 8, 2009 at 00:48, Perez-Gonzalez, Inaky <inaky.perez-gonzalez@xxxxxxxxx> wrote: >>From: Marcel Holtmann [mailto:marcel@xxxxxxxxxxxx] >>> Otherwise paths where the libraries are to be found are out of sync. >> >>did you check the autogen.sh of udev. With programs living in the / >>directory (including their libraries) you have to do special things when >>installing them. Here is what udev uses: >> >>--prefix=/usr --exec-prefix= --sysconfdir=/etc --with-selinux >> >>And with that a "make install" words just fine. I have been using it >>since the last few month. > > Yeah, all that works ok -- my concern is more the generation of the .pc > file, as they are based off @exec_dir@ and in the pc.in template files, > exec_prefix is taken to be @prefix@, when that could not be the case. > > Am I missing anything here? Udev uses exec_prefix to put the binaries in /sbin and the lib in /lib{,64}, it can do that because it does not need to put any binary files in /usr. Stuff installed in the rootfs is kind of special, there is no general rule how to do that, and standard autotools do not help anything regarding that problem. Every package has its own way to do that. In general, pkgconfig files should not expose the that a library is installed in the rootfs, pkgconfig must always point to the development symlink, which is usually installed with the devel package, and lives in /usr, and is prefix here, not exec_prefix. We could make exec_prefix show the "real" value, but then we would need to fake the libdir value to point to /usr, which is the same type of inconsistency you discovered with today's solution. Thanks, Kay -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html