On Tue, 11 Dec 2012, Kenneth Herner wrote:
Hello,I am attempting to build root 5.28 as part of testing some legacy = software, and for maximum compatibility I would like to use gcc/g++/g77 = 3.4 when building. I've installed all of the appropriate compatibility = rpms on two machines, one running SLF 5.7 and the other 6.3. When I = build on the SLF 5.7 machine everything works fine. When I do the same = thing on the SLF 6.3 machine it works until almost the end, where I get = the following error: g77 -m32 -O2 -o bin/g2root main/src/g2root.o \ -Llib lib/libminicern.so \ /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libfrtbegin.a = /usr/lib/gcc/x86_64-redhat-linux/3.4.6/32/libg2c.so -lnsl -lm -ldl = -pthread -rdynamic /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libfrtbegin.a: could not read = symbols: File in wrong format collect2: ld returned 1 exit status
A common reason for the above error is using a 32bit library/archive when a 64 bit one is expected and vice versa.
A default install for SL5 installs many i386 packages in addition to the x86_64 packages for a x86_64 install. On SL6 only x86_64 packages are installed.
-Connie Sieh
make: *** [bin/g2root] Error 1 When I do rpm -qf /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libfrtbegin.a I = get compat-gcc-34-g77-3.4.6-19.el6.x86_64 for SLF6, and compat-gcc-34-g77-3.4.6-4.1.x86_64 for SLF 5.7. Are there any changes in this package that would cause an = error such as the one above? It looks like it's the same version of the = compiler, but something important must have changed between version 4 = and 19. Does anyone have an idea regarding a workaround? Many thanks, Ken=
