From: Brian G. <bgr...@mo...> - 2007-10-20 18:38:09
|
I'm getting a build failure building the current HEAD: /usr/bin/ld: tclCompile.o: relocation R_X86_64_PC32 against `TclSetCmdNameObj' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: ld returned 1 exit status I'm building on: Red Hat Enterprise Linux WS release 4 (Nahant Update 4) Linux modport 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:32:02 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux Configuring as: ./configure --prefix=/s/modport/bgriffin/tcl8.5/usr/local --enable-64bit --enable-shared --enable-threads My internets research seems to indicate that this is a gcc bug, but I cannot figure out how to "fix" the problem. Anybody familiar with this? -Brian -- # "Don't be ridiculous. Everyone knows there are no Secret # Tcl Illuminati." # -- Donal Fellows ------------------------------------------------------------- -- Mentor Graphics Corp. -- -- 8005 SW Boeckman Road 503.685.7000 tel -- -- Wilsonville, OR 97070 USA 503.685.0921 fax -- ------------------------------------------------------------- -- Technical support ............ mailto:su...@mo... -- -- Sales and marketing info ....... mailto:sa...@mo... -- -- Licensing .................... mailto:li...@mo... -- -- Home Page ........................ http://www.model.com -- ------------------------------------------------------------- |
From: Jeff H. <je...@ac...> - 2007-10-20 20:35:32
|
Brian Griffin wrote: > I'm getting a build failure building the current HEAD: > > /usr/bin/ld: tclCompile.o: relocation R_X86_64_PC32 against > `TclSetCmdNameObj' can not be used when making a shared object; > recompile with -fPIC > /usr/bin/ld: final link failed: Bad value > collect2: ld returned 1 exit status > > I'm building on: Red Hat Enterprise Linux WS release 4 (Nahant Update 4) > Linux modport 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:32:02 EDT 2006 x86_64 > x86_64 x86_64 GNU/Linux > > Configuring as: ./configure > --prefix=/s/modport/bgriffin/tcl8.5/usr/local --enable-64bit > --enable-shared --enable-threads > > My internets research seems to indicate that this is a gcc bug, but I > cannot figure out how to "fix" the problem. Anybody familiar with this? Andreas identified the same bug in our nightly builds and also identified it as a gcc, or rather binutils bug. At first glance, it appeared we had a recent enough binutils, but perhaps not. He noted the relevant references to the problem are http://sources.redhat.com/bugzilla/show_bug.cgi?id=584 http://sourceware.org/ml/binutils-cvs/2005-02/msg00011.html We haven't fully addressed it, but it does appear to be a compiler rather than code issue. Jeff |
From: Brian G. <bri...@ea...> - 2007-10-20 22:21:36
|
On 10/20/07, Jeff Hobbs <je...@ac...> wrote: > Brian Griffin wrote: > > I'm getting a build failure building the current HEAD: > > > > /usr/bin/ld: tclCompile.o: relocation R_X86_64_PC32 against > > `TclSetCmdNameObj' can not be used when making a shared object; > > recompile with -fPIC > > /usr/bin/ld: final link failed: Bad value > > collect2: ld returned 1 exit status > > > > I'm building on: Red Hat Enterprise Linux WS release 4 (Nahant Update 4) > > Linux modport 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:32:02 EDT 2006 x86_64 > > x86_64 x86_64 GNU/Linux > > > > Configuring as: ./configure > > --prefix=/s/modport/bgriffin/tcl8.5/usr/local --enable-64bit > > --enable-shared --enable-threads > > > > My internets research seems to indicate that this is a gcc bug, but I > > cannot figure out how to "fix" the problem. Anybody familiar with this? > > Andreas identified the same bug in our nightly builds and also > identified it as a gcc, or rather binutils bug. At first glance, it > appeared we had a recent enough binutils, but perhaps not. > > He noted the relevant references to the problem are > http://sources.redhat.com/bugzilla/show_bug.cgi?id=584 > http://sourceware.org/ml/binutils-cvs/2005-02/msg00011.html > > We haven't fully addressed it, but it does appear to be a compiler > rather than code issue. > > Jeff Thanks Jeff. I'll see if our IT guy can get any info from RedHat on this. -Brian |
From: Christian N. <no...@nu...> - 2007-10-30 22:01:49
|
I'm seeing the same failure on OpenSuse 10.2 / x86_64. It seems to me the problem might be that TclSetCmdNameObj is not declared in tclInt.h, like most of the other internals: during the compilation of tclObj.c that function then has not previously been declared with the right MODULE_SCOPE. I'm not sure what the right fix is, but after putting > MODULE_SCOPE void TclSetCmdNameObj(Tcl_Interp *interp, Tcl_Obj *objPtr, > Command *cmdPtr); directly in front of the TclSetCmdNameObj implementation in tclObj.c everything compiles & links fine. HTH, -- => Christian Nassau, http://www.nullhomotopie.de |