it would seem that we will need a two way update to me.  Kinda like what we had.  But the second stage WILL need a clean install.

if upgrading from 10.3 -> 10.4 will will need to set abi-version to 0  I'm not sure but I think this will work.

10.4-transitional tree

For new installs lets use the 10.4 tree which will be a clean install, since just upping the value of by 10 won't help compile order without TONS of versioned builddeps it will just require a full rebuild from scratch, and we will have to enforce this somehow.


This is a sucky place apple has put us in.  But I think this is the best alternative, at least this way ppl can upgrade, and decide to rebuild when they can, plus core will need the time to finish the 10.4 tree anyhow.  Of course abi-version=0 would still need to be tested but I think I remember reading someone had done this and tested it.  But I'm not sure and haven't done it myself yet.

We may be able to provide an upgrade script.  ie: first make a list of installed pkgs, removes all pkgs using dpkg --purge all, then removes /sw, makes a /sw/temp downloads the lastest fink and run bootstrap, then uses the list to reinstall everything that was installed.  Just a suggestion, some place to start since I know we are all upset and frustrated with this new development.

---

TS

http://southofheaven.org/

Chaos is the beginning and end, try dealing with the rest.


On 18-Apr-05, at 3:54 PM, David R. Morrison wrote:


On Apr 18, 2005, at 5:47 PM, David R. Morrison wrote:



On Apr 18, 2005, at 4:52 PM, David R. Morrison wrote:



On Apr 18, 2005, at 2:53 PM, Matthew Sachs wrote:


I got word that the default for -fabi-version in 3.3 is -1, for compatibility with 3.1.  So that explains why you can't link -fabi-version=1 packages with 3.3-built default ABI packages.



It's really infuriating that this wasn't documented.  The man page WHICH APPLE SHIPPED with gcc 3.3 explicitly states that the default is 1.

If we had known this months ago, we might have been able to both find and test a solution before Tiger was released.

  -- Dave




Perhaps equally infuriating is the realization that the huge amount of manpower which the Fink project put into the transition from gcc 3.1 to gcc 3.3 may have been unnecessary.  It appears that some well-intentioned person at Apple probably changed the default -fabi-version for gcc 3.3 to ease that transition, but again, DIDN'T TELL ANYONE.

So, not only has today's discovery broken our upgrade strategy for Tiger, it has made it clear that we wasted a huge amount of energy 18 months ago.

Sigh.

  -- Dave

P.S. We have now determined that gcc 3.3 behaves differently on 10.3 and 10.4, and that the 10.4 version does NOT have the non-standard -fabi-version.  What this means is that there is no way to compile something on 10.4 which links to a library that was compiled on 10.3, if the problematic g++ features are accessed.



Vasi points out that I said this slightly incorrectly.  It's only if you didn't pass the -fabi-version flag on Panther (which generally is not done) that you're library can't be used on Tiger.

As far as we can tell, if you compile on Panther with -fabi-version=1 explicitly given, then you can link that lib on Tiger with the same flag.

(However, this doesn't help Fink at all, since we have tens of thousands of users, perhaps even hundreds of thousands, with installed libraries that didn't have the -fabi-version flag passed at compile-time.)

  -- Dave



-------------------------------------------------------
This SF.Net email is sponsored by: New Crystal Reports XI.
Version 11 adds new functionality designed to reduce time involved in
creating, integrating, and deploying reporting solutions. Free runtime info,
new features, or free trial, at: http://www.businessobjects.com/devxi/728
_______________________________________________
Fink-devel mailing list



Reply via email to