[email protected] schrieb: > Christian: > > Is it possible that you might have code compiled with an older version of ghc > lying around in an odd place in your build hierarchy? I would imagine that > you upgraded cabal-installed packages. If for some reason you copied or used > rsync to replicate a directory tree onto the older machine, then that would > explain why you are seeing these difficulties.
No, I had a plan link error, that I resolved by supplying a (gcc) library that contained the missing symbol. I was hoping, that it was a configure issue (during compilation of ghc or during installation of a binary ghc distribution), but it does not look like it. I will not sell my hack. I just wanted to avoid to install a newer gcc or build an extra binary distribution (for that old sparc). Thanks for any feedback Christian > > > -scooter > Sent from my Verizon Wireless BlackBerry > > -----Original Message----- > From: Simon Marlow <[email protected]> > Sender: [email protected] > Date: Wed, 25 Aug 2010 16:39:43 > To: Christian Maeder<[email protected]> > Cc: <[email protected]> > Subject: Re: __emutls_get_address link problem > > On 25/08/2010 16:37, Christian Maeder wrote: >> Christian Maeder schrieb: >>> Simon Marlow schrieb: >>>> On 23/08/2010 17:45, Brandon S Allbery KF8NH wrote: >>>>> -----BEGIN PGP SIGNED MESSAGE----- >>>>> Hash: SHA1 >>>>> >>>>> On 8/23/10 11:57 , Christian Maeder wrote: >>>>>> However, when I try to compile the simplest source with on older >>>>>> gcc-3.4.4 I get the link error below, but only for the threaded rts! >>>>>> >>>>>> With ghc-6.12.1 and gcc-4.x.y (x< 3) I did not have such a problem when >>>>>> switching to a machine that only has gcc-3.4.4. >>>>> You got lucky; mixing GCC major versions like that is not expected (much >>>>> less guaranteed) to work in general. GCC evidently changed the way it >>>>> implements some thread support routines between gcc3 and gcc4. >> Why should it not be possible to create object files (like also dynamic >> libs) with (very) different compilers? > > This is a case where the ABI changed between versions of gcc (I > presume). It rarely happens with C code, but happens more often with > C++, and, of course, in GHC we change the ABI with every single release > so you should be used to this by now :-) > >>>> In particular, thread-local variables, which are used by the parallel GC. >>> I'm just testing if I get runtime problems, but the linking error goes >>> away, if I put libgcc_eh.a from gcc-4.3.3 into ghc's libdir. >> The hack seems to work, although it looks dangerous regarding other >> symbols from libgcc_eh.a that should be in sync with the used gcc-3.4.4. > > I wouldn't trust it. Why do you need to mix code compiled by two > different gcc versions? > > Cheers, > Simon > _______________________________________________ > Glasgow-haskell-users mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/glasgow-haskell-users _______________________________________________ Glasgow-haskell-users mailing list [email protected] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
