Closed byu9 closed 2 years ago
UPDATE -- the problem appears to be caused by the symlinks of GNU Stow
. Issue does not appear if gnat
is directly installed into $HOME/.local
instead of into $HOME/.local/stow
then stowed
into $HOME/.local
.
We have no experience with stow. What file system structure do you get at destination location compared to pure install when using it?
Hi,
I think I'm sure at this point the problem is caused by the symlinks created by GNU Stow
interfering with the build system and not by a bug in gprbuild
I attempted to use GNU Stow
to support different compiler versions since I can unstow a compiler and restow a different version into my $PATH
. My directory structure using GNU Stow
is
$HOME/.local
prefix=$HOME/.local
)prefix=$HOME/.local
)Stow
then computed the minimum number of symlinks that needed to be created in $HOME/.local
to make it appear that the packages are installed directly into the parent $HOME/.local
. However, when running the bootstrapped gprconfig
, the program attempted to use the dereferenced compiler path ($HOME/.local/stow/gcc-11.2.0-native/share
) to find the knowledge base. However, the knowledge base has been silently installed into the parent $HOME/.local/share/gprconfig
by bootstrap
. This is why the knowledge base was not found.
cd $HOME/.local/stow
stow xmlada-22.0-native gcc-11.2.0-native
For anyone encountering similar issues, the workaround is to call ./bootstrap --build
to only build the packages, and then call DESTDIR=/tmp/gprbuild bootstrap --install
to install the programs into a different location.
An improvement to the bootstrap
program would be to make the --install
option off by default to avoid silently installing files into locations outside the build directory.
Hi,
At least since v22.0.0, the bootstrap
gprconfig
installed into myprefix
directory by the bootstrap program is having trouble locating its knowledge base. The bootstrap process successfully completed with--prefix=$HOME/.local
. However, when runningmake all
, the following error appearsAttempts to run
gprconfig
fails with the following messageExplicitly specifying knowledge base location to the bootstrap
gprconfig
appears to resolve issue