Aggiornamento GCC

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
Yellowhat
Linux 2.x
Linux 2.x
Messaggi: 218
Iscritto il: mer 26 dic 2007, 16:58
Slackware: Current
Località: Modena

Aggiornamento GCC

Messaggio da Yellowhat »

Navigando su internet ho scoperto che è uscita la nuova versione di GCC, la 4.3.0, ora è installato su slackware 12.1 la 4.2.3.
Secondo voi il lavoro da fare per adattare questo slackbuild http://repository.slacky.eu/slackware-1 ... SlackBuild alla nuova versione, è impegnativo?
Avrò problemi con i pacchetti compilati con la versione precedente?

Grazie
Ultima modifica di Yellowhat il gio 22 mag 2008, 22:24, modificato 2 volte in totale.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Aggiornamento GCC

Messaggio da conraid »

Yellowhat ha scritto: Avrò problemi con i pacchetti compilati con la versione precedente?
Più facile il contrario

Avatar utente
Yellowhat
Linux 2.x
Linux 2.x
Messaggi: 218
Iscritto il: mer 26 dic 2007, 16:58
Slackware: Current
Località: Modena

Re: Aggiornamento GCC

Messaggio da Yellowhat »

E' se aggiungessi delle FLAGS per il mio processore?

Avatar utente
Yellowhat
Linux 2.x
Linux 2.x
Messaggi: 218
Iscritto il: mer 26 dic 2007, 16:58
Slackware: Current
Località: Modena

Re: Aggiornamento GCC

Messaggio da Yellowhat »

Ho trovato un'altro slackbuild sembra più completo.
http://ftp.sh.cvut.cz/MIRRORS/slax/sour ... SlackBuild

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Re: Aggiornamento GCC

Messaggio da albatros »

Attenzione, c'era un possibile problema con gcc 4.3.0:
http://lwn.net/Articles/272048/
Il kernel 2.6.25 credo risolva questo problema, non so (verifica) se lo abbiano risolto anche le ultime versioni 2.6.24.x.

Avatar utente
Yellowhat
Linux 2.x
Linux 2.x
Messaggi: 218
Iscritto il: mer 26 dic 2007, 16:58
Slackware: Current
Località: Modena

Re: Aggiornamento GCC

Messaggio da Yellowhat »

Ho utilizzato lo slackbuild di Pat per la 4.2.3 (ftp://ftp.slackware.com/pub/slackware/s ... SlackBuild), commentando solo la parte della patch, tutto fila lisco, mi crea i pacchetti, vado a vedere e sono tutti di al massimo qualche kilobyte

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Re: Aggiornamento GCC

Messaggio da Bart »


Avatar utente
Yellowhat
Linux 2.x
Linux 2.x
Messaggi: 218
Iscritto il: mer 26 dic 2007, 16:58
Slackware: Current
Località: Modena

Re: Aggiornamento GCC

Messaggio da Yellowhat »

Ho provato anche con la 4.2.4, stesso risultato. Vi posto lo slackbuild così potete vedere dove sbaglio.

Codice: Seleziona tutto

#!/bin/sh
# Heavily based on the Slackware 12.1 SlackBuild
# http://gcc.gnu.org/
# Packager Yellowhat - yellowhat46@gmail.com - Date 26/05/2008

# Root
(( $UID != 0 )) && echo "You must be root." && exit 1;

# Variabili della directory temporanea
CWD=`pwd`
if ["$TMP" = ""]; then
TMP=/tmp/tgz
fi

VERSION=4.2.4
ARCH=${ARCH:-x86}
BUILD=1

# DESTDIR
PKG1=$TMP/package-gcc
PKG2=$TMP/package-gcc-g++
PKG3=$TMP/package-gcc-gfortran
PKG4=$TMP/package-gcc-gnat
PKG5=$TMP/package-gcc-java
PKG6=$TMP/package-gcc-objc
PKG7=$TMP/package-gcc-g++-gch

# Sorgenti
SOURCE=http://gcc-ca.internet.bs/releases/gcc-$VERSION/gcc-$VERSION.tar.bz2

if [ ! -e gcc-$VERSION.tar.bz2 ]; then
wget -c $SOURCE
fi

# Slackware Flags per GCC
case $ARCH in
 "i686") SLKCFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer" ; SLKLIBDIR=lib ; CHOST=i486 ;;
 "x86_64_slamd64") SLKCFLAGS="athlon64 -O2 -pipe -msse3" ; SLKLIBDIR=lib64 ; CHOST=x86_64 ;; # Multilib /lib and /lib64
 "x86_64") SLKCFLAGS="athlon64 -O2 -pipe -msse3" ; SLKLIBDIR=lib ; CHOST=x86_64 ;; # Pure 64bit distro
 "x86") SLKCFLAGS="-march=athlon -O2 -pipe -msse3" ; SLKLIBDIR=lib ; CHOST=i686 ;;
