Re: [Fink-devel] Problem with -fabi-version=1

2005-04-19 Thread Dave Vasilevsky
On Apr 19, 2005, at 1:12 AM, Matthew Sachs wrote:
In further testing, however, it seems that it also works with g++-3.3 
on Tiger and no -fabi-version on Panther without the SDK.  I've asked 
my coworkers for clarification on why we should be using the SDK in 
this situation.
Ok guys, I've talked with msachs some and apparently this actually 
works for him:

 (Panther) make clean; make CC_LIB=g++ libbreak.dylib(Tiger) make 
CC=g++-3.3

Previously drm said this didn't work, so I'd like some more testing. 
Hopefully I had just explained things badly to drm and it really does 
work. Those with seeds can try the commands above. Or just in Tiger, 
do:

 g++-3.3 -o break.o break.cpp; nm -m break.o | c++filt | grep typeinfo
If you get a bunch of 'datacoal' stuff, it's working. PLEASE TEST if 
you can, I'd like to be sure this actually works.

If this does work, then GCC 3.3 on Tiger can link to GCC 3.3 on Panther 
so long as -fabi-version is not used. But GCC 4.0 still cannot link to 
anything build without -fabi-version on Panther.

So one (new!) option is for 10.4-transitional to enforce g++-3.3 for 
C++ packages, and for neither 10.3 nor 10.4-transitional to use a 
-fabi-version flag. Advantage is thaty Fink users would be able to 
update fairly seamlessly as planned, nothing much should need 
rebuilding to move to Tiger. C-only packages can still use gcc-4.0.

Later we could move to 10.4 (non-transitional), doing the GCC 4.0 
switch *and* the ABI 2 switch all at once for C++ packages. Or we could 
have some sort of piece-meal switch over, either package by package or 
based on some kind of auto-detection--that can be decided later.

The second option is to just move everybody to gcc-4.0 with ABI 1, make 
everybody rebuild everything. And then later move to ABI 2, and make 
everybody rebuild the C++ stuff again. Advantage is that the current 
10.4-transitional tree ought to be fine for this.

