Portál AbcLinuxu, 12. května 2025 10:25

Dotaz: GCC4a problémy

David Watzke avatar 22.11.2005 20:58 David Watzke | skóre: 74 | blog: Blog... | Praha
GCC4a problémy
Přečteno: 135×
Odpovědět | Admin
Nedávno jsem psal do blogu o svém upgrade na GCC4. To nebyl zrovna nejchytřejší krok. No to je jedno. Důležitý je, že jsem toho šmejda vyhodil (failovaly kvůli němu kompilace i s 3.4.4kou) a nechal jen 3.4.4. Ale už dost (i systémových) věcí bylo zkompilováno s 4.0.2. Teď mi kompilace libkcal končí:
grep: /usr/lib/gcc/x86_64-pc-linux-gnu/4.0.2/libstdc++.la: No such file or directory
/bin/sed: can't read /usr/lib/gcc/x86_64-pc-linux-gnu/4.0.2/libstdc++.la: No such file or directory
libtool: link: `/usr/lib/gcc/x86_64-pc-linux-gnu/4.0.2/libstdc++.la' is not a valid libtool archive
Remergnul jsem grep, gawk, coreutils, libtool a nepomohlo to. Co s tím prosím vás ještě souvisí?
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.11.2005 21:03 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: GCC4a problémy
Odpovědět | | Sbalit | Link | Blokovat | Admin
emerge -e world (system) nepomáhá?
David Watzke avatar 22.11.2005 21:07 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GCC4a problémy
Nemám ponětí, ale máš ponětí jak dlouho by to trvalo? To až v krajním v případě. Mohl bych to pustit než půjdu spát a ono by se to než se vrátím ze školy určitě dodělalo (ten system, world asi ne).
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
22.11.2005 21:04 #Tom
Rozbalit Rozbalit vše Osudová chyba?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kde všude je v systému o GCC 4.0.2 zmínka? To bude klíč k řešení.
David Watzke avatar 22.11.2005 21:14 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Osudová chyba?
Prohledal jsem /etc kfindem pod rootem (já vím, jsem barbar :-D). V profile.csh byla jen nějaká cesta. Jinak nic.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
22.11.2005 21:20 #Tom
Rozbalit Rozbalit vše Re: Osudová chyba?
Já nejradši hledám Midnight Commanderem, takže nic proti kfindu. :-) Jen mám pocit, že /etc nestači. To spíš /usr. Řekl bych, že by tam mohly být nějaké zbytky GCC 4, které linkeru našeptávají špatnou cestu. Mimochodem, jak jde přeložit jednoduchý program v C (gcc -o program program.c) a C++ (g++ -o program program.cc)? Jako zdroják stačí toto:
int main() {
  return 0;
}
David Watzke avatar 22.11.2005 21:31 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Osudová chyba?
Ajaj.. Prohledám to. Hele:
$ gcc -o cc cc.cc
/tmp/ccaoWqxa.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 22.11.2005 21:35 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Osudová chyba?
Jo a Céčkovej program zkompiluje bez problémů.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
22.11.2005 21:41 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: Osudová chyba?
g++ -o cc cc.cc
David Watzke avatar 22.11.2005 22:16 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Osudová chyba?
No jo... to funguje. Já jsem popleta. KFind nenašel nic, co by nějak ovlivňovalo compiler. Ale teď jsem si vzpomněl, že jsem kompiloval jádro s 4.0.2. To bude možná ono. Už se rekompiluje. Bojím se to restartovat.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Luboš Doležel (Doli) avatar 22.11.2005 22:14 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: GCC4a problémy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hmm, co třeba
fix_libtool_files.sh
David Watzke avatar 22.11.2005 22:20 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GCC4a problémy
Rozjel jsem fix_libtool_files.sh 4.0.2. Podle všeho opravil hafo věcí. Za chvíli se uvidí.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 22.11.2005 22:34 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GCC4a problémy
RESOLVED FIXED! Díky moc!
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
22.11.2005 22:39 #Tom
Rozbalit Rozbalit vše Re: GCC4a problémy
Čistě pro zajímavost - co ten skript vlastně dělá?
David Watzke avatar 22.11.2005 22:46 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GCC4a problémy
usage() {
cat >> "USAGE_END"
Usage: fix_libtool_files.sh >old-gcc-version< [--oldarch >old-CHOST<]

    Where >old-gcc-version< is the version number of the
    previous gcc version.  For example, if you updated to
    gcc-3.2.1, and you had gcc-3.2 installed, run:

      # fix_libtool_files.sh 3.2

    If you updated to gcc-3.2.3, and the old CHOST was i586-pc-linux-gnu
    but you now have CHOST as i686-pc-linux-gnu, run:

      # fix_libtool_files.sh 3.2 --oldarch i586-pc-linux-gnu

    Note that if only the CHOST and not the version changed, you can run
    it with the current version and the '--oldarch >old-CHOST<' arguments,
    and it will do the expected:

      # fix_libtool_files.sh `gcc -dumpversion` --oldarch i586-pc-linux-gnu

USAGE_END
        exit 1
}

if [[ $2 != "--oldarch" && $# -ne 1 ]] || \
   [[ $2 == "--oldarch" && $# -ne 3 ]]
then
        usage
fi

ARGV1=$1
ARGV2=$2
ARGV3=$3

source /etc/profile
source /sbin/functions.sh

if [[ ${EUID} -ne 0 ]] ; then
        eerror "${0##*/}: Must be root."
        exit 1
fi

# make sure the files come out sane
umask 0022

if [[ ${ARGV2} == "--oldarch" ]] && [[ -n ${ARGV3} ]] ; then
        OLDCHOST=${ARGV3}
else
        OLDCHOST=
fi

AWKDIR="/lib/rcscripts/awk"

if [[ ! -r ${AWKDIR}/fixlafiles.awk ]] ; then
        eerror "${0##*/}: ${AWKDIR}/fixlafiles.awk does not exist!"
        exit 1
fi

OLDVER=${ARGV1}

export OLDVER OLDCHOST

einfo "Scanning libtool files for hardcoded gcc library paths..."
/bin/gawk -f "${AWKDIR}/fixlafiles.awk"

# vim:ts=4
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 22.11.2005 22:49 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GCC4a problémy
A je součástí GCC, jaktože ho nemáš?
equery b fix_libtool_files.sh
[ Searching for file(s) fix_libtool_files.sh in *... ]
sys-devel/gcc-3.4.4-r1 (/sbin/fix_libtool_files.sh)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
22.11.2005 22:52 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: GCC4a problémy
Ne každý je Gentoo positivní ;-)
David Watzke avatar 22.11.2005 22:53 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GCC4a problémy
Máme nějakou extra GCC?
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
22.11.2005 22:55 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: GCC4a problémy
Prostě je v Gentoo ke gcc přibalený ten skript.
David Watzke avatar 22.11.2005 22:57 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GCC4a problémy
OK. To je dobře, zachránil mě.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
22.11.2005 22:59 #Tom
Rozbalit Rozbalit vše Re: GCC4a problémy
Na tom skriptu je zajímavý, že jsem z něj skoro nic nevyčetl. :-D Asi je všecko udělaný v tom awku.
David Watzke avatar 22.11.2005 23:02 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: GCC4a problémy
Asi. Já chápu jen výpis helpu. :-D
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.