You are not logged in.
I have been trying to compile GCC 4.3.2 from the ABS on Arch x86_64, however, the building
fails with the following error.
treelang/lex.c: In function 'yy_get_next_buffer':
treelang/lex.c:1327: warning: comparison between signed and unsigned
../../gcc/treelan/lex.l: In function 'update_lineno_charno':
../../gcc/treelang/lex.l:239: error: 'yylval' undeclared (first use in this function)
xgcc: treelang/parse.c: No such file or directory
xgcc: no input files
../../gcc/treelang/lex.l: In function 'update_yylval':
../../gcc/treelang/lex.l:266: error: 'yylval' undeclared (first use in this function)
../../gcc/treelang/lex.l: In function 'dump_lex_value';
make[3]: *** [treelang/parse.o] Error 1
make[3]: *** Waiting for unfinished jobs...
../../gcc/treelang/lex.l:285: error: 'yylval' undeclared (first use in this function)
make[3]: *** [treelang/lex.o] Error 1
rm gfortran.pod
make[3]: Leaving directory '/tmp/yaourt-tmp-root/abs-gcc/src/gcc-4.3.2/build/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory '/tmp/yaourt-tmp-root/abs-gcc/src/gcc-4.3.2/build'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory '/tmp/yaourt-tmp-root/abs-gcc/src/gcc-4.3.2/build'
make: *** [all] Error 2
==> ERROR: Build Failed.
Aborting...
Error: Makepkg was unable to build gcc package.
I've recompiled its dependencies which compile successfully, however, the
build of GCC still fails with the exact above error. Does anyone have any idea as to
what could be causing this and its resolution?
Offline
You're missing flex and bison. Those two (as well as automake, gcc, etc) aren't listed as dependencies because the base-devel group is assumed to be installed if you're planning to build packages. Install it with the following command:
pacman -S base-devel
Offline
Thanks, however, I now get the following error.
../../gcc/treelang/parse.y: In function 'yyparse':
../../gcc/treelang/parse.y:689: error: expected ';' before '}' token
../../gcc/treelang/parse.y:690: error: expected ';' before '}' token
make[3]: *** [treelang/parse.o] Error 1
make[3]: *** Waiting for unfinished jobs...
rm gfortran.pod
make[3]: Leaving directory '/tmp/yaourt-tmp-root/abs-gcc/src/gcc-4.3.2/build/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory '/tmp/yaourt-tmp-root/abs-gcc/src/gcc-4.3.2/build'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory '/tmp/yaourt-tmp-root/abs-gcc/src/gcc-4.3.2/build'
make: *** [all] Error 2
==> ERROR: Build Failed.
Aborting...
Error: Makepkg was unable to build gcc package.
Offline
what do you want to achive with compiling your own gcc in the same version we have in our repos? building gcc is done in a certain order. i guess you have a custom kernel-headers/glibc/binutils/gcc-libs pkg installed.
Offline
Do you have [testing] enabled? This looks like it just may be a problem with the new bison.
Online
add:
options=('!makeflags')
to the PKGBUILD.
Offline
I doubt multiple makejobs are the reason. i'm build the whole toolchain -j6
Offline
I doubt multiple makejobs are the reason. i'm build the whole toolchain -j6
Well, he's getting a:
make[3]: *** Waiting for unfinished jobs...
error message. These are usually signs of a SMP problem. In any case, it doesn't hurt to try it.
Offline
Thanks for your help guys. It seems it was indeed bison. I downgraded bison from its testing
version down to its current stable version, and GCC 4.3.2 compiled fine.
I have a quick question in regards to another minor problem. I'm trying to compile
ABS QCA, however, it always fails with the following problem. Does the problem lie
within the PKGBUILD or a Global Variable?
[ 53%] Built target qca-gnupg
make: *** [all] Error 2
mkdir: cannot create directory '/tmp/pacbuilder/build/qca/pkg/usr/share/qt': No such file or directory
mv: cannot stat '/tmp/pacbuilder/build/qca/pkg/usr/mkspecs': No such file or directory
==> ERROR: Build failed
Once again, thanks.
Offline
hi there ;
actualy im trying to compile gcc too but i have a different error:
==> Making package: gcc 4.3.2-1 x86_64 (Sat Nov 15 04:47:57 EET 2008)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Retrieving Sources...
-> Found gcc-core-4.3.2.tar.bz2 in build dir
-> Found gcc-g++-4.3.2.tar.bz2 in build dir
-> Found gcc-fortran-4.3.2.tar.bz2 in build dir
-> Found gcc-objc-4.3.2.tar.bz2 in build dir
-> Found gcc-java-4.3.2.tar.bz2 in build dir
-> Found libstdc++-man-20080118.tar.bz2 in build dir
-> Found gcc_pure64.patch in build dir
-> Found gcc-hash-style-both.patch in build dir
-> Found gcc-java-driver.patch in build dir
==> Validating source files with md5sums...
gcc-core-4.3.2.tar.bz2 ... Passed
gcc-g++-4.3.2.tar.bz2 ... Passed
gcc-fortran-4.3.2.tar.bz2 ... Passed
gcc-objc-4.3.2.tar.bz2 ... Passed
gcc-java-4.3.2.tar.bz2 ... Passed
libstdc++-man-20080118.tar.bz2 ... Passed
gcc_pure64.patch ... Passed
gcc-hash-style-both.patch ... Passed
gcc-java-driver.patch ... Passed
==> Extracting Sources...
-> bsdtar -x -f gcc-core-4.3.2.tar.bz2
bsdtar: Failed to set default locale
-> bsdtar -x -f gcc-g++-4.3.2.tar.bz2
bsdtar: Failed to set default locale
-> bsdtar -x -f gcc-fortran-4.3.2.tar.bz2
bsdtar: Failed to set default locale
-> bsdtar -x -f gcc-objc-4.3.2.tar.bz2
bsdtar: Failed to set default locale
-> bsdtar -x -f gcc-java-4.3.2.tar.bz2
bsdtar: Failed to set default locale
-> bsdtar -x -f libstdc++-man-20080118.tar.bz2
bsdtar: Failed to set default locale
==> Removing existing pkg/ directory...
==> Entering fakeroot environment...
==> Starting build()...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
You need the de_DE locale to build gcc.
==> ERROR: Build Failed.
Aborting...
is it normal ? am i really need to change my local to compile gcc or any other programs ?
Offline
You don't have to switch locales, just need to enable support for them.
You just need to unmask (remove the #) the following locales in /etc/locale.gen.
de_DE.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
Then run "locale-gen" and try to recompile GCC.
Offline
thank u very much.!
Offline
btw, when im compile a package (like gcc or any other) to install to my system just type "pacman -U "packagename" is it safe _? or is it update my old package ?
Offline
btw, when im compile a package (like gcc or any other) to install to my system just type "pacman -U "packagename" is it safe _? or is it update my old package ?
Yes, that will remove the old package and install the new one.
Offline