[pacman-dev] Compiling pacman with libarchive in nonstandard location
Dear List Members, I've been trying to compile pacman for a while now but I can't figure out how to properly set the libarchive path with the following setup: - I'm working on a server where I don't have root access - the $PATH and $LD_LIBRARY_PATH are a mess - an old libarchive is in /usr/lib64/libarchive.so.2 - the current libarchive is in ~/.arch/usr/lib - I'd like ./configure to pick up the new libarchive I have tried almost all combinations of the environment variables (used full paths, ~ for clarity): export LD_LIBRARY_PATH=~/.arch/usr/lib:$LD_LIBRARY_PATH export LIBS=-L~/.arch/usr/lib export LDFLAGS=-L~/.arch/usr/lib export CFLAGS=-I~/.arch/usr/include export CXXFLAGS=-I~/.arch/usr/include echo > ChangeLog echo > ABOUT-NLS ~/.arch/usr/bin/autoreconf --force -B~/.arch/usr/include ./configure But it still fails with the message: checking for archive_read_data in -larchive... no configure: error: libarchive is needed to compile pacman! I think I somehow need to prepend the personal library path to the paths searched, but how? Any suggestions would be greatly appreciated. Thanks Michael
On 29/01/13 21:40, Michael Schubert wrote:
Dear List Members,
I've been trying to compile pacman for a while now but I can't figure out how to properly set the libarchive path with the following setup:
- I'm working on a server where I don't have root access - the $PATH and $LD_LIBRARY_PATH are a mess - an old libarchive is in /usr/lib64/libarchive.so.2 - the current libarchive is in ~/.arch/usr/lib - I'd like ./configure to pick up the new libarchive
I have tried almost all combinations of the environment variables (used full paths, ~ for clarity):
export LD_LIBRARY_PATH=~/.arch/usr/lib:$LD_LIBRARY_PATH export LIBS=-L~/.arch/usr/lib export LDFLAGS=-L~/.arch/usr/lib export CFLAGS=-I~/.arch/usr/include export CXXFLAGS=-I~/.arch/usr/include echo > ChangeLog echo > ABOUT-NLS ~/.arch/usr/bin/autoreconf --force -B~/.arch/usr/include ./configure
But it still fails with the message:
checking for archive_read_data in -larchive... no configure: error: libarchive is needed to compile pacman!
I think I somehow need to prepend the personal library path to the paths searched, but how? Any suggestions would be greatly appreciated.
Run ./configure and read its helpful output! You need something like: LIBARCHIVE_CFLAGS="-I/opt/libarchive-3.1/include" LIBARCHIVE_LIBS="-L/opt/libarchive-3.1/lib/ -larchive" ./configure Allan
On 01/29/13 11:43, Allan McRae wrote:
On 29/01/13 21:40, Michael Schubert wrote:
Dear List Members,
I've been trying to compile pacman for a while now but I can't figure out how to properly set the libarchive path with the following setup:
- I'm working on a server where I don't have root access - the $PATH and $LD_LIBRARY_PATH are a mess - an old libarchive is in /usr/lib64/libarchive.so.2 - the current libarchive is in ~/.arch/usr/lib - I'd like ./configure to pick up the new libarchive
I have tried almost all combinations of the environment variables (used full paths, ~ for clarity):
export LD_LIBRARY_PATH=~/.arch/usr/lib:$LD_LIBRARY_PATH export LIBS=-L~/.arch/usr/lib export LDFLAGS=-L~/.arch/usr/lib export CFLAGS=-I~/.arch/usr/include export CXXFLAGS=-I~/.arch/usr/include echo > ChangeLog echo > ABOUT-NLS ~/.arch/usr/bin/autoreconf --force -B~/.arch/usr/include ./configure
But it still fails with the message:
checking for archive_read_data in -larchive... no configure: error: libarchive is needed to compile pacman!
I think I somehow need to prepend the personal library path to the paths searched, but how? Any suggestions would be greatly appreciated.
Run ./configure and read its helpful output!
You need something like:
LIBARCHIVE_CFLAGS="-I/opt/libarchive-3.1/include" LIBARCHIVE_LIBS="-L/opt/libarchive-3.1/lib/ -larchive" ./configure
Allan
Thank you for the suggestion, but the LIBARCHIVE_* variables do not seem to make a difference. I might have some thinking error, but I can not find any reference to LIBARCHIVE_ in ./configure --help or find . -type f | xargs grep -l "LIBARCHIVE_" pacman: 4.0.3 libarchive: 3.0.4 Michael
On 29/01/13 22:01, Michael Schubert wrote:
On 01/29/13 11:43, Allan McRae wrote:
On 29/01/13 21:40, Michael Schubert wrote:
Dear List Members,
I've been trying to compile pacman for a while now but I can't figure out how to properly set the libarchive path with the following setup:
- I'm working on a server where I don't have root access - the $PATH and $LD_LIBRARY_PATH are a mess - an old libarchive is in /usr/lib64/libarchive.so.2 - the current libarchive is in ~/.arch/usr/lib - I'd like ./configure to pick up the new libarchive
I have tried almost all combinations of the environment variables (used full paths, ~ for clarity):
export LD_LIBRARY_PATH=~/.arch/usr/lib:$LD_LIBRARY_PATH export LIBS=-L~/.arch/usr/lib export LDFLAGS=-L~/.arch/usr/lib export CFLAGS=-I~/.arch/usr/include export CXXFLAGS=-I~/.arch/usr/include echo > ChangeLog echo > ABOUT-NLS ~/.arch/usr/bin/autoreconf --force -B~/.arch/usr/include ./configure
But it still fails with the message:
checking for archive_read_data in -larchive... no configure: error: libarchive is needed to compile pacman!
I think I somehow need to prepend the personal library path to the paths searched, but how? Any suggestions would be greatly appreciated.
Run ./configure and read its helpful output!
You need something like:
LIBARCHIVE_CFLAGS="-I/opt/libarchive-3.1/include" LIBARCHIVE_LIBS="-L/opt/libarchive-3.1/lib/ -larchive" ./configure
Allan
Thank you for the suggestion, but the LIBARCHIVE_* variables do not seem to make a difference.
I might have some thinking error, but I can not find any reference to LIBARCHIVE_ in ./configure --help or find . -type f | xargs grep -l "LIBARCHIVE_"
pacman: 4.0.3 libarchive: 3.0.4
Ah... apologies. That was added in git so is not in the 4.0.x releases. So I am not entirely sure how to do this...
participants (2)
-
Allan McRae
-
Michael Schubert