esac

# Target per configure
TARGET=$CHOST-slackware-linux

# This is the main DESTDIR target:
PKG1=$TMP/package-gcc
# These are the directories to build other packages in:
PKG2=$TMP/package-gcc-g++
PKG3=$TMP/package-gcc-gfortran
PKG4=$TMP/package-gcc-gnat
PKG5=$TMP/package-gcc-java
PKG6=$TMP/package-gcc-objc
PKG7=$TMP/package-gcc-g++-gch

# Clear the build locations:
if [ -d $TMP ]; then
  rm -rf $TMP
fi
mkdir -p $PKG{1,2,3,4,5,6,7}/usr/doc/gcc-$VERSION

# Insert package descriptions:
mkdir -p $PKG{1,2,3,4,5,6,7}/install
cat $CWD/slack-desc.gcc > $PKG1/install/slack-desc
cat $CWD/slack-desc.gcc-g++ > $PKG2/install/slack-desc
cat $CWD/slack-desc.gcc-gfortran > $PKG3/install/slack-desc
cat $CWD/slack-desc.gcc-gnat > $PKG4/install/slack-desc
cat $CWD/slack-desc.gcc-java > $PKG5/install/slack-desc
cat $CWD/slack-desc.gcc-objc > $PKG6/install/slack-desc
# cat $CWD/slack-desc.gcc-g++-gch > $PKG7/install/slack-desc

# Estrazione sorgenti
cd $TMP
tar xjvf $CWD/gcc-$VERSION.tar.bz2

# Documentazione
cd gcc-$VERSION
 
# Smite the fixincludes:
#  zcat $CWD/gcc-no_fixincludes.diff.gz | patch -p1 || exit 1

# Cambiare i permessi
  chown -R root:root
  find . -perm 777 -exec chmod 755 {} \;
  find . -perm 775 -exec chmod 755 {} \;
  find . -perm 754 -exec chmod 755 {} \;
  find . -perm 664 -exec chmod 644 {} \;
  mkdir -p $PKG1/usr/doc/gcc-$VERSION
  
  # Only the most recent ChangeLog... shouldn't be too big. :)
  cp -a COPYING* ChangeLog ChangeLog.tree-ssa LAST_UPDATED MAINTAINERS NEWS README* $PKG1/usr/doc/gcc-$VERSION