Third option is to make a clean break (see Chris's solution), and go 
straight to 4.0 and ABI 2. Advantage is not having a transitional tree 
to maintain. Disadvantage is packages that don't work with the new GCC 
or ABI are in trouble.

So what do we think? I suggest that -core figure this out quickly, I'd 
rather have my favourite option not chosen but at least have a common 
goal to work towards, given the time constraints.

Dave


PGP.sig
Description: This is a digitally signed message part


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-19 Thread David R. Morrison
Dave Vasilevsky [EMAIL PROTECTED] wrote:

 Ok guys, I've talked with msachs some and apparently this actually 
 works for him:
 
   (Panther) make clean; make CC_LIB=g++ libbreak.dylib(Tiger) make 
 CC=g++-3.3
 
 Previously drm said this didn't work, so I'd like some more testing. 
 Hopefully I had just explained things badly to drm and it really does 
 work. 

This works for me.

 Those with seeds can try the commands above. Or just in Tiger, 
 do:
 
   g++-3.3 -o break.o break.cpp; nm -m break.o | c++filt | grep typeinfo
 
 If you get a bunch of 'datacoal' stuff, it's working. PLEASE TEST if 
 you can, I'd like to be sure this actually works.

This also works.

  -- 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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


[Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Martin Costabel
Please have a look at the threads
[Fink-users] unixodbc2-2.2.11-10 failed
[Fink-users] scribus compilation fails
[Fink-users] Re: inkscape fails
[Fink-beginners] Problem compiling latest version of xdrawchem
[Fink-users] coot compilation failed
from the last few days. They all have in common that ld fails with 
errors of the form

ld: Undefined symbols:
typeinfo for QPtrCollection
The symbols vary, they are often from libqt-mt, but also from various 
libgtkmm* and other dylibs. Fink is the latest, and g++ is g++-3.3.

In the case of scribus, I have verified that the problem disappears when 
I remove the new default -fabi-version=1 CXX flag from PkgVersion.pm.

I don't know if some other factor comes into this, but it is not OSX 
10.3.9 nor the version of gcc (except gcc-4 where we have seen the same 
problem earlier) nor ld or dyld.

This seems to indicate that contrary to the documentation, 
-fabi-version=1 is not the default for g++-3.3, and that -fabi-version=1 
creates binary incompatibilities. I have not yet tried (don't have the 
time) if recompiling the concerned dylibs with the -fabi-version=1 flag 
solves the problem. It wouldn't solve it actually, because this would 
mean that we have to recompile basically everything that involves g++. 
Not what the abi-version flag was intended for...

--
Martin
---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread David R. Morrison
Hi Martin.
I had been very puzzled by those missing symbol problems, so I'm glad 
you figured it out.  The timing is excellent, because we haven't pushed 
-fabi-version=1 into stable yet, or fully committed ourselves to the 
Tiger upgrade strategy which uses it.

However, this discovery leaves us completely without a strategy for the 
Tiger upgrade.  The only one I can imagine at the moment is to force 
users to run gcc_select=3.3 when running under the 10.4-transitional 
tree, and later having them run gcc_select=4 when switching to the 10.4 
tree.  Not a great strategy; maybe somebody will come up with a better 
one.

  -- Dave
On Apr 18, 2005, at 5:23 AM, Martin Costabel wrote:
Please have a look at the threads
[Fink-users] unixodbc2-2.2.11-10 failed
[Fink-users] scribus compilation fails
[Fink-users] Re: inkscape fails
[Fink-beginners] Problem compiling latest version of xdrawchem
[Fink-users] coot compilation failed
from the last few days. They all have in common that ld fails with 
errors of the form

ld: Undefined symbols:
typeinfo for QPtrCollection
The symbols vary, they are often from libqt-mt, but also from various 
libgtkmm* and other dylibs. Fink is the latest, and g++ is g++-3.3.

In the case of scribus, I have verified that the problem disappears 
when I remove the new default -fabi-version=1 CXX flag from 
PkgVersion.pm.

I don't know if some other factor comes into this, but it is not OSX 
10.3.9 nor the version of gcc (except gcc-4 where we have seen the 
same problem earlier) nor ld or dyld.

This seems to indicate that contrary to the documentation, 
-fabi-version=1 is not the default for g++-3.3, and that 
-fabi-version=1 creates binary incompatibilities. I have not yet tried 
(don't have the time) if recompiling the concerned dylibs with the 
-fabi-version=1 flag solves the problem. It wouldn't solve it 
actually, because this would mean that we have to recompile basically 
everything that involves g++. Not what the abi-version flag was 
intended for...

--
Martin
---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real 
users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel

---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Peter O'Gorman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
David R. Morrison wrote:
| However, this discovery leaves us completely without a strategy for the
| Tiger upgrade.  The only one I can imagine at the moment is to force
| users to run gcc_select=3.3 when running under the 10.4-transitional
| tree, and later having them run gcc_select=4 when switching to the 10.4
| tree.  Not a great strategy; maybe somebody will come up with a better one.
|
|
| This seems to indicate that contrary to the documentation,
| -fabi-version=1 is not the default for g++-3.3, and that
| -fabi-version=1 creates binary incompatibilities.
Lovely, makes my day :(
The only thing I can suggest is having a %p/lib/fink/override/tree/bin/g++
and gcc and cc,c++ as symlinks to g++-3.3 and gcc-3.3 etc and fink ensuring
that %p/lib/fink/override/tree/bin/ comes first in $PATH when building stuff.
I don't know how many c++ packages we have that do not use autoconf and
might hardcode /usr/bin/c++ or /usr/bin/g++ though, actually these would
probably be the same packages that do not respect CXXFLAGS, so...
Peter
- --
Peter O'Gorman - http://www.pogma.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Darwin)
iQCVAwUBQmOwS7iDAg3OZTLPAQK95wP/S1u/HPkheXm9A1N6cMa6B8c2eo1aLslW
Oosr5h2uBtn4bbSPr32tZP13lri3tEwBMZtcL7LmVPKXqGByZLXsfApQvej0WR1X
GvXnNiYlfu+8lz2dpMsE34xTxTGn49wmDjMbLTo7Ko1s73PFfBSVujZehWygCMn7
5hcWeKI3H3U=
=k6o4
-END PGP SIGNATURE-
---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Corey Halpin
On 2005-04-18, David R. Morrison wrote:
 Hi Martin.
 
 I had been very puzzled by those missing symbol problems, so I'm glad 
 you figured it out.  The timing is excellent, because we haven't pushed 
 -fabi-version=1 into stable yet, or fully committed ourselves to the 
 Tiger upgrade strategy which uses it.
 
 However, this discovery leaves us completely without a strategy for the 
 Tiger upgrade.  The only one I can imagine at the moment is to force 
 users to run gcc_select=3.3 when running under the 10.4-transitional 
 tree, and later having them run gcc_select=4 when switching to the 10.4 
 tree.  Not a great strategy; maybe somebody will come up with a better 
 one.

  Well, here's a suggestion:
  Does -fabi-version=1 work correctly under gcc4?  Does it -actually-
generate gcc3 compatible binaries?  If so, could we set -fabi-version=1 for
gcc4 machines?
  We'd probably want to just put this in the buildscript, that would avoid
problems with SetCC and SetCXX.
  We'd put these bits before ./configure:
  test x$CC = x  export CC=gcc
  test x$CXX = x  export CXX=g++
  test `$CC --version | head -n1 | cut -d   -f3` = 4.0  export
CFLAGS=$CFLAGS -fabi-version=1
  test `$CXX --version | head -n1 | cut -d   -f3` = 4.0  export
CPPFLAGS=$CPPFLAGS -fabi-version=1

  It's quite ugly.  Probably uglier than just using gcc_select.  But it's a
suggestion.

crh


pgphoIsojSiWH.pgp
Description: PGP signature


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Jean-François Mertens
On 18 Apr 2005, at 15:04, Peter O'Gorman wrote:
The only thing I can suggest is having a %p/lib/fink/override/ 
tree/bin/g++
and gcc and cc,c++ as symlinks to g++-3.3 and gcc-3.3 etc and fink  
ensuring
that %p/lib/fink/override/tree/bin/ comes first in $PATH when  
building stuff.
not sure I understand well the difference with just using SetCC and  
SetCXX ?

JF
---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread David R. Morrison
Let me explain the situation as I understand it.
First, we cannot mix g++ compiles between gcc-3.3 and gcc-4.0 because 
of the ABI difference.

We thought (following the documentation) that setting -fabi-version=1 
would solve this.  In fact, it does solve it quite nicely: if you build 
everything with -fabi-version=1, then you can mix gcc-3.3 and gcc-4.0 
compiles with no problems.  (I've done extensive testing of this.)

However, we've now discovered that gcc-3.3 compiles are not compatiable 
with gcc-3.3 -fabi-version=1 compiles, contrary to the documentation.

So where does this leave us?  We were trying to design a system in 
which users could continue to use things they had already compiled 
under 10.3 and combine them with new things.  -fabi-version=1 won't 
work for this; but we also can't let them use gcc-4.0 on g++ code 
without rebuilding all of the dependencies.

So either we tell users to stay away from Tiger until we've properly 
converted to gcc-4.0, or we try to create a much more hackish version 
of the previously-planned 10.4-transitional tree.

  -- Dave
On Apr 18, 2005, at 9:45 AM, Jean-François Mertens wrote:
On 18 Apr 2005, at 15:04, Peter O'Gorman wrote:
The only thing I can suggest is having a 
%p/lib/fink/override/tree/bin/g++
and gcc and cc,c++ as symlinks to g++-3.3 and gcc-3.3 etc and fink 
ensuring
that %p/lib/fink/override/tree/bin/ comes first in $PATH when 
building stuff.
not sure I understand well the difference with just using SetCC and 
SetCXX ?

JF

---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95alloc_id396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Peter O'Gorman
Jean-François Mertens wrote:
On 18 Apr 2005, at 15:04, Peter O'Gorman wrote:
The only thing I can suggest is having a %p/lib/fink/override/ 
tree/bin/g++
and gcc and cc,c++ as symlinks to g++-3.3 and gcc-3.3 etc and fink  
ensuring
that %p/lib/fink/override/tree/bin/ comes first in $PATH when  
building stuff.

not sure I understand well the difference with just using SetCC and  
SetCXX ?
There isn't much of one, I must correct my suggestion actually, not 
symlinks, shell scripts, 'exec g++-3.3 $@' etc. The only difference is 
that using the path skulduggery will also catch things that just do g++ or 
c++ as the compiler.

Peter
--
Peter O'Gorman - http://www.pogma.com
---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Jean-François Mertens
On 18 Apr 2005, at 15:52, David R. Morrison wrote:
We were trying to design a system in which users could continue to  
use things they had already compiled under 10.3 and combine them  
with new things.
On 18 Apr 2005, at 15:58, Peter O'Gorman wrote:
On 18 Apr 2005, at 15:04, Peter O'Gorman wrote:
The only thing I can suggest is having a %p/lib/fink/override/  
tree/bin/g++
and gcc and cc,c++ as symlinks to g++-3.3 and gcc-3.3 etc and  
fink  ensuring
that %p/lib/fink/override/tree/bin/ comes first in $PATH when   
building stuff.
I must correct my suggestion actually, not symlinks, shell scripts,  
'exec g++-3.3 $@' etc.
The only difference is that using the path skulduggery will also  
catch things that just do g++ or c++ as the compiler.
Are we sure that mixing things compiled with 'g++-3.3' on panther and  
on tiger has no problems ?
I've no experience with this _ I did rebuild things in build-order on  
tiger.
dmr has experience that mixing things compiled on tiger under g++-3.3  
and g++-4.0 with -fabi-version=1
goes well _ and I have similar experience with -fabi-version=0.
But I am slightly sceptical with mixing 'g++-3.3' no-abi-version  
from panther and tiger...

JF
---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
On Apr 18, 2005, at 10:36, Jean-François Mertens wrote:
Are we sure that mixing things compiled with 'g++-3.3' on panther  
and on tiger has no problems ?
I've asked my coworkers for more information on this.  However, if it  
turns out there are compatibility issues, we have a way to fix them.

We have an SDK feature that can be used to guarantee that something  
built on a new OS can be deployed on an older OS.  To use this from  
the command line, add:
-isysroot /Developer/SDKs/MacOSX10.3.9.sdk
to your compiles.  The SDKs are an optional component in the Xcode  
Tools install, and they aren't installed by default.  They're under  
the Cross-Development category.


---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95alloc_id396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
On Apr 18, 2005, at 08:20, David R. Morrison wrote:
However, this discovery leaves us completely without a strategy for  
the Tiger upgrade.  The only one I can imagine at the moment is to  
force users to run gcc_select=3.3 when running under the 10.4- 
transitional tree, and later having them run gcc_select=4 when  
switching to the 10.4 tree.  Not a great strategy; maybe somebody  
will come up with a better one.
How about munging the info files to insert SetCC: gcc-3.3 into  
everything, or having (I think someone else suggested this) /sw/fink/ 
gccver which has symlinks for gcc, g++, etc. to /usr/bin/gcc-3.3 and  
prepend that to the PATH on all builds.


---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
On Apr 18, 2005, at 12:35, Matthew Sachs wrote:
We have an SDK feature that can be used to guarantee that  
something built on a new OS can be deployed on an older OS.  To use  
this from the command line, add:
-isysroot /Developer/SDKs/MacOSX10.3.9.sdk
Sorry, make that:
-isysroot /Developer/SDKs/MacOSX10.3.9.sdk \
-Wl,syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk

---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Jean-François Mertens
On 18 Apr 2005, at 18:44, Matthew Sachs wrote:
We have an SDK feature that can be used to guarantee that  
something built on a new OS can be deployed on an older OS.  To  
use this from the command line, add:
-isysroot /Developer/SDKs/MacOSX10.3.9.sdk
Sorry, make that:
-isysroot /Developer/SDKs/MacOSX10.3.9.sdk \
-Wl,syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk
Thanks !
But I think we are more concerned about the possbility
for users having switched to tiger to continue using some
of their old binaries build on panther (and even building
further on them) .  To quote :
On 18 Apr 2005, at 15:52, David R. Morrison wrote:
We were trying to design a system in which users could continue to  
use things they had already compiled under 10.3 and combine them  
with new things.
(My experience is that there was one seed were I had to recompile
basically everything (even compiled under earlier seeds), starting
with libiconv, because some symbols had disappeared from libSystem.)
Jean-François

---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95alloc_id396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
On Apr 18, 2005, at 12:56, Jean-François Mertens wrote:
Thanks !
But I think we are more concerned about the possbility
for users having switched to tiger to continue using some
of their old binaries build on panther (and even building
further on them) .  To quote :
Running Panther-built packages on Tiger is certainly something which  
should work.

The part I'mn less certain about is linking Tiger-built C++ code with  
Panther-built C++ code without using the SDK feature.

(My experience is that there was one seed were I had to recompile
basically everything (even compiled under earlier seeds), starting
with libiconv, because some symbols had disappeared from libSystem.)
It worked for me.  Can you reproduce this on 8A425?

---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95alloc_id396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
On Apr 18, 2005, at 10:36, Jean-François Mertens wrote:
Are we sure that mixing things compiled with 'g++-3.3' on panther  
and on tiger has no problems ?
I got an answer on this; you'll need to use the 10.3.9 SDK for this  
to be guaranteed to work.

---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95alloc_id396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread TheSin
in front of -I/sw/include ??  Just want to make sure it'll be higher in the search order then usr/include and stuff so we don't get things all mixed up.  Thanks to RangerRick's SDK virts we should be able to enforce this. ---TShttp://southofheaven.org/Chaos is the beginning and end, try dealing with the rest. On 18-Apr-05, at 11:48 AM, Matthew Sachs wrote:On Apr 18, 2005, at 10:36, Jean-François Mertens wrote: Are we sure that mixing things compiled with 'g++-3.3' on panther and on tiger has no problems ? I got an answer on this; you'll need to use the 10.3.9 SDK for this to be guaranteed to work.---SF email is sponsored by - The IT Product GuideRead honest  candid reviews on hundreds of IT Products from real users.Discover which products truly live up to the hype. Start reading now.http://ads.osdn.com/?ad_ide95alloc_id396op=click___Fink-devel mailing listFink-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/fink-devel 

Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
On Apr 18, 2005, at 14:39, TheSin wrote:
in front of -I/sw/include ??  Just want to make sure it'll be  
higher in the search order then usr/include and stuff so we don't  
get things all mixed up.  Thanks to RangerRick's SDK virts we  
should be able to enforce this.
Here's a full example, courtesy of XCode:
/usr/bin/gcc-4.0 -o hworld -Lhworld/build -Fhworld/build -filelist  
hworld/build/hworld.build/hworld.build/Objects-normal/ppc/ 
hworld.LinkFileList -arch ppc -isysroot /Developer/SDKs/ 
MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk

---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread David R. Morrison
I don't think the SDK compatibility things are the way to go for us.  If
we do this, we'll be stuck with 10.3 compatibility mode forever, right?

We may just have to make a clean break; perhaps we can put something like

Conflicts: macos ( 10.4)

into fink itself on 10.4?  This would stop people from trying to install
10.3-built packages on 10.4.

  -- Dave


---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
On Apr 18, 2005, at 14:50, David R. Morrison wrote:
I don't think the SDK compatibility things are the way to go for  
us.  If
we do this, we'll be stuck with 10.3 compatibility mode forever,  
right?
It just means that you can't link SDK-built C++ packages with non-SDK  
C++ packages.  However, this same restriction would apply to -fabi- 
version=1 packages and -fabi-version=2 packages.

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.

---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Dave Vasilevsky
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.
Code is here:  
http://www.opensource.apple.com/darwinsource/November2004GCCUpdate/ 
gcc_os-1671/gcc/c-common.c

I've looked at the source some. Looks like there's no way at all to  
pass -fabi-version=-1 to gcc, it doesn't like the non-digit '-'. Silly  
tricks like passing 2**32-1 don't work either. If anybody can figure  
out some way (however hacky) to specifically tell GCC to use -1, that  
may solve our problem.

The ONLY change that -fabi-version=1 makes (at least on Panther) is  
apparently the typeinfo bug that has been discovered. The bug does not  
occur if -fno-rtti is passed, but of course then programs that use RTTI  
don't work. Not much code uses typeid or dynamic_cast, so passing  
-fno-rtti could be a *very temporary* workaround for us, but programs  
that do need RTTI just won't work. (Unfortunately, if code uses RTTI  
and it's not enabled, there's no compile-time error, it just fails at  
runtime.)

Are we sure that mixing things compiled with 'g++-3.3' on panther and  
on tiger has no problems ?
I got an answer on this; you'll need to use the 10.3.9 SDK for this to  
be guaranteed to work.
I suspect that the non-Apple-guaranteed probability of them working  
together all the time very closely approaches 1. I wrote a very small  
test case for the RTTI issue, it's at  
http://vasi.webhop.org/files/misc/breakgcc.tgz . It's already  
half-built, under Panther. If anybody wants to test with 'make  
CC=gcc3.3' on Tiger, that would let us see whether we'd hit this issue  
in a 3.3 - 3.3 Tiger transition.

Dave


PGP.sig
Description: This is a digitally signed message part


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread David R. Morrison
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

---
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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread David R. Morrison
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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread TheSin
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 treeFor 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. ---TShttp://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.  -- DaveP.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 increating, integrating, and deploying reporting solutions. Free runtime info,new features, or free trial, at: http://www.businessobjects.com/devxi/728___Fink-devel mailing listFink-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/fink-devel 

Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Peter O'Gorman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Matthew Sachs wrote:
| On Apr 18, 2005, at 10:36, Jean-François Mertens wrote:
|
| Are we sure that mixing things compiled with 'g++-3.3' on panther  and
| on tiger has no problems ?
|
|
| I got an answer on this; you'll need to use the 10.3.9 SDK for this  to
| be guaranteed to work.
This does not make sense to me. We are not talking about linking with Apple
supplied c++ libraries in /usr/lib, but fink supplied ones in /sw/lib. How
could the sysroot setting change anything relevant there?
Peter
- --
Peter O'Gorman - http://www.pogma.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Darwin)
iQCVAwUBQmQ89LiDAg3OZTLPAQI0bQQAmji+8zWrltEfqAKFOnV2mwbXIRMUPN1k
GmJ7Rj1xAF/mzp7K312D5/clLyNDVVPj/LMvMMegFCfzFhtmGQlSyJBtd6zUueL2
Nhnf+0EyaMc9qRS/kM4KJIRsOU1OwFFKmaZOeFwNFoXxERCkURXl1na4pA+nhZfZ
RVxomJCncCw=
=jhOL
-END PGP SIGNATURE-
---
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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Peter O'Gorman
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Dave Vasilevsky wrote:
| I suspect that the non-Apple-guaranteed probability of them working
| together all the time very closely approaches 1. I wrote a very small
| test case for the RTTI issue, it's at
| http://vasi.webhop.org/files/misc/breakgcc.tgz . It's already
| half-built, under Panther. If anybody wants to test with 'make
| CC=gcc3.3' on Tiger, that would let us see whether we'd hit this issue
| in a 3.3 - 3.3 Tiger transition.
This test confuses me.
[On panther]
peter% make
g++ -fabi-version=1 -c break.cpp -o break.o
g++ -c lib.cpp -o lib.o
g++ -dynamiclib -o libbreak.dylib lib.o
g++ -fabi-version=1 -o break break.o libbreak.dylib
ld: Undefined symbols:
typeinfo for Test
make: *** [break] Error 1
peter% rm break.o
[Since this is on a shared volume, I now type make  tiger.log on tiger box]
peter% cat tiger.log
g++ -fabi-version=1 -c break.cpp -o break.o
g++ -fabi-version=1 -o break break.o libbreak.dylib
/usr/bin/ld: Undefined symbols:
typeinfo for Test
collect2: ld returned 1 exit status
make: *** [break] Error 1
peter% make clean
rm -rf *.o *.dylib break
[Do make  tiger1.log on tiger box]
peter% cat tiger1.log
g++ -fabi-version=1 -c break.cpp -o break.o
g++ -c lib.cpp -o lib.o
g++ -dynamiclib -o libbreak.dylib lib.o
g++ -fabi-version=1 -o break break.o libbreak.dylib
Please explain!
Peter
- --
Peter O'Gorman - http://www.pogma.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Darwin)
iQCVAwUBQmRKGriDAg3OZTLPAQIkeAP+MBxn5wGo3f6PLyeV3SozHJ9SbpgMtdoE
M/ULqLOtTzVu6HuonskAVfrKB4bTzNQyENd6Hovi6j5lncza/TD/9fcgGPPfIXYd
a6x/HuVHrHoWLzfOUXftZXwU6ztDLktTAadcGtUcMuqwETm8Bli6Weu3x7GuwHot
YTtqGtStTlc=
=2+kc
-END PGP SIGNATURE-
---
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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
Please explain!
Your 3.3-built object files weren't build with ABI version 1.  The  
following works:

Panther:
breakgcc$ g++ -c lib.cpp -fabi-version=1 -o lib.o
breakgcc$ g++ -dynamiclib -fabi-version=1 -o libbreak.dylib lib.o
Tiger:
breakgcc$ g++ -fabi-version=1 -o break break.o libbreak.dylib
g++ is 3.3 on Panther, 4.0 on Tiger.

---
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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
Okay, the following works:
Panther:
g++ -c lib.cpp -fabi-version=1 -o lib.o
g++ -dynamiclib -fabi-version=1 -o libbreak.dylib lib.o
Tiger:
g++-3.3  -isystem /Developer/SDKs/MacOSX10.3.9.sdk/usr/include/ 
gcc/darwin/3.3 -isystem /Developer/SDKs/MacOSX10.3.9.sdk/usr/include - 
c -o break.o break.cpp
g++-3.3  -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk -o  
break break.o libbreak.dylib


---
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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Benjamin Reed
Matthew Sachs wrote:
Okay, the following works:
Panther:
g++ -c lib.cpp -fabi-version=1 -o lib.o
g++ -dynamiclib -fabi-version=1 -o libbreak.dylib lib.o
I'm confused...  What good is this?  Thousands upon thousands of fink 
users already have pre-existing binaries that were built without 
-fabi-version=1 since apple made it -1 apparently...  This doesn't get 
us out of our pre-existing binary predicament.

---
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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Ernest Prabhakar
Ouch.I'm afraid this is mostly over my head, but if there's specific feedback (other than documenting -fabi-version) that comes up when this is all sorted out, please let me know.Yours,- Ernie P.On Apr 18, 2005, at 3:21 PM, TheSin wrote: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 treeFor 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.---TShttp://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.  -- DaveP.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 increating, integrating, and deploying reporting solutions. Free runtime info,new features, or free trial, at: http://www.businessobjects.com/devxi/728___Fink-devel mailing listFink-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/fink-devel 

Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
On Apr 18, 2005, at 21:03, Benjamin Reed wrote:
Matthew Sachs wrote:
Okay, the following works:
Panther:
g++ -c lib.cpp -fabi-version=1 -o lib.o
g++ -dynamiclib -fabi-version=1 -o libbreak.dylib lib.o
I'm confused...  What good is this?  Thousands upon thousands of  
fink users already have pre-existing binaries that were built  
without -fabi-version=1 since apple made it -1 apparently...  This  
doesn't get us out of our pre-existing binary predicament.
It shows that 3.3 and 4.0 can link when using the same ABI version.   
See my next email for a solution that lets us build on Tiger using  
3.3 against object files built on Panther with no ABI version specified.


---
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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Peter O'Gorman
Matthew Sachs wrote:
Okay, the following works:
Panther:
g++ -c lib.cpp -fabi-version=1 -o lib.o
g++ -dynamiclib -fabi-version=1 -o libbreak.dylib lib.o
Tiger:
g++-3.3  -isystem /Developer/SDKs/MacOSX10.3.9.sdk/usr/include/ 
gcc/darwin/3.3 -isystem /Developer/SDKs/MacOSX10.3.9.sdk/usr/include - c 
-o break.o break.cpp
g++-3.3  -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk -o  break 
break.o libbreak.dylib

Ah, how silly of me, of course I need to specify g++-3.3 on tiger. But then, 
doing that, I need neither the -isystem or the -syslibroot (by the way, why 
add -syslibroot to ld, why not just document NEXT_ROOT?), so why not just 
force g++ to be g++-3.3 for fink builds on tiger and leave it at that? 
Please convince me why the SDK is required.

Peter
--
Peter O'Gorman - http://www.pogma.com
---
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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Dave Vasilevsky
On Apr 19, 2005, at 12:09 AM, Peter O'Gorman wrote:
Ah, how silly of me, of course I need to specify g++-3.3 on tiger.
That or pass -fabi-version=1. Sorry for the confusion! My intro to this 
kinda sucked before, so according to what we know now, these are some 
examples of what should work and what should not.

1. On Panther, fabi-version=1 can't link to programs with the default 
fabi-version=-1, so this should break:

(Panther)
make clean; make CC_LIB=g++ CC='g++ -fabi-version=1'
2. On Panther, you can link everything with fabi-version=X, or 
everything without. Similarly on Tiger. So these should work:

(Panther)
make clean; make CC_LIB=g++ CC=g++
make clean; make CC_LIB='g++ -fabi-version=1' CC='g++ -fabi-version=1'
(Tiger)
make clean; make CC_LIB=g++ CC=g++
make clean; make CC_LIB=g++-3.3 CC=g++-3.3
(etc)
3. On Tiger, the default for fabi-version appears to be 1 (not -1), so 
these should work:

(Tiger) make clean; make CC_LIB=g++-3.3 CC='g++-3.3 -fabi-version=1'   
Note that this broke on Panther!

(Panther) make clean; make CC_LIB='g++-3.3 -fabi-version=1'   (Tiger) 
make CC='g++-3.3 -fabi-version=1'

And these should break:
(Panther) make clean; make CC_LIB=g++ libbreak.dylib(Tiger) make 
CC=g++-3.3
(Panther) make clean; make CC_LIB=g++ libbreak.dylib(Tiger) make 
CC='g++ -fabi-version=1'

That last example is the critical one, since it means that the way 
things are currently built on Panther cannot be linked to on Tiger! 
*grumble*

Note that I don't actually have Tiger to build on, so my results here 
are based on previous tests. I'd appreciate if someone could verify 
these, especially that last example, since I clearly had not explained 
things particularly well before.

Dave


PGP.sig
Description: This is a digitally signed message part


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Dave Vasilevsky
On Apr 18, 2005, at 6:21 PM, TheSin wrote:
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.
I strongly suspect this will not work. -fabi-version=0 is equivalent to 
-fabi-version=the maximum supported ABI version for this g++. So on 
g++-3.3 it's like 1, and on gcc 4 it's like 2. Clearly passing 1 on 
Panther and 2 on Tiger will not be inter-compatible.

Dave


PGP.sig
Description: This is a digitally signed message part


Re: [Fink-devel] Problem with -fabi-version=1

2005-04-18 Thread Matthew Sachs
On Apr 18, 2005, at 20:41, Matthew Sachs wrote:
Panther:
g++ -c lib.cpp -fabi-version=1 -o lib.o
g++ -dynamiclib -fabi-version=1 -o libbreak.dylib lib.o
Tiger:
g++-3.3  -isystem /Developer/SDKs/MacOSX10.3.9.sdk/usr/include/ 
gcc/darwin/3.3 -isystem /Developer/SDKs/MacOSX10.3.9.sdk/usr/ 
include -c -o break.o break.cpp
g++-3.3  -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk -o  
break break.o libbreak.dylib
I should also point out that this still works without using -fabi- 
version=1 on the Panther compiles.

In further testing, however, it seems that it also works with g++-3.3  
on Tiger and no -fabi-version on Panther without the SDK.  I've asked  
my coworkers for clarification on why we should be using the SDK in  
this situation.


---
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
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel