#Gcc staged install help
6 messages · Page 1 of 1 (latest)
install
/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/
programs
=/bin/../libexec/gcc/x86_64-pc-linux-gnu/13.2.0/
/bin/../libexec/gcc/
/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu/13.2.0/
/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../x86_64-pc-linux-gnu/bin/
libraries
=/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/
/bin/../lib/gcc/
/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../x86_64-pc-linux-gnu/lib/x86_64-pc-linux-gnu/13.2.0/
/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../x86_64-pc-linux-gnu/lib/../lib/
/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../x86_64-pc-linux-gnu/13.2.0/
/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/
/lib/x86_64-pc-linux-gnu/13.2.0/
/lib/../lib/
/usr/lib/x86_64-pc-linux-gnu/13.2.0/
/usr/lib/../lib/
/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../x86_64-pc-linux-gnu/lib/
/bin/../lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../
/lib/
/usr/lib/
I am trying to make a custom package manager and I have this installation script here
# BPM expects there to be an 'output' directory under the root of the temporary directory after this script finishes executing, otherwise your program may not be correctly installed
# It is recommended you create the 'output' directory along with a 'source' directory in the root of the temporary directory like this
echo "Compiling gcc..."
# Creating 'source' and 'output' directory variables
source=$(pwd)/source
output=$(pwd)/output
# Creating the 'source' and 'output' directories
mkdir $source
mkdir $output
# Downloading files
wget https://ftp.gnu.org/gnu/gcc/gcc-"${BPM_PKG_VERSION}"/gcc-"${BPM_PKG_VERSION}".tar.xz
# Extracting archive into 'source'
tar -xvf gcc-"${BPM_PKG_VERSION}".tar.xz --strip-components=1 -C $source
# Changing directory into 'source'
cd $source
# Changing default directory name for 64-bit libraries ot lib
sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64
# Creating 'build' directory
mkdir build
# Changing directory into 'build'
cd build
# Configuring and compiling GCC
../configure --prefix=/usr \
--libdir=/usr/lib \
--enable-languages=c,c++ \
--enable-default-pie \
--enable-default-ssp \
--disable-multilib \
--disable-bootstrap \
--with-system-zlib
make
make DESTDIR="$output" install
ln -s gcc $output/usr/bin/cc
ln -sv gcc.1 $output/usr/share/man/man1/cc.1
mkdir -p $output/usr/lib/bfd-plugins/
ln -sfv ../../libexec/gcc/"$(gcc -dumpmachine)"/"${BPM_PKG_VERSION}"/liblto_plugin.so /usr/lib/bfd-plugins/
mkdir -pv $output/usr/share/gdb/auto-load/usr/lib
mv -v $output/usr/lib/*gdb.py $output/usr/share/gdb/auto-load/usr/lib
echo "GCC compilation complete!"```
Can't for the love of god figure out what I am doing wrong
Basically for some reasons all gcc search dirs are prefixed with /bin/.. and this causes some problems like being unable to get to /usr/libexec because /bin/../libexec doesn't exist unless I make a symlink myself
I also seem to be getting problems with a few c++ header files under /usr/include/c++/13.2.0/x86_64-pc-linux-gnu/. They just can't be picked up by g++