(
  mkdir -p $PKG1/usr/doc/gcc-${VERSION}/gcc
  ( cd gcc
    cp -a ABOUT* COPYING* LANG* ONEWS README* $PKG1/usr/doc/gcc-$VERSION/gcc
         
    mkdir -p $PKG3/usr/doc/gcc-${VERSION}/gcc/fortran
    ( cd fortran
      cp -a ChangeLog $PKG3/usr/doc/gcc-$VERSION/gcc/fortran/ChangeLog
    )

    mkdir -p $PKG4/usr/doc/gcc-${VERSION}/gcc/ada
    ( cd ada
      cp -a ChangeLog ChangeLog.tree-ssa $PKG4/usr/doc/gcc-$VERSION/gcc/ada
    )

    mkdir -p $PKG5/usr/doc/gcc-${VERSION}/gcc/java
    ( cd java
      cp -a ChangeLog ChangeLog.tree-ssa $PKG5/usr/doc/gcc-${VERSION}/gcc/java
    )
  
    mkdir -p $PKG6/usr/doc/gcc-${VERSION}/gcc/objc
    ( cd objc
      cp -a ChangeLog README $PKG6/usr/doc/gcc-${VERSION}/gcc/objc
    )
  )

  mkdir -p $PKG3/usr/doc/gcc-${VERSION}/libgfortran
  ( cd libgfortran
    cp -a ChangeLog $PKG3/usr/doc/gcc-${VERSION}/libgfortran/ChangeLog
  )

  mkdir -p $PKG3/usr/doc/gcc-${VERSION}/libada
  ( cd libada
    cp -a ChangeLog $PKG3/usr/doc/gcc-${VERSION}/libada
  )

  mkdir -p $PKG5/usr/doc/gcc-${VERSION}/libffi
  ( cd libffi
    cp -a ChangeLog ChangeLog.libgcj ChangeLog.v1 \
      LICENSE README $PKG5/usr/doc/gcc-${VERSION}/libffi
  )

  mkdir -p $PKG5/usr/doc/gcc-${VERSION}/libjava
  ( cd libjava
    cp -a COPYING* ChangeLog HACKING LIBGCJ_LICENSE NEWS README THANKS $PKG5/usr/doc/gcc-${VERSION}/libjava
  )

  mkdir -p $PKG1/usr/doc/gcc-${VERSION}/libmudflap
  ( cd libmudflap
    cp -a ChangeLog $PKG1/usr/doc/gcc-${VERSION}/libmudflap
  )

  mkdir -p $PKG1/usr/doc/gcc-${VERSION}/libgomp
  ( cd libgomp
    cp -a ChangeLog $PKG1/usr/doc/gcc-${VERSION}/libgomp
  )
  
  mkdir -p $PKG6/usr/doc/gcc-${VERSION}/libobjc
  ( cd libobjc
    cp -a ChangeLog README README.threads THREADS THREADS.MACH $PKG6/usr/doc/gcc-${VERSION}/libobjc
  )
    
  mkdir -p $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3
  ( cd libstdc++-v3
    cp -a ChangeLog README $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3
    
    cp -a docs/html/faq $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3
  )
)

# build gcc
# ( mkdir gcc.build.lnx;
# cd gcc.build.lnx;

  # If enough people need "treelang" support for it may be considered.
  #  --enable-languages=ada,c,c++,fortran,java,objc,treelang
  # I think it's incorrect to include this option (as it'll end up set
  # to i486 on x86 platforms), and we want to tune the binary structure
  # for i686, as that's where almost all of the optimization speedups
  # are to be found.
  # Correct me if my take on this is wrong.
  #  --with-cpu=$ARCH 
  
  CFLAGS="$SLKCFLAGS" \
  CXXFLAGS="$SLKCFLAGS" \
  ../gcc-$VERSION/configure --prefix=/usr \
     --enable-shared \
     --enable-languages=ada,c,c++,fortran,java,objc \
     --enable-threads=posix \
     --enable-__cxa_atexit \
     --disable-checking \
     --with-gnu-ld \
     --verbose \
     --with-arch=$ARCH \
     --target=${TARGET} \
     --host=${TARGET}

  # Start the build:

  # Include all debugging info (for now):
  make -j3 bootstrap;

  ( cd gcc
    make -j3 gnatlib GNATLIBCFLAGS="$SLKCFLAGS"
    # This wants a shared -ladd2line?
    make gnatlib-shared
    
    CFLAGS="$SLKCFLAGS" \
    CXXFLAGS="$SLKCFLAGS" \
    make -j3 gnattools
  )
  make info

  # Set GCCCHECK=something to run the tests
  if [ ! -z $GCCCHECK ]; then
    make -j3 check
  fi

  make install DESTDIR=$PKG1

