Hi,

I believe I had a similar problem before, and if I remember correctly it
was solved by adding "-no-whole-archive" to BOOST_LIBRARIES in
makefile.defs.

Also, as a side note, I've tried compiling flexus with GCC 4, and I
wouldn't recommend that.  If I recall correctly it spewed out pages of
errors relating to templates and such.  It would be nice if someone on
the flexus team could try installing gcc 4 and see if they can get it to
compile.


Hope this helps,

Jason



Thomas Wenisch wrote:
> Hi James,
> 
> On Fri, 24 Mar 2006, James Larson wrote:
> 
>> Ok, thank you very much for your help.  Here is my full output
>>
>> Building CMPFlex for v9_iface_gcc simics
>> Checking dependant component v9_iface_gcc Common
>> Checking dependant component v9_iface_gcc BPWarm
> 
> 
> <snip>
> 
>> `.gnu.linkonce.t._ZNK5boost7archive17archive_exception4whatEv'
>> referenced in
>> section `.rodata' of
>> /home/jimmyml/flexus_2.0/components/CmpCache/CmpCache.v9.iface.gcc.a(
>> CmpCacheImpl.v9_iface_gcc_o): defined in discarded section
> 
> 
> <snip>
> 
>> ld returned 1 exit status
>> make[6]: *** [libflexus_CMPFlex_v9_iface_gcc.so] Error 1
>> make[5]: *** [simics-v9] Error 2
>> make[4]: *** [CMPFlex] Error 2
>> make[3]: *** [CMPFlex] Error 2
>> make[2]: *** [CMPFlex] Error 2
>> make[1]: *** [CMPFlex] Error 2
>> make: *** [CMPFlex] Error 2
>>
>>
>> My make version is 3.80, so that shouldn't be a problem, and it's
>> compiling
>> with GCC 3.4.4.  I've had to install several different versions of GCC to
>> try to get it working, but the one that is pointed to is the 3.4.4
>> version.
>> I am using SUSE, so I'm not sure if the distro would have any effect
>> on this
>> problem (I'm fairly new to Linux, thus explaining a lot of my problems)
>>
> 
> The root cause of this issue is apparently a bug in GCC 3.4.x that is
> exposed by the linker in recent versions of binutils.  Apparently gcc
> emits some instructions to the linker that are incorrect, but were
> harmless for versions of binutils prior to 2.15.90.0.3.
> 
> Here are the relevant bug reports for gcc:
>   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16625
>   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16276
> 
> There are also bug reports for binutils that may be related:
>   http://www.sourceware.org/bugzilla/show_bug.cgi?id=2342
> 
> Based on looking over various mailing list traffic about these bugs, I
> believe there are 3 possible ways you can work around these problems:
> 
> 1) Downgrade to the 2.15.90.0.3 version of binutils, or any earlier
>    release (we use 2.12.90.0.15, which was the default in SuSE 8.1).  This
>    fix is a pain, but is guaranteed to work.  You will have to hunt around
>    the documentation on SuSE's site to figure out how to install a
>    different version of binutils.  You can figure out which version is
>    currently installed with "rpm -q binutils"
> 
> 2) Try to build Flexus with gcc 4.0.x.  The GCC bugs above were fixed in
>    4.0.0.  However, we have not tested Flexus with GCC 4.  GCC 4 is still
>    a bit flaky and slower than GCC 3.x, so we have steered clear of it
>    here.  It is likely that this will work without error, but you may run
>    into compilation problems.  If you do run into errors, post them to the
>    list; we may be able to help you fix them.
>
> 3) Try upgrading to the very latest binutils, 2.16.91.0.7, released on
>    3/17/2006.  That release fixes PR 2342.  I can't tell for sure that
>    this will solve your problems, but it might.  Upgrading binutils may be
>    easier than downgrading it.
> 
> 
> Hope that helps.
> 
> Best Regards,
> -Tom Wenisch
> Computer Architecture Lab
> Carnegie Mellon University
> 
> 
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex

Reply via email to