View previous topic :: View next topic |
Author |
Message |
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4809 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Sat Mar 12, 2005 3:19 pm Post subject: [faq]L'aggiornamento del compilatore. |
|
|
In questo post mi sono preso un impegno superiore alle mie qualità tecniche, ma, d'altra parte, avevo notato che nessuno ancora si era posto il problema di scrivere questa faq.
Non sono un programmatore, e quindi temo di non essere esauriente, come vorrei.
Spero che altri esperti vogliano correggere, integrare o rielaborare completamente il testo che segue.
Una volta sistemato, lo metterei nelle faq, sezione amministrazione di sistema.
YhuHu! Lo hanno fatto.
Come ha fatto notare randomaze qui sotto, questo topic non è più attuale. Leggete la guida. _________________ vu vu vu
gentù
mi piaci tu
Last edited by cloc3 on Mon Jan 09, 2006 10:16 am; edited 1 time in total |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4809 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Sat Mar 12, 2005 3:19 pm Post subject: |
|
|
Ogni volta, dopo la pubblicazione di una versione aggiornata di gcc, compaiono sul forum (spesso con notevole ritardo temporale) richieste di consulenza per errori di compilazione.
Un howto autorevole che affronta la questione è stato scritto da motaboy, in questo post. Un altro è sul wiki in lingua inglese.
Qui mi voglio occupare di un problema circoscritto, e molto più banale.
Solitamente, si associa a errori simili a questo:
Code: |
libtool: link: `/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la' is not a valid libtool archive
|
Di conseguenza, diventa quasi impossibile qualunque ulteriore aggiornamento del sistema.
*** Qui servirebbe una breve spiegazione o un approfondimento ***.
In questi casi, bisogna fare ricorso al comando fix_libtool_files.sh:
Code: |
cloc3@gentoo-amd ~ $ qpkg -fp fix_libtool_files.sh
sys-devel/gcc *
|
Chiamandolo senza argomenti si ottiene un help sull'utilizzo.
L'argomento necessario è la versione vecchie delle librerie del compilatore.
Nel mio caso, ad esempio:
Code: |
cloc3@gentoo-amd ~ $ ls /usr/lib/gcc/i686-pc-linux-gnu/
3.3.4/ 3.4.3/
|
Dovrei dare:
Code: |
fix_libtool_files.sh 3.3.4
|
Dopo di ciò, tutti i problemi precedenti scompaiono d'incanto. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Sun Oct 09, 2005 10:40 am Post subject: |
|
|
Salve,
Riesumo questo vecchio post perchè ho un piccolo problema e cercando nel forum mi pare di capire che sia molto attinente all'argomento trattato in questa faq.
Questo è l'errore che mi da quando tento di aggiornare k3b alla versione 0.12.4a:
Code: | -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fpermissive -c -o k3bcdtext.lo `test -f 'k3bcdtext.cpp' || echo './'`k3bcdtext.cpp
/bin/sh ../libtool --silent --mode=link --tag=CXX i686-pc-linux-gnu-g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -Os -march=pentium4 -fomit-frame-pointer -pipe -mmmx -msse2 -mfpmath=sse -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -fpermissive -o libk3bdevice.la -rpath /usr/lib -L/usr/kde/3.4/lib -L/usr/qt/3/lib -L/usr/lib -version-info 2:0:0 -no-undefined k3bdevice.lo k3bdevice_mmc.lo k3bscsicommand.lo k3btrack.lo k3btoc.lo k3bdevicemanager.lo k3bmsf.lo k3bdiskinfo.lo k3bdeviceglobals.lo k3bcrc.lo k3bcdtext.lo -lkio -lm -L/usr/kde/3.4/lib -L/usr/qt/3/lib -L/usr/lib
grep: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.la: No such file or directory
/bin/sed: can't read /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.la: No such file or directory
libtool: link: `/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.la' is not a valid libtool archive
make[2]: *** [libk3bdevice.la] Error 1
make[2]: Leaving directory `/var/tmp/portage/k3b-0.12.4a/work/k3b-0.12.4a/libk3bdevice'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/k3b-0.12.4a/work/k3b-0.12.4a'
make: *** [all] Error 2
|
Recentemente ho aggiornato gcc da sys-devel/gcc-3.3.5.20050130-r1 a sys-devel/gcc-3.3.6, seguendo questa faq ho provato a dare:
Code: | # fix_libtool_files.sh 3.3.5
# fix_libtool_files.sh 3.3.5-20050130
# fix_libtool_files.sh 3.3.5.20050130
|
Tutti e tre mi danno questo output:
Code: | * Scanning libtool files for hardcoded gcc library paths...
* [1/8] Scanning /lib ...
* [2/8] Scanning /usr/lib ...
* [3/8] Scanning /opt/blackdown-jdk-1.4.2.02/jre/lib/i386 ...
* [4/8] Scanning /usr/games/lib ...
* [5/8] Scanning /usr/i686-pc-linux-gnu/lib ...
* [6/8] Scanning //usr/lib/opengl/nvidia/lib ...
* [7/8] Scanning /usr/local/lib ...
* [8/8] Scanning /usr/qt/3/lib ...
|
Dopo aver eseguito questi comandi provando a riemergere k3b ma purtroppo l'errore è sempre lo stesso.
Questo è l'output di gcc-config:
Code: | Panther ~ # gcc-config -l
[1] i686-pc-linux-gnu-3.3.6 *
[2] i686-pc-linux-gnu-3.3.6-hardened
[3] i686-pc-linux-gnu-3.3.6-hardenednopie
[4] i686-pc-linux-gnu-3.3.6-hardenednopiessp
[5] i686-pc-linux-gnu-3.3.6-hardenednossp
Panther ~ #
|
Questo invece è l'output di emerge --info:
Code: | Portage 2.0.51.22-r3 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r2, 2.6.13-gentoo-r3 i686)
=================================================================
System uname: 2.6.13-gentoo-r3 i686 Intel(R) Pentium(R) 4 CPU 2.66GHz
Gentoo Base System version 1.6.13
dev-lang/python: 2.3.5-r2, 2.4.1-r1
sys-apps/sandbox: 1.2.12
sys-devel/autoconf: 2.13, 2.59-r6
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils: 2.15.92.0.2-r10
sys-devel/libtool: 1.5.18-r1
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=pentium4 -fomit-frame-pointer -pipe -mmmx -msse2 -mfpmath=sse"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d"
CXXFLAGS="-Os -march=pentium4 -fomit-frame-pointer -pipe -mmmx -msse2 -mfpmath=sse"
DISTDIR="/mnt/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.unina.it/pub/linux/distributions/gentoo http://pandemonium.tiscali.de/pub/gentoo/ http://mir.zyrianes.net/gentoo/"
LANG="it_IT@euro"
LINGUAS="it"
PKGDIR="/mnt/backup/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 X acpi alsa avi bash-completion berkdb bitmap-fonts cdr crypt cups curl dvd dvdr emboss encode foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 howl imagemagick imlib java jpeg libg++ libwww mad mikmod mmx motif mp3 mpeg ncurses nls ogg oggvorbis opengl pam pdflib perl png python quicktime readline samba sdl slang spell sse sse2 ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts vorbis xine xml2 xmms xv zlib linguas_it userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS, MAKEOPTS
|
Spero di aver dato tutte le informazioni necessarie e che qualcuno sia in grado di aiutarmi. |
|
Back to top |
|
|
fabius Guru
Joined: 29 Nov 2004 Posts: 525
|
Posted: Sun Oct 09, 2005 8:08 pm Post subject: |
|
|
ricompila libtool |
|
Back to top |
|
|
N|ghTm4r3 n00b
Joined: 27 Oct 2004 Posts: 70 Location: Urbe(Roma), Italy
|
Posted: Sun Oct 09, 2005 10:10 pm Post subject: |
|
|
fabius wrote: | ricompila libtool |
quoto
Prova anche con:
Code: | # revdep-rebuild -p |
_________________ Gentoo: The Power Of Gods |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Mon Oct 10, 2005 11:40 am Post subject: |
|
|
fabius wrote: | ricompila libtool |
Nulla da fare, k3b da sempre lo stesso errore
N|ghTm4r3 wrote: | Prova anche con:
Code: | # revdep-rebuild -p |
|
Mi segnala solo questi pacchetti, credo sia inutile reinstallarli:
Code: | Calculating dependencies ...done!
[ebuild R ] app-office/openoffice-bin-2.0.0_rc2
[ebuild R ] games-sports/racer-bin-0.5.0-r1
[ebuild R ] www-client/mozilla-firefox-bin-1.0.7
|
|
|
Back to top |
|
|
N|ghTm4r3 n00b
Joined: 27 Oct 2004 Posts: 70 Location: Urbe(Roma), Italy
|
Posted: Mon Oct 10, 2005 1:53 pm Post subject: |
|
|
In questo modo dovresti risolvere, cmq prendila come soluzione temporanea...
Code: | cd /usr/lib/gcc-lib/i686-pc-linux-gnu/
ln -s 3.3.6/libstdc++.la 3.3.5-20050130/libstdc++.la |
_________________ Gentoo: The Power Of Gods |
|
Back to top |
|
|
fabius Guru
Joined: 29 Nov 2004 Posts: 525
|
Posted: Mon Oct 10, 2005 5:55 pm Post subject: |
|
|
Luca89 wrote: | fabius wrote: | ricompila libtool |
Nulla da fare, k3b da sempre lo stesso errore
|
Scusa, mi ero confuso con un altro errore. Cosa ti dà
Code: | find /usr/kde/3.4/lib/ -iname \*.la -exec grep -l 3.3.5 \{\} \;
find /usr/qt/3/lib/ -iname \*.la -exec grep -l 3.3.5 \{\} \;
find /usr/lib/ -iname \*.la -exec grep -l 3.3.5 \{\} \; |
Dovresti trovare dei riferimenti al vecchio gcc. Se ci sono, ricompila i pacchetti che contengono le librerie riportate dai comandi precedenti |
|
Back to top |
|
|
fabius Guru
Joined: 29 Nov 2004 Posts: 525
|
Posted: Mon Oct 10, 2005 5:56 pm Post subject: |
|
|
N|ghTm4r3 wrote: | In questo modo dovresti risolvere, cmq prendila come soluzione temporanea... |
Effettivamente è meglio risolvere i problemi alla radice |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Mon Oct 10, 2005 7:07 pm Post subject: |
|
|
fabius wrote: |
Scusa, mi ero confuso con un altro errore. Cosa ti dà
Code: | find /usr/kde/3.4/lib/ -iname \*.la -exec grep -l 3.3.5 \{\} \;
find /usr/qt/3/lib/ -iname \*.la -exec grep -l 3.3.5 \{\} \;
find /usr/lib/ -iname \*.la -exec grep -l 3.3.5 \{\} \; |
Dovresti trovare dei riferimenti al vecchio gcc. Se ci sono, ricompila i pacchetti che contengono le librerie riportate dai comandi precedenti |
Ecco qui cosa mi esce:
Code: | luca@Panther ~ $ sh <<EOF
> find /usr/kde/3.4/lib/ -iname \*.la -exec grep -l 3.3.5 \{\} \;
> find /usr/qt/3/lib/ -iname \*.la -exec grep -l 3.3.5 \{\} \;
> find /usr/lib/ -iname \*.la -exec grep -l 3.3.5 \{\} \;
> EOF
/usr/kde/3.4/lib/libkabc_ldapkio.la
/usr/kde/3.4/lib/kde3/kdeprint_ext.la
/usr/kde/3.4/lib/kde3/kspell_ispell.la
/usr/kde/3.4/lib/kde3/kded_kpasswdserver.la
/usr/kde/3.4/lib/kde3/kaddprinterwizard.la
/usr/kde/3.4/lib/kde3/kded_kdetrayproxy.la
/usr/kde/3.4/lib/kde3/kded.la
/usr/kde/3.4/lib/kde3/kabc_net.la
/usr/kde/3.4/lib/kde3/kdeprint_lpr.la
/usr/kde/3.4/lib/kde3/kdeprint_tool_escputil.la
/usr/kde/3.4/lib/kde3/libkatepart.la
/usr/kde/3.4/lib/kde3/kwin3_smoothblend.la
/usr/kde/3.4/lib/kde3/kconf_update.la
/usr/kde/3.4/lib/kde3/kio_help.la
/usr/kde/3.4/lib/kde3/libshellscript.la
/usr/kde/3.4/lib/kde3/kded_proxyscout.la
/usr/kde/3.4/lib/kde3/kbuildsycoca.la
/usr/kde/3.4/lib/kde3/kcm_kresources.la
/usr/kde/3.4/lib/kde3/kgzipfilter.la
/usr/kde/3.4/lib/kde3/kio_http.la
/usr/kde/3.4/lib/kde3/kded_kssld.la
/usr/kde/3.4/lib/kde3/kio_uiserver.la
/usr/kde/3.4/lib/kde3/kio_metainfo.la
/usr/kde/3.4/lib/kde3/kspell_aspell.la
/usr/kde/3.4/lib/kde3/ktexteditor_insertfile.la
/usr/kde/3.4/lib/kde3/kio_ftp.la
/usr/kde/3.4/lib/kde3/kabc_ldapkio.la
/usr/kde/3.4/lib/kde3/kjavaappletviewer.la
/usr/kde/3.4/lib/kde3/kimg_dds.la
/usr/kde/3.4/lib/kde3/ktexteditor_isearch.la
/usr/kde/3.4/lib/kde3/kimg_eps.la
/usr/kde/3.4/lib/kde3/klauncher.la
/usr/kde/3.4/lib/kde3/kabcformat_binary.la
/usr/kde/3.4/lib/kde3/kimg_ico.la
/usr/kde/3.4/lib/kde3/kded_kdeprintd.la
/usr/kde/3.4/lib/kde3/libkhtmlpart.la
/usr/kde/3.4/lib/kde3/kcmshell.la
/usr/kde/3.4/lib/kde3/kded_kcookiejar.la
/usr/kde/3.4/lib/kde3/kio_ghelp.la
/usr/kde/3.4/lib/kde3/kded_kwalletd.la
/usr/kde/3.4/lib/kde3/kdeprint_lpdunix.la
/usr/kde/3.4/lib/kde3/kimg_pcx.la
/usr/kde/3.4/lib/kde3/kimg_psd.la
/usr/kde/3.4/lib/kde3/ktexteditor_docwordcompletion.la
/usr/kde/3.4/lib/kde3/kimg_rgb.la
/usr/kde/3.4/lib/kde3/kimg_tiff.la
/usr/kde/3.4/lib/kde3/kimg_xview.la
/usr/kde/3.4/lib/kde3/kimg_tga.la
/usr/kde/3.4/lib/kde3/kio_http_cache_cleaner.la
/usr/kde/3.4/lib/kde3/kabc_file.la
/usr/kde/3.4/lib/kde3/ktexteditor_kdatatool.la
/usr/kde/3.4/lib/kde3/khtmlimagepart.la
/usr/kde/3.4/lib/kde3/kimg_xcf.la
/usr/kde/3.4/lib/kde3/kdeprint_rlpr.la
/usr/kde/3.4/lib/kde3/dcopserver.la
/usr/kde/3.4/lib/kde3/libkdeprint_management_module.la
/usr/kde/3.4/lib/kde3/kbzip2filter.la
/usr/kde/3.4/lib/kde3/kstyle_plastik_config.la
/usr/kde/3.4/lib/kde3/libkmultipart.la
/usr/kde/3.4/lib/kde3/plugins/styles/highcolor.la
/usr/kde/3.4/lib/kde3/plugins/styles/plastik.la
/usr/kde/3.4/lib/kde3/plugins/styles/keramik.la
/usr/kde/3.4/lib/kde3/plugins/styles/highcontrast.la
/usr/kde/3.4/lib/kde3/plugins/styles/light.la
/usr/kde/3.4/lib/kde3/plugins/styles/kthemestyle.la
/usr/kde/3.4/lib/kde3/plugins/designer/kdewidgets.la
/usr/kde/3.4/lib/kde3/kio_file.la
/usr/kde/3.4/lib/kde3/kwin_smoothblend_config.la
/usr/kde/3.4/lib/kde3/kabc_dir.la
/usr/kde/3.4/lib/kde3/kcookiejar.la
/usr/kde/3.4/lib/kde3/libkcertpart.la
/usr/kde/3.4/lib/libkjava.la
/usr/kde/3.4/lib/libkabc_file.la
/usr/kde/3.4/lib/libkdeinit_kcookiejar.la
/usr/kde/3.4/lib/libkio.la
/usr/kde/3.4/lib/libkjs.la
/usr/kde/3.4/lib/libkparts.la
/usr/kde/3.4/lib/libkabc_dir.la
/usr/kde/3.4/lib/libknewstuff.la
/usr/kde/3.4/lib/libkdeprint_management.la
/usr/kde/3.4/lib/libkwalletbackend.la
/usr/kde/3.4/lib/libkimproxy.la
/usr/kde/3.4/lib/libkdefx.la
/usr/kde/3.4/lib/libkdesu.la
/usr/kde/3.4/lib/libkdeui.la
/usr/kde/3.4/lib/libkdeinit_kaddprinterwizard.la
/usr/kde/3.4/lib/libkdeinit_kconf_update.la
/usr/kde/3.4/lib/libkspell2.la
/usr/kde/3.4/lib/libkscript.la
/usr/kde/3.4/lib/libkabc_net.la
/usr/kde/3.4/lib/libkdeprint.la
/usr/kde/3.4/lib/libkdeinit_kbuildsycoca.la
/usr/kde/3.4/lib/libkdeinit_klauncher.la
/usr/kde/3.4/lib/libktexteditor.la
/usr/kde/3.4/lib/libkmdi2.la
/usr/kde/3.4/lib/libkdeinit_kio_http_cache_cleaner.la
/usr/kde/3.4/lib/libkdeinit_kio_uiserver.la
/usr/kde/3.4/lib/libkscreensaver.la
/usr/kde/3.4/lib/libDCOP.la
/usr/kde/3.4/lib/libkatepartinterfaces.la
/usr/kde/3.4/lib/libkresources.la
/usr/kde/3.4/lib/libvcard.la
/usr/kde/3.4/lib/libkabc.la
/usr/kde/3.4/lib/libkdecore.la
/usr/kde/3.4/lib/libkmediaplayer.la
/usr/kde/3.4/lib/libkdeinit_kcmshell.la
/usr/kde/3.4/lib/libkutils.la
/usr/kde/3.4/lib/libkdnssd.la
/usr/kde/3.4/lib/libkmdi.la
/usr/kde/3.4/lib/libkntlm.la
/usr/kde/3.4/lib/libkmid.la
/usr/kde/3.4/lib/libkdesasl.la
/usr/kde/3.4/lib/libkdeinit_kded.la
/usr/kde/3.4/lib/libkspell.la
/usr/kde/3.4/lib/libkwalletclient.la
/usr/kde/3.4/lib/libkdeinit_dcopserver.la
/usr/kde/3.4/lib/libkhtml.la
luca@Panther ~ $
|
Credo proprio che il pacchetto incriminato siano le kdelibs, come soluzione però ho preferito il workaround di N|ghTm4r3 perchè non avevo voglia di ricompilare le kdelibs solo per k3b. Vi ringrazio tutti e due per l'interessamento |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Mon Jan 09, 2006 9:04 am Post subject: |
|
|
Moved from Forum italiano (Italian) to Documentazione italiana.
Anche se si tratta comunque di un interessante lettura questo post é stato reso obsoleto dalla guida Guida all'aggiornamento di GCC per Gentoo Linux. _________________ Ciao da me! |
|
Back to top |
|
|
|