Richard Hansen wrote:
> Ignacio Mas Ivars wrote:
>> On Wed, 2006-10-11 at 22:38 -0700, Tom Henderson wrote:
>>> Ignacio Mas Ivars wrote:
>>>> Hi all!
>>>> I am trying to compile ns-2.30 in an linux Ubuntu box with g++ 4.1 and I 
>>>> am having problems with the linker. All the files are compiled correctly 
>>>> but when linking the following message appears:
>>>>
>>>> /usr/bin/ld: ns: hidden symbol `__stack_chk_fail_local' 
>>>> in /usr/lib/libc_nonshared.a(stack_chk_fail_local.oS) is referenced by 
>>>> DSO
>>>> /usr/bin/ld: final link failed: Nonrepresentable section on output
>>>> collect2: ld returned 1 exit status
>>>>
>>>>
>>>> I have tried compiling as well with g++ 4.0 without success and now I am 
>>>> a bit out of ideas. Any pointers on where to look? This is my version of 
>>>> g++ (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
>>>>
>>>> Thanks for the help!
>>>> /Nacho
>>> This page seems to suggest to turn off SSP by changing the default 
>>> options to build with -fno-stack-protector
>>>
>>> https://wiki.ubuntu.com/GccSsp
>>>
>>> Let me know if that works.
>>>
>>> Tom
>> Hi!
>> I tried that but still the same error. This are the flags passed to g++
>>
>> g++ -c -O3 -march=pentium3 -pipe -fomit-frame-pointer -funroll-loops 
>> -fexpensive-optimizations -fno-stack-protector -Wall
>>
>> and the error while linking is still the same...
>> Thanks anyway!
>> /Nacho
> 
> I can confirm this problem (Ubuntu 6.10, gcc 4.1.2) and that 
> -fno-stack-protector does not fix it.  A temporary workaround is to use 
> an older gcc for compiling OTcl, TclCL, and ns:
> 
>    export CC="gcc-4.0"
>    export CXX="g++-4.0"
> 
> (Make sure the above is entered before building OTcl, TclCL, and ns.)
> 
> In addition, I have discovered that OTcl 1.18 also fails to compile 
> (same error) on my dual-core P4 system with Ubuntu's gcc 4.1.2 and when 
> make is run with the command-line argument "-j 3" (or higher).  It 
> compiles without any errors if run without -j or if I switch to gc 4.0.4.
> 
> I hope this helps someone.
> 
> Richard

Update:  Compiling ns-2.30 with gcc 4.1.2 on Ubuntu 6.10 (Edgy Eft) 
works fine, *if* OTcl is compiled with gcc 4.0.  Here's the configure 
line I used for OTcl:

CC="gcc-4.0" CXX="g++-4.0" ./configure --with-tcl=../tcl8.4.13 
--with-tk=../tk8.4.13

Richard

Reply via email to