You are not logged in.
Pages: 1
Hi, I have a problem with gcc. In my laptop I had gcc4 installed, with libstdc++ and glibc, and everything worked smoothly. I had the necessity to install gcc-3.4 to compile an old version of a data analysis program which was not ported to gcc4. I installed gcc-3.4, but got some errors. In the support forum of the program i've been told that such errors are because my libstdc++ and glibc are not matching my gcc linker version. So my question is: how to build a full gcc-3.4 compile environment? Where can I find the needed packages?
Thanks for the help
Offline
Create a chroot? You can find old versions of Arch packages on some mirrors, search the forums for them.
Offline
Are you using the gcc34 package in [extra]? Can you post the output?
Offline
Are you using the gcc34 package in [extra]? Can you post the output?
Yes, I use gcc-3.4 installed using pacman, so I suppose it's the version in [extra]... Since I got some problems with the configuration files I renamed gcc and g++ to gcc4 and g++4 and created symbolic links gcc->gcc-3.4 and g++->g++-3.4. This because, even if I specified gcc-3.4 and g++-3.4 in the configuration files, the build began using gcc and g++ at a certain stage, regrdless of my configuration (maybe a bad configure script).
You can find the output of my build and some related discussion on the support forum of the analysis software:
http://root.cern.ch/phpBB2/viewtopic.php?t=7887
@Ranguvar: can you explain what does it mean "Create a chroot", please? (Sorry, newbie here... )
Thank you all for the help
Last edited by snack (2009-01-27 10:02:11)
Offline
@Ranguvar: can you explain what does it mean "Create a chroot", please? (Sorry, newbie here... )
Please use Google first If you have trouble understanding something you read, say so and we'll help gladly, but there's an unofficial policy of letting users help themselves when possible.
http://en.wikipedia.org/wiki/Chroot
http://www.newlinuxuser.com/explain-what-is-chroot/
Offline
Actually, that's the official policy.
Offline
snack wrote:@Ranguvar: can you explain what does it mean "Create a chroot", please? (Sorry, newbie here... )
Please use Google first If you have trouble understanding something you read, say so and we'll help gladly, but there's an unofficial policy of letting users help themselves when possible.
http://en.wikipedia.org/wiki/Chroot
http://www.newlinuxuser.com/explain-what-is-chroot/
Thank you very much, probably i'ts just the stuff I need to set up the right environment. Now I have to understand how to do it, but I'll try to manage it. Sorry for the noob question, but as I said I'm quite a newbie and still have to learn all the rules, written or not.
@Themaister: I have been able to compile root 5.20 using gcc 4 painlessly (more or less) under Arch. My real problem is with the old 5.14...
Offline
Was that under i686 or x86_64? And exactly what gcc version? Also, what ./configure flags did you use? I've tried many, many different root versions with the gcc 4.3.3 on x86_64 and I pretty much always get the same error messages and the same place. I have also tried GCC 3.4 and GCC 4.1.2.
Haha! Finally. Got 5-22-00 compiled on x86_64 with ./configure --enable-qt --disable-krb5 (CURSE YOU KRB5!!!! Hope it isn't important)
Geant3 compiled too to my surprise ... However, AliRoot remains, which is an even larger curse to compile ... EDIT: Omfg... it took just like ... 8 months? But I actually managed to compile that fucking AliRoot yay to me.
Last edited by Themaister (2009-01-30 16:50:20)
Offline
Yesterday I've finally been able to compile root 5.14 using gcc-3.4 (as found in the gcc34 package from repository). I had to tweak the configuration heavily. First of all, there's a small bug in the configure script which won't allow you to use the GNU Scientific Library whose subversion is a two digit number (eg., >= 1.10). This is needed to enable mathmore support; fix it like this:
--- configure-bug 2009-01-18 20:41:56.000000000 +0100
+++ configure 2009-01-18 16:12:48.000000000 +0100
@@ -3503,7 +3503,7 @@
# check for gsl version >= 1.8
if test ! "x$found_dir" = "x"; then
message "Checking for GSL version >= 1.8"
- gsl_version=`grep "define GSL" $found_dir/gsl/gsl_version.h | sed 's/^.*"\([0-9]\.[0-9]\)"/\1/' | awk 'BEGIN { FS="." } { printf "%d", $1 * 1000 + $2 }'`
+ gsl_version=`grep "define GSL" $found_dir/gsl/gsl_version.h | sed 's/^.*"\([0-9]\.[0-9]*\)"/\1/' | awk 'BEGIN { FS="." } { printf "%d", $1 * 1000 + $2 }'`
if test $gsl_version -lt 1008; then
gslskip="skip"
result "no
To make sure that gcc-3.4 and g++-3.4 are used through all the build you have to set it in <root source>/config/Makefile.linux (both in the compiling and linking options). In the same file, change also the fortran complier from g77 to gfortran. If you want to use xrootd then you have to perform also this operation: unpack the <root source>/xrootd/src/xrootd-20060928-1600.src.tgz tarball before launching configure, change gcc -> gcc-3.4 and g++ -> g++-3.4 everywhere in configure, configure.ac andd config/GNUmake.rules.gcc, then pack the tarball again and substitute the original one with the modified one. This is because xrootd seems to have its own configuration files, and doesn't refer to Makefile.linux.
With these tweaks, this configuration worked for me:
./configure linux --enable-minuit2 --enable-mathmore --disable-krb5 --disable-cintex --disable-clarens
You should be able to enable kerberos support with MIT Kerberos (in my system there's heimdal kerberos which is not compatible with root).
Offline
Pages: 1