On 01/24/2014 08:27 PM, Bruce Dubbs wrote: > Armin K. wrote: >> On 01/21/2014 07:49 PM, bdu...@higgs.linuxfromscratch.org wrote: >>> Author: bdubbs >>> Date: Tue Jan 21 10:49:14 2014 >>> New Revision: 10448 >>> >>> Log: >>> Moved util-linux final build to be after udev. >>> Fixed up e2fsprogs and udev to use the Chapter 5 build of util-linux. >>> >>> Changed umount instructions in Chapter 9 to be compatible with >>> changes in mounting /run as a tmpfs. >>> >>> Modified: >>> trunk/BOOK/appendices/dependencies.xml >>> trunk/BOOK/chapter01/changelog.xml >>> trunk/BOOK/chapter06/chapter06.xml >>> trunk/BOOK/chapter06/e2fsprogs.xml >>> trunk/BOOK/chapter06/systemd.xml >>> trunk/BOOK/chapter09/reboot.xml >>> trunk/BOOK/general.ent >>> trunk/BOOK/packages.ent >>> >> >> >> >>> >>> Modified: trunk/BOOK/chapter06/e2fsprogs.xml >>> ============================================================================== >>> --- trunk/BOOK/chapter06/e2fsprogs.xml Sun Jan 19 17:18:30 2014 >>> (r10447) >>> +++ trunk/BOOK/chapter06/e2fsprogs.xml Tue Jan 21 10:49:14 2014 >>> (r10448) >>> @@ -52,7 +52,11 @@ >>> >>> <para>Prepare E2fsprogs for compilation:</para> >>> >>> -<screen><userinput remap="configure">../configure --prefix=/usr \ >>> +<screen><userinput remap="configure">export >>> PKG_CONFIG_PATH=/tools/lib/pkgconfig >>> + >> >> Why do you export PKG_CONFIG_PATH? Can't you just use it as you used >> LIBS and CFLAGS, on the same line as ./configure? Then, you would not >> need to do any cleanup below. Also, shouldn't LIBS and CFLAGS already be >> set since pkg-config is being used? > > The e2fsprogs configure doesn't use pkg-config in a consistent way. The > only way I found for it to complete properly with util-linux in /tools > is what I committed. Also, we know exactly where the libraries and > headers are at this point in Chapter 6. There's no need to query that. > > I tried a lot of things to get this to work. IIRC, I tried using > PKG_CONFIG_PATH on the configure line, but something wasn't right. > > If someone can get this simpler, I'm quite willing to change to that. > >
OK, fair enough. I wasn't aware that configure didn't respect pkg-config very well. >>> +LIBS=-L/tools/lib \ >>> +CFLAGS=-I/tools/include \ >>> +../configure --prefix=/usr \ >>> --with-root-prefix="" \ >>> --enable-elf-shlibs \ >>> --disable-libblkid \ >>> @@ -61,16 +65,16 @@ >>> --disable-fsck</userinput></screen> >>> >>> <variablelist> >>> - <title>The meaning of the configure options:</title> >>> -<!-- >>> + <title>The meaning of the environment variable and configure >>> options:</title> >>> + >>> <varlistentry> >>> - <term><parameter>PKG_CONFIG...</parameter></term> >>> + <term><parameter>PKG_CONFIG_PATH, LIBS, CFLAGS</parameter></term> >>> <listitem> >>> - <para>This enables E2fsprogs to be built without requiring >>> Pkg-config >>> - to be built and installed first.</para> >>> + <para>These variables enable e2fsprogs to be built using the >>> + <xref linkend="ch-tools-util-linux"/> package built >>> earlier.</para> >>> </listitem> >>> </varlistentry> >>> ---> >>> + >>> <varlistentry> >>> <term><parameter>--with-root-prefix=""</parameter></term> >>> <listitem> >>> @@ -127,9 +131,10 @@ >>> >>> <screen><userinput remap="install">make install</userinput></screen> >>> >>> - <para>Install the static libraries and headers:</para> >>> + <para>Install the static libraries and headers and do some clean >>> up:</para> >>> >>> -<screen><userinput remap="install">make install-libs</userinput></screen> >>> +<screen><userinput remap="install">make install-libs >>> +unset PKG_CONFIG_PATH</userinput></screen> >>> >>> <para>Make the installed static libraries writable so debugging >>> symbols can >>> be removed later:</para> >>> >>> Modified: trunk/BOOK/chapter06/systemd.xml >>> ============================================================================== >>> --- trunk/BOOK/chapter06/systemd.xml Sun Jan 19 17:18:30 2014 >>> (r10447) >>> +++ trunk/BOOK/chapter06/systemd.xml Tue Jan 21 10:49:14 2014 >>> (r10448) >>> @@ -53,7 +53,14 @@ >>> >>> <screen><userinput remap="pre">tar -xvf >>> ../&udev-lfs;.tar.bz2</userinput></screen> >>> >>> - <para>Compile the package:</para> >>> + <para>Create two symbolic links to header files and set an >>> + environment variable to properly use <xref >>> linkend="ch-tools-util-linux"/>.</para> >>> + >>> +<screen><userinput remap="pre">ln -svf /tools/include/blkid /usr/include >>> +ln -svf /tools/include/uuid /usr/include >>> +export LD_LIBRARY_PATH=/tools/lib</userinput></screen> >>> + >>> + <para>Install the package:</para> >>> >> >> Can't you simply use pkg-config --cflags uuid blkid and pkg-config >> --libs uuid blkid in the makefile? It should work just fine and it's a >> nicer way. > > I tried that but LD_LIBRARY_PATH is also needed for 'build/udevadm hwdb > --update' and 'bash udev-lfs-208-2/init-net-rules.sh'. > > If you can get a clean build another way, we can do that, but I tried a > lot of things and the above is the best way I could come up with in the > LFS Chapter 6 environment. > > Note that if we are using pkg-config, we would need to set > PKG_CONFIG_PATH=/tools/lib/pkgconfig > No, LD_LIBRARY_PATH is fine. I was talking about creating the symlinks and then deleting them. Also, nothing is preventing you to set both LD_LIBRARY_PATH and PKG_CONFIG_PATH in Makefile, since the file is already LFS specific. -- Note: My last name is not Krejzi. -- http://linuxfromscratch.org/mailman/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page