Compile problem on Debian

Hi, I’ve got Debian/GNU Linux 3.1 with gcc 3.3.5. After executing “configure linuxdeb” (or any linux in fact) and “make” in one of the first g++ invocations (first linking actually) I get:

g++ -O1 -o bin/rmkdepend build/rmkdepend/cppsetup.o build/rmkdepend/ifparser.o build/rmkdepend/include.o build/rmkdepend/main.o build/rmkdepend/parse.o build/rmkdepend/pr.o build/rmkdepend/mainroot.o
/usr/lib/libc_nonshared.a(elf-init.oS)(.gnu.linkonce.t.__i686.get_pc_thunk.bx+0x 0): In function __i686.get_pc_thunk.bx': : multiple definition of__i686.get_pc_thunk.bx’
build/rmkdepend/cppsetup.o(.gnu.linkonce.t.__i686.get_pc_thunk.bx+0x0): first defined here
collect2: ld returned 1 exit status

I also tried the “make debian” way and after a bit of fighting with package dependencies I get the same result.

libc_nonshared.a is a part of GNU C library.

Is there any way to make it right?

Which version of ROOT are you installing?
Since you tried so many things, could you start with the following session
and send the results/log files?
make distclean
./configure
make

Rene

It looks to me like there’s a problem in your set-up. Is your machine a pure Debian GNU/Linux stable (sarge)? What architecure are running on?

Perhaps, if you could try to build some plain C++ program, and check that you don’t get the same error.

The message lists.debian.org/debian-glibc/20 … 00048.html indicates that the problem is in a GLibC upgrade, and also gives a minimal test case (in C). This
groups.google.dk/group/comp.os.l … e961ad360d message indicates that it’s a linker problem.

`make debian’ is used for Debian package creation. It does not by-pass the normal build, so you should get the same result. The “… bit of fighting with package dependencies …” is to be expected when you’re building straight out of the box. You need some developement libraries, and so on before you can make the packages.

A quick fix may be to get the pre-compiled packages from

deb mirror.phy.bnl.gov/debian-root stable root

Please note, that your problem is not a problem in ROOT, but a GCC problem on your system. Note, that unless you can fix your system, you will not be able to compile anything.

If your setup is not pure stable' try to make it so. Or perhaps switch to testing’ or `unstable’.

Yours,

Christian

cholm: I was able to compile mostly everything (for example I compiled lapackc++ yesterday) - but you were right - I had pure ‘stable’ version and the problem disappeared when I upgraded ‘stable’ libc6 and binutils to the ‘testing’ ones. Now just for fun I also upgraded the compiler to 4.0 and it’s ok.

Thanks a lot,

Mateusz