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
