Bruce Dubbs wrote:
> Armin K. wrote:
>>>> I know why is PKG_CONFIG_PATH necessarry, but I don't know why
>>>> is it necessary to do
>>>>
>>>> export PKG_CONFIG_PATH=blah
>>>> ./configure --blah
>>>> unset PKG_CONFIG_PATH
>>>>
>>>> instead of
>>>>
>>>> PKG_CONFIG_PATH=blah ./configure blah
>>>> or
>>>> ./configure blah PKG_CONFIG_PATH=blah
>>>
>>> In my test logs I have:
>>>
>>> +../e2fsck/e2fsck: error while loading shared libraries: libblkid.so.1:
>>> cannot open shared object file: No such file or directory
>>>
>>> I got this even with the export. I'll investigate tomorrow. It may be
>>> that I need to export LD_LIBRARY_PATH instead of PKG_CONFIG_PATH.
>> As I said in my original mail, LD_LIBRARY_PATH didn't work for me, but
>> yet I didn't export it before the build. The check script seems to set
>> LD_LIBRARY_PATH to something else.
>
> We may need to create temp symbolic links in /usr/lib for the tests. Not
> sure yet.
OK, I think I've got this figured out. The following works in the
chroot environment:
sed -i -e 's|^LD_LIBRARY_PATH.*|&:/tools/lib|' tests/test_config
mkdir -v build
cd build
LIBS=-L/tools/lib \
CFLAGS=-I/tools/include \
PKG_CONFIG_PATH=/tools/lib/pkgconfig \
../configure --prefix=/usr \
--with-root-prefix="" \
--enable-elf-shlibs \
--disable-libblkid \
--disable-libuuid \
--disable-uuidd \
--disable-fsck
make
make -k check >> $TEST_LOG 2>&1 || true
make install
make install-libs
All tests pass and there is no need to export anything. the key here
was that tests/test_config was setting an explicit LD_LIBRARY_PATH
without taking into account that it might already be set. I just made
LD_LIBRARY_PATH in that file explicit for our environment.
------
I also did some investigating of the difference between:
VAR=whatever program ...
and
./configure VAR=whatever ...
The first instance is a part of bash. The shell explicitly sets VAR as
an environment variable in the subshell created for 'program'. In the
second instance, configure looks for *=* (where the first * is not
preceded by a -) and explicitly exports VAR in it's own environment.
From what I can tell, the effect for configure is identical for both
constructs.
-- Bruce
--
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page