Summary: | sys-devel/distcc - relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Stribik András <stribika> |
Component: | [OLD] Core system | Assignee: | MATSUU Takuto (RETIRED) <matsuu> |
Status: | RESOLVED INVALID | ||
Severity: | major | CC: | betelgeuse, hp-cluster, jer |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
/etc/make.conf
/etc/conf.d/distccd /var/tmp/portage/dev-python/pygobject-2.14.2/temp/environment The real build log dev-python/pygobject-2.14.2 build log without distcc |
Description
Stribik András
2008-08-26 14:53:56 UTC
Created attachment 163824 [details]
/etc/make.conf
Portage configuration
Created attachment 163826 [details]
/etc/conf.d/distccd
Distcc configuration
Created attachment 163828 [details]
/var/tmp/portage/dev-python/pygobject-2.14.2/temp/environment
Build log
Is there a version of distcc in the tree that you don't see this behaviour with? (In reply to comment #4) > Is there a version of distcc in the tree that you don't see this behaviour > with? No. I can install theese versions: 2.18.3-r10 (~)2.18.3-r11 (~)2.18.3-r12 (~)2.18.3-r13 but none of them works. (In reply to comment #3) > Created an attachment (id=163828) [edit] > /var/tmp/portage/dev-python/pygobject-2.14.2/temp/environment > > Build log That's not your build log. You're very much welcome to attach a build log for the failing package. This is starting to look like a parallel make issue, assuming that you don't normally have MAKEOPTS="-j1" (as your `emerge --info' suggests). (In reply to comment #6) > That's not your build log. You're very much welcome to attach a build log for > the failing package. Sorry about that, I uploaded the real build log. > This is starting to look like a parallel make issue, assuming that you don't > normally have MAKEOPTS="-j1" (as your `emerge --info' suggests). I tried the following combinations with 2.18.3-r10, before reporting the bug: - MAKEOPTS="-j1", no distcc: works - MAKEOPTS="-j2", no distcc: works - MAKEOPTS="-j1", distcc on localhost only: does not work - MAKEOPTS="-j2", distcc on localhost only: does not work - MAKEOPTS="-j6", distcc on 2 computers: does not work With the other versions, I only tried MAKEOPTS="-j1" localhost only. Created attachment 164002 [details]
The real build log
@betelgeuse/hp-cluster: I don't see what distcc is doing wrong here, so let's ask the experts (that's you!). If need be (when it's all dev-python/pygobject's fault, please CC gnome@. Does remote distcc host have same version of gcc and same CHOST? sorry, I was badly mistaken. If you still have the issue, could you put the results of these commands? $ gcc-config -l $ gcc-config -B $ gcc-config -E $ whereis x86_64-pc-linux-gnu-gcc $ echo $PATH > If you still have the issue, could you put the results of these commands?
I do not know if the problem still exists, and unfortunately I can only try it on this weekend. I have the same versions of the relevant packages, so there is a good chance it is.
Here are the outputs of the commands, on both computers:
stribika@strib-laptop ~ $ gcc-config -l
[1] x86_64-pc-linux-gnu-4.1.2 *
stribika@strib-laptop ~ $ gcc-config -B
/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2
stribika@strib-laptop ~ $ gcc-config -E
export PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/kde/3.5/bin:/home/stribika/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/qt/3/bin:/usr/games/bin"
stribika@strib-laptop ~ $ whereis x86_64-pc-linux-gnu-gcc
x86_64-pc-linux-gnu-gcc: /usr/bin/x86_64-pc-linux-gnu-gcc /usr/X11R6/bin/x86_64-pc-linux-gnu-gcc
stribika@strib-laptop ~ $ echo $PATH
/usr/kde/3.5/bin:/home/stribika/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/qt/3/bin:/usr/games/bin
stribika@strib-laptop ~ $ ssh strib-desktop
Last login: Tue Nov 11 19:10:36 CET 2008 on :0
Last login: Tue Nov 11 22:35:24 2008 from strib-laptop
stribika@strib-desktop ~ $ gcc-config -l
[1] x86_64-pc-linux-gnu-3.4.6
[2] x86_64-pc-linux-gnu-3.4.6-hardened
[3] x86_64-pc-linux-gnu-3.4.6-hardenednopie
[4] x86_64-pc-linux-gnu-3.4.6-hardenednopiessp
[5] x86_64-pc-linux-gnu-3.4.6-hardenednossp
[6] x86_64-pc-linux-gnu-4.1.2 *
stribika@strib-desktop ~ $ gcc-config -B
/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2
stribika@strib-desktop ~ $ gcc-config -E
export PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/home/stribika/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/local/games/bin:/usr/games/bin"
stribika@strib-desktop ~ $ whereis x86_64-pc-linux-gnu-gcc
x86_64-pc-linux-gnu-gcc: /usr/bin/x86_64-pc-linux-gnu-gcc /usr/X11R6/bin/x86_64-pc-linux-gnu-gcc
stribika@strib-desktop ~ $ echo $PATH
/home/stribika/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/local/games/bin:/usr/games/bin
I don't know why following are appeared in dev-python-pygobject-2.14.2-20080828-153243.log. checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC works... no in my env: checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes Could you put build.log without distcc? btw, how about distcc-3.0-r4? Created attachment 171720 [details] dev-python/pygobject-2.14.2 build log without distcc The first 2 difference between this and the distcc version: 82,84c82,85 < checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC works... yes < checking if x86_64-pc-linux-gnu-gcc static flag -static works... yes < checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes --- > checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC works... no > checking if x86_64-pc-linux-gnu-gcc static flag -static works... no > checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... no > checking if we can lock with hard links... yes 87c88,107 < checking dynamic linker characterisics... GNU/Linux ld.so --- > checking dynamic linker characteristics... distcc[23931] (dcc_trace_version) distcc 3.0 x86_64-pc-linux-gnu; built Nov 14 2008 15:27:58 3.0-r4 does not fix the problem. Could you put results of following? # distcc-config --get-env # ls -al /usr/lib*/distcc/bin/ > # distcc-config --get-env # This file is managed by distcc-config; use it to change these settings. DISTCC_LOG="" DCCC_PATH="/usr/lib64/distcc/bin" DISTCC_VERBOSE="1" > # ls -al /usr/lib*/distcc/bin/ /usr/lib64/distcc/bin: összesen 0 0 drwxr-xr-x 2 root root 135 nov 14 15.28 . 0 drwxr-xr-x 3 root root 16 aug 25 22.36 .. 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 c++ -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 cc -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 g++ -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 gcc -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 x86_64-pc-linux-gnu-c++ -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 x86_64-pc-linux-gnu-g++ -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 x86_64-pc-linux-gnu-gcc -> /usr/bin/distcc /usr/lib/distcc/bin: összesen 0 0 drwxr-xr-x 2 root root 135 nov 14 15.28 . 0 drwxr-xr-x 3 root root 16 aug 25 22.36 .. 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 c++ -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 cc -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 g++ -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 gcc -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 x86_64-pc-linux-gnu-c++ -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 x86_64-pc-linux-gnu-g++ -> /usr/bin/distcc 0 lrwxrwxrwx 1 root root 15 nov 14 15.28 x86_64-pc-linux-gnu-gcc -> /usr/bin/distcc I have no idea. I thought that it is gcc issue. Could you try to remerge gcc in all distccd server? Could you try to remove DISTCC_SSH="/etc/distcc/distcc-ssh" from make.conf? and what does /etc/distcc/distcc-ssh contain? no response. please reopen if you still have the issue. |