# Be sure the "specs" file is installed.
if [ ! -r $PKG1/usr/lib/gcc/${ARCH}-slackware-linux/${VERSION}/specs ]; then
  cat stage1-gcc/specs > $PKG1/usr/lib/gcc/${ARCH}-slackware-linux/${VERSION}/specs
fi

#  make ada.install-common DESTDIR=$PKG1
#  make install-gnatlib DESTDIR=$PKG1
  make -i install-info DESTDIR=$PKG1

  chmod 755 $PKG1/usr/lib/libgcc_s.so.1

  # This is provided by binutils, so delete it here:
  rm -f $PKG1/usr/lib/libiberty.a

  # Fix stuff up:
  ( cd $PKG1/usr/info ; rm dir ; gzip -9 * )
  ( cd $PKG1
    mkdir -p lib
    cd lib
    ln -sf /usr/bin/cpp .
  )
  ( cd $PKG1/usr/bin
    mv g++ g++-gcc-$VERSION
    mv gcc gcc-$VERSION
    mv ${TARGET}-gfortran gfortran-gcc-$VERSION
    ln -sf g++-gcc-$VERSION g++
    ln -sf gcc-$VERSION gcc
    ln -sf g++ c++
    ln -sf gcc cc
    ln -sf gcc-$VERSION ${TARGET}-gcc
    ln -sf gcc-$VERSION ${TARGET}-gcc-$VERSION
    ln -sf gcj ${TARGET}-gcj
    ln -sf gcjh ${TARGET}-gcjh
    ln -sf g++-gcc-$VERSION ${TARGET}-c++
    ln -sf g++-gcc-$VERSION ${TARGET}-g++
    ln -sf gfortran-gcc-$VERSION gfortran
    ln -sf gfortran-gcc-$VERSION ${TARGET}-gfortran
    ln -sf gfortran-gcc-$VERSION ${TARGET}-gfortran-$VERSION
    ln -sf gfortran-gcc-$VERSION ${TARGET}-g95
    ln -sf gfortran g95
    ln -sf gfortran f95
    ln -sf gfortran-gcc-$VERSION ${TARGET}-g77
    ln -sf gfortran g77
    ln -sf gfortran f77
  )
  ( cd $PKG1/usr/man
    gzip -9 */*
    cd man1
    ln -sf g++.1.gz c++.1.gz
    ln -sf gcc.1.gz cc.1.gz
  )  

# Ottenere il log
( 2>&1 | tee $CWD/../gcc.build.log
)

# gcc-g++:
( cd $PKG2
  mkdir -p usr/bin
  mv $PKG1/usr/bin/*++* usr/bin
  mkdir -p usr/include
  mv $PKG1/usr/include/c++ usr/include
  mkdir -p usr/lib
  mv $PKG1/usr/lib/*++* usr/lib
  mkdir -p usr/libexec/gcc/$TARGET/$VERSION
  mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/cc1plus usr/libexec/gcc/$TARGET/$VERSION/cc1plus
  mkdir -p usr/man/man1
  mv $PKG1/usr/man/man1/*++* usr/man/man1
)

# gcc-gfortran:
( cd $PKG3
  mkdir -p usr/bin
  mv $PKG1/usr/bin/*gfortran* usr/bin
  mv $PKG1/usr/bin/*95* usr/bin
  mv $PKG1/usr/bin/*77* usr/bin
  # Doesn't this seem like a logical idea?
  ( cd usr/bin ; ln -sf gfortran-gcc-${VERSION} fortran )
  mkdir -p usr/info
  mv $PKG1/usr/info/gfortran* usr/info
  mkdir -p usr/lib
  mv $PKG1/usr/lib/libgfortran* usr/lib
  mkdir -p usr/lib/gcc/$TARGET/$VERSION
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/finclude usr/lib/gcc/$TARGET/$VERSION
  mkdir -p usr/libexec/gcc/$TARGET/$VERSION
  mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/f951 usr/libexec/gcc/$TARGET/$VERSION/f951
  mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/libgfortran* usr/libexec/gcc/$TARGET/$VERSION
  mkdir -p usr/man/man1
  mv $PKG1/usr/man/man1/gfortran* usr/man/man1
)

# gcc-gnat:
( cd $PKG4
  mkdir -p usr/bin
  mv $PKG1/usr/bin/gnat* usr/bin
  mv $PKG1/usr/bin/gpr* usr/bin
  mkdir -p usr/info
  mv $PKG1/usr/info/gnat* usr/info
  mkdir -p usr/libexec/gcc/$TARGET/$VERSION
  mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/gnat1 usr/libexec/gcc/$TARGET/$VERSION
  mkdir -p usr/lib/gcc/$TARGET/$VERSION
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/adainclude usr/lib/gcc/$TARGET/$VERSION
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/adalib usr/lib/gcc/$TARGET/$VERSION
)

# gcc-java:
( cd $PKG5
  mkdir -p usr/bin
  mv $PKG1/usr/bin/addr2name.awk usr/bin
  # mv $PKG1/usr/bin/fastjar usr/bin
  mv $PKG1/usr/bin/gappletviewer usr/bin
  mv $PKG1/usr/bin/*gcj* usr/bin
  mv $PKG1/usr/bin/gij usr/bin
  mv $PKG1/usr/bin/gjarsigner usr/bin
  mv $PKG1/usr/bin/gjnih usr/bin
  mv $PKG1/usr/bin/gkeytool usr/bin
  mv $PKG1/usr/bin/grepjar usr/bin
  mv $PKG1/usr/bin/grmic usr/bin
  mv $PKG1/usr/bin/grmiregistry usr/bin
  mv $PKG1/usr/bin/jar usr/bin
  mv $PKG1/usr/bin/jcf-dump usr/bin
  mv $PKG1/usr/bin/jv-* usr/bin
  mv $PKG1/usr/bin/rmi* usr/bin
  mkdir -p usr/include
  mv $PKG1/usr/include/ffi.h usr/include
  mkdir -p usr/lib/gcc/$TARGET/$VERSION/include
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/include/jawt.h usr/lib/gcc/$TARGET/$VERSION/include
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/include/ffi.h usr/lib/gcc/$TARGET/$VERSION/include
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/include/ffitarget.h usr/lib/gcc/$TARGET/$VERSION/include
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/include/jawt_md.h usr/lib/gcc/$TARGET/$VERSION/include
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/include/jni.h usr/lib/gcc/$TARGET/$VERSION/include
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/include/jni_md.h usr/lib/gcc/$TARGET/$VERSION/include
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/include/jvmpi.h usr/lib/gcc/$TARGET/$VERSION/include
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/include/libffi usr/lib/gcc/$TARGET/$VERSION/include
  mkdir -p usr/info
  mv $PKG1/usr/info/gcj.* usr/info
  # mv $PKG1/usr/info/fastjar.* usr/info
  mkdir -p usr/lib
  mv $PKG1/usr/lib/libffi* usr/lib
  mv $PKG1/usr/lib/gcj* usr/lib
  mv $PKG1/usr/lib/libgcj* usr/lib
  mv $PKG1/usr/lib/libgij* usr/lib
  mv $PKG1/usr/lib/lib-org* usr/lib
  mv $PKG1/usr/lib/security usr/lib
  mkdir -p usr/lib/pkgconfig
  mv $PKG1/usr/lib/pkgconfig/libgcj*.pc usr/lib/pkgconfig
  rmdir $PKG1/usr/lib/pkgconfig 2> /dev/null
  mkdir -p usr/libexec/gcc/$TARGET/$VERSION
  mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/jc1 usr/libexec/gcc/$TARGET/$VERSION
  mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/jvgenmain usr/libexec/gcc/$TARGET/$VERSION
  mkdir -p usr/lib/gcc/$TARGET/$VERSION/include
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/include/gcj usr/lib/gcc/$TARGET/$VERSION/include
  mkdir -p usr/man/man1
  mv $PKG1/usr/man/man1/gcj.1.gz usr/man/man1
  mv $PKG1/usr/man/man1/gcjh.1.gz usr/man/man1
  mv $PKG1/usr/man/man1/gcj-dbtool.1.gz usr/man/man1
  mv $PKG1/usr/man/man1/gij.1.gz usr/man/man1
  mv $PKG1/usr/man/man1/gjnih.1.gz usr/man/man1
  mv $PKG1/usr/man/man1/grmic.1.gz usr/man/man1
  mv $PKG1/usr/man/man1/grmiregistry.1.gz usr/man/man1
  mv $PKG1/usr/man/man1/jcf-dump.1.gz usr/man/man1
  mv $PKG1/usr/man/man1/jv-convert.1.gz usr/man/man1
  mv $PKG1/usr/man/man1/jv-scan.1.gz usr/man/man1
  mkdir -p usr/share
  mv $PKG1/usr/share/java usr/share
)

# gcc-objc:
( cd $PKG6
  mkdir -p usr/lib
  mv $PKG1/usr/lib/libobjc* usr/lib
  mkdir -p usr/libexec/gcc/$TARGET/$VERSION
  mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/cc1obj usr/libexec/gcc/$TARGET/$VERSION
  mkdir -p usr/lib/gcc/$TARGET/$VERSION/include
  mv $PKG1/usr/lib/gcc/$TARGET/$VERSION/include/objc usr/lib/gcc/$TARGET/$VERSION/include
)

## NOTE: Thought about this, because the precompiled headers are so large.
## Probably easier to keep everything together, though.
## gcc-g++-gch (precompiled c++ headers)
#( cd $PKG7
#  mkdir -p usr/include/c++/$VERSION/$TARGET/bits
#  mv $PKG2/usr/include/c++/$VERSION/$TARGET/bits/stdc++.h.gch usr/include/c++/$VERSION/$TARGET/bits
#)

# Filter all .la files (thanks much to Mark Post for the sed script):
( cd $TMP
  for file in $(find . -type f -name "*.la") ; do
    cat $file | sed -e 's%-L/gcc-[[:graph:]]* % %g' > $TMP/tmp-la-file
    cat $TMP/tmp-la-file > $file
  done
  rm $TMP/tmp-la-file
)

## Strip bloated binaries and libraries:
for dir in $PKG{1,2,3,4,5,6}; do
  ( cd $dir
    find . -name "lib*so*" -exec strip --strip-unneeded "{}" \;
    find . -name "lib*a" -exec strip -g "{}" \;
    strip --strip-unneeded usr/bin/* 2> /dev/null
    find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
    find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
  )
done

( cd $PKG1
  makepkg -l y -c n $CWD/../gcc-$VERSION-$ARCH-$BUILD.tgz )
( cd $PKG2
  makepkg -l y -c n $CWD/../gcc-g++-$VERSION-$ARCH-$BUILD.tgz )
( cd $PKG3
  makepkg -l y -c n $CWD/../gcc-gfortran-$VERSION-$ARCH-$BUILD.tgz )
( cd $PKG4
  makepkg -l y -c n $CWD/../gcc-gnat-$VERSION-$ARCH-$BUILD.tgz )
( cd $PKG5
  makepkg -l y -c n $CWD/../gcc-java-$VERSION-$ARCH-$BUILD.tgz )
( cd $PKG6
  makepkg -l y -c n $CWD/../gcc-objc-$VERSION-$ARCH-$BUILD.tgz )
#( cd $PKG7
#  makepkg -l y -c n $CWD/../gcc-g++-gch-$VERSION-$ARCH-$BUILD.tgz )

echo
echo "Slackware GCC package build complete!"
echo

Avatar utente
Yellowhat
Linux 2.x
Linux 2.x
Messaggi: 218
Iscritto il: mer 26 dic 2007, 16:58
Slackware: Current
Località: Modena

Re: Aggiornamento GCC

Messaggio da Yellowhat »

Finalmente sono riuscito a creare i pacchetti gcc ed installarli, il problema che avevo riguardava la riga:
--with-arch=$ARCH in --with-arch=$CHOST

Rispondi