Opened 12 years ago

Closed 12 years ago

#36221 closed defect (fixed)

On older OS versions, apple-gcc42 can't find libstdc++

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: adfernandes (Andrew Fernandes), jeremyhu (Jeremy Huddleston Sequoia), de5ton56@…
Port: apple-gcc40 apple-gcc42 llvm-gcc

Description

The end of building goes this way:

checking for uint_fast64_t... yes
checking for uintptr_t... yes
checking for the GMP library version 4.1.3 or above... no
configure: error: Cannot find GMP version 4.1.3 or higher.
GMP is the GNU Multi-Precision library:
see http://www.swox.com/gmp/ for more information.
When compiling the GMP library, do not forget to enable the C++ interface:
add --enable-cxx to the configuration options.
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_devel_ppl/ppl/work/ppl-1.0" && ./configure --prefix=/opt/local 
Exit code: 1
Error: org.macports.configure for port ppl returned: configure failure: command execution failed

The reason can be found in config.log:

configure:9481: checking for the GMP library version 4.1.3 or above
configure:9570: /opt/local/bin/g++-apple-4.2 -o conftest  -g -O2 -frounding-math -pipe -O2 -arch ppc -I/opt/local/include  -L/opt/local/lib -arch ppc conftest.cpp   -lgmpxx -lgmp >&5
ld: library not found for -lstdc++
collect2: ld returned 1 exit status
configure:9570: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "the Parma Polyhedra Library"
| #define PACKAGE_TARNAME "ppl"
| #define PACKAGE_VERSION "1.0"
| #define PACKAGE_STRING "the Parma Polyhedra Library 1.0"
| #define PACKAGE_BUGREPORT "ppl-devel@cs.unipr.it"
| #define PACKAGE_URL ""
| #define PPL_CONFIGURE_OPTIONS " '--prefix=/opt/local' 'CC=/opt/local/bin/gcc-apple-4.2' 'CFLAGS=-pipe -O2 -arch ppc' 'LDFLAGS=-L/opt/local/lib -arch ppc' 'CPPFLAGS=-I/opt/local/include' 'CXX=/opt/local/bin/g++-apple-4.2' 'CXXFLAGS=-pipe -O2 -arch ppc'"
| #define PPL_NDEBUG 1
| #define PPL_FPMATH_MAY_USE_387 1
| #define PPL_FPMATH_MAY_USE_SSE 1
| #define PPL_COEFFICIENT_TYPE mpz_class
| #define PPL_COEFFICIENT_BITS 0
| #define PPL_GMP_INTEGERS 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define WORDS_BIGENDIAN 1
| #define HAVE_TYPEOF 1
| #define SIZEOF_CHAR 1
| #define SIZEOF_SHORT 2
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 4
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_SIZE_T 4
| #define SIZEOF_FLOAT 4
| #define SIZEOF_DOUBLE 8
| #define SIZEOF_LONG_DOUBLE 16
| #define SIZEOF_INTP 4
| #define SIZEOF_FP 4
| #define HAVE_FENV_H 1
| #define PPL_CAN_CONTROL_FPU 0
| #define PPL_CXX_PLAIN_CHAR_IS_SIGNED 1
| #define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 0
| #define PPL_SUPPORTED_FLOAT 0
| #define PPL_SUPPORTED_DOUBLE 0
| #define PPL_SUPPORTED_LONG_DOUBLE 0
| #define PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS 0
| #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 0
| #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1
| #define HAVE_FENV_H 1
| #define HAVE_GETOPT_H 1
| #define HAVE_SIGNAL_H 1
| #define HAVE_STRING_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_RESOURCE_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DECL_FFS 1
| #define HAVE_DECL_GETENV 1
| #define HAVE_DECL_STRTOF 1
| #define HAVE_DECL_STRTOD 1
| #define HAVE_DECL_STRTOLD 1
| #define HAVE_DECL_STRTOLL 1
| #define HAVE_DECL_STRTOULL 1
| #define HAVE_DECL_FMA 1
| #define HAVE_DECL_FMAF 1
| #define HAVE_DECL_FMAL 1
| #define HAVE_DECL_RINTF 1
| #define HAVE_DECL_RINTL 1
| #define HAVE_INT_FAST16_T 1
| #define HAVE_INT_FAST32_T 1
| #define HAVE_INT_FAST64_T 1
| #define HAVE_UINT_FAST16_T 1
| #define HAVE_UINT_FAST32_T 1
| #define HAVE_UINT_FAST64_T 1
| #define HAVE_UINTPTR_T 1
| /* end confdefs.h.  */
| 
| #include <gmpxx.h>
| #include <climits>
| #include <string>
| #include <sstream>
| #include <iostream>
| 
| #if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR == 1 && __GNU_MP_VERSION_PATCHLEVEL < 3)
| #GMP version 4.1.3 or higher is required
| #endif
| 
| #ifndef BITS_PER_MP_LIMB
| #define BITS_PER_MP_LIMB GMP_LIMB_BITS
| #endif
| 
| int
| main() {
|   std::string header_version;
|   {
|     std::ostringstream s(header_version);
|     s << __GNU_MP_VERSION << "." << __GNU_MP_VERSION_MINOR;
|     // Starting from GMP version 4.3.0, the gmp_version variable
|     // always contains three parts.  In previous versions the
|     // patchlevel was omitted if it was 0.
|     if (__GNU_MP_VERSION_PATCHLEVEL != 0
|         || __GNU_MP_VERSION > 4
|         || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR >= 3))
|       s << "." << __GNU_MP_VERSION_PATCHLEVEL;
|     header_version = s.str();
|   }
| 
|   std::string library_version = gmp_version;
| 
|   if (header_version != library_version) {
|     std::cerr
|       << "GMP header (gmpxx.h) and library (ligmpxx.*) version mismatch:\n"
|       << "header gives " << header_version << ";\n"
|       << "library gives " << library_version << "." << std::endl;
|     return 1;
|   }
| 
|   if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
|       || BITS_PER_MP_LIMB != mp_bits_per_limb) {
|     std::cerr
|       << "GMP header (gmpxx.h) and library (ligmpxx.*) bits-per-limb mismatch:\n"
|       << "header gives " << BITS_PER_MP_LIMB << ";\n"
|       << "library gives " << mp_bits_per_limb << ".\n"
|       << "This probably means you are on a bi-arch system and\n"
|       << "you are compiling with the wrong header or linking with\n"
|       << "the wrong library." << std::endl;
|     return 1;
|   }
| 
|   mpz_class n("3141592653589793238462643383279502884");
|   return 0;
| }
| 
configure:9575: result: no
configure:9710: error: Cannot find GMP version 4.1.3 or higher.
GMP is the GNU Multi-Precision library:
see http://www.swox.com/gmp/ for more information.
When compiling the GMP library, do not forget to enable the C++ interface:
add --enable-cxx to the configuration options.

/opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib does not exist. When I activate apple-gcc42 @5666.3_7 the file exists, with apple-gcc42 @5666.3_8 it does not exist.

Attachments (2)

main.log (14.2 KB) - added by ballapete (Peter "Pete" Dyballa) 12 years ago.
main.log
main.2.log (13.6 KB) - added by ballapete (Peter "Pete" Dyballa) 12 years ago.
ld64 main.log

Download all attachments as: .zip

Change History (18)

Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

main.log

comment:1 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Eh... you don't have a /usr/lib/libstdc++.dylib ... ?

Last edited 12 years ago by jeremyhu (Jeremy Huddleston Sequoia) (previous) (diff)

comment:2 in reply to:  1 ; Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

Eh... you don't have a /usr/lib/libstdc++.dylib ... ?

This file exists, but this file belongs on Tiger, Mac OS X 10.4(.11) to GCC 4.0.1. MacPorts' GCC 4.2.1, opt/local/bin/g++-apple-4.2, which was used for compilation of ppl, has its own /opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib. While the old apple-gcc42 @5666.3_7 did provide that file, apple-gcc42 @5666.3_8 seems to remove it.

With apple-gcc42 @5666.3_7 set active I could compile ppl.

Later I can attach logs from activating/deactivating apple-gcc42 and list the files activated/installed with ls. But before I can do that I have to document a bug with GCC 4.7.1 on PPC Tiger…

comment:3 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

A 'diff activate_apple-gcc42\ @5666.3_8 activate_apple-gcc42\ @5666.3_7' form the saved logs of "port -vd activate …" gives (edited):

38c38
< --->  Deactivating apple-gcc42 @5666.3_7
---
> --->  Deactivating apple-gcc42 @5666.3_8
73d72
< DEBUG: deactivating file: /opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib


< --->  Activating apple-gcc42 @5666.3_8
---
> --->  Activating apple-gcc42 @5666.3_7
234a234
> ./opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib
340a341
> DEBUG: activating file: /opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib

I now have:

pete 232 /\ port installed | grep gcc
  apple-gcc42 @5666.3_7 (active)
  apple-gcc42 @5666.3_8
  gcc43 @4.3.6_3 (active)
  gcc_select @0.1_6
  gcc_select @0.1_7 (active)
pete 233 /\ port select --list gcc
Available versions for gcc:
	apple-gcc42 (active)
	gcc33
	gcc40
	mp-gcc43
	none
pete 235 /\ l /opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib
-rwxr-xr-x 1 macports admin 858088  5. Jun 21:41 /opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib

Switching from apple-gcc42 @5666.3_7 to apple-gcc42 @5666.3_8 I have:

pete 236 /\ port installed | grep gcc
  apple-gcc42 @5666.3_7
  apple-gcc42 @5666.3_8 (active)
  gcc43 @4.3.6_3 (active)
  gcc_select @0.1_6
  gcc_select @0.1_7 (active)
pete 237 /\ l /opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib
/sw/bin/gls: Zugriff auf /opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib nicht möglich: No such file or directory
Exit 2
pete 240 /\ env LANG=C gls -Nl /opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib
gls: cannot access /opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib: No such file or directory
Exit 2

I also wonder why I get

pete 241 /\ port outdated
The following installed ports are outdated:
gcc43                          4.3.6_3 < 4.3.6_6         

and "port -v upgrade outdated" tries to install completely different packages!

comment:4 in reply to:  2 ; Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Replying to Peter_Dyballa@…:

Replying to jeremyhu@…:

Eh... you don't have a /usr/lib/libstdc++.dylib ... ?

This file exists, but this file belongs on Tiger, Mac OS X 10.4(.11) to GCC 4.0.1. MacPorts' GCC 4.2.1, opt/local/bin/g++-apple-4.2, which was used for compilation of ppl, has its own /opt/local/lib/apple-gcc42/gcc/powerpc-apple-darwin8/4.2.1/libstdc++.dylib. While the old apple-gcc42 @5666.3_7 did provide that file, apple-gcc42 @5666.3_8 seems to remove it.

yes, it removes it on purpose... so the compiler will just use /usr/lib/libstdc++.dylib

I still don't understand how you can have /usr/lib/libstdc++.dylib and have the linker complain "ld: library not found for -lstdc++"

comment:5 in reply to:  4 ; Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

Replying to Peter_Dyballa@…:

I still don't understand how you can have /usr/lib/libstdc++.dylib and have the linker complain "ld: library not found for -lstdc++"

Because the non-default 'CC=/opt/local/bin/gcc-apple-4.2' and 'CXX=/opt/local/bin/g++-apple-4.2' know that they can't use the default ld?

In the evening I can make some tests, for example with compiling GNU Emacs 24.2.50, to see what gets used… with both apple-gcc42 @5666.3_7 and apple-gcc42 @5666.3_8.

comment:6 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

It seems that that the port documentation (man port) is only loosely connected to reality. Both described methods to rebuild ppl, 'port upgrade --force ppl' and 'port -n upgrade ppl' rebuild (or install?) a zillion of packages. Maybe one of these days it will happen that ppl itself gets rebuilt…

comment:7 in reply to:  5 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Replying to Peter_Dyballa@…:

Replying to jeremyhu@…:

Replying to Peter_Dyballa@…:

I still don't understand how you can have /usr/lib/libstdc++.dylib and have the linker complain "ld: library not found for -lstdc++"

Because the non-default 'CC=/opt/local/bin/gcc-apple-4.2' and 'CXX=/opt/local/bin/g++-apple-4.2' know that they can't use the default ld?

They use MacPorts's ld64 linker, but it should be finding /usr/lib/libstdc++.dylib ...

comment:8 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

You can just 'sudo port -v -f uninstall ppl && sudo port -v install ppl'

comment:9 in reply to:  8 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

You can just 'sudo port -v -f uninstall ppl && sudo port -v install ppl'

This leads to a new error while building ld64:

--->  Building ld64
DEBUG: Executing proc-pre-org.macports.build-build-0
DEBUG: Executing org.macports.build (ld64)
DEBUG: Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_devel_ld64/ld64/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.4'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_devel_ld64/ld64/work/ld64-97.17" && /usr/bin/make -w all CC="/opt/local/bin/gcc-apple-4.2" CXX="/opt/local/bin/g++-apple-4.2" OTHER_CPPFLAGS="-I/opt/local/include" OTHER_CFLAGS="-O2 -arch ppc" OTHER_CXXFLAGS="-O2 -arch ppc" OTHER_LDFLAGS="-L/opt/local/lib -arch ppc" OTHER_LDFLAGS_LD64=-lcrypto'
DEBUG: Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_devel_ld64/ld64/work/ld64-97.17" && /usr/bin/make -w all CC="/opt/local/bin/gcc-apple-4.2" CXX="/opt/local/bin/g++-apple-4.2" OTHER_CPPFLAGS="-I/opt/local/include" OTHER_CFLAGS="-O2 -arch ppc" OTHER_CXXFLAGS="-O2 -arch ppc" OTHER_LDFLAGS="-L/opt/local/lib -arch ppc" OTHER_LDFLAGS_LD64=-lcrypto 
make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_devel_ld64/ld64/work/ld64-97.17'
/opt/local/bin/g++-apple-4.2 -Os -O2 -arch ppc  -Isrc/abstraction -Isrc/ld -I/opt/local/include  -c -o src/other/ObjectDump.o src/other/ObjectDump.cpp
/opt/local/bin/gcc-apple-4.2 -Os -O2 -arch ppc  -Isrc/abstraction -Isrc/ld -I/opt/local/include  -c -o src/ld/debugline.o src/ld/debugline.c
/opt/local/bin/g++-apple-4.2  -L/opt/local/lib -arch ppc src/other/ObjectDump.o src/ld/debugline.o -o ObjectDump
/usr/bin/ld: can't locate file for: -lstdc++
collect2: ld returned 1 exit status
make: *** [ObjectDump] Error 1
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_tarballs_ports_devel_ld64/ld64/work/ld64-97.17'

Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.2.log added

ld64 main.log

comment:10 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

That's not a new error. That's exactly the same as your original error:

/usr/bin/ld: can't locate file for: -lstdc++

For some reason, your /usr/lib/libstdc++.dylib seems to be messed up...

comment:11 in reply to:  10 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

That's not a new error. That's exactly the same as your original error:

/usr/bin/ld: can't locate file for: -lstdc++

For some reason, your /usr/lib/libstdc++.dylib seems to be messed up...

If so, then possibly on all Mac OS X boxes…

I have Tiger (Mac OS X 10.4.11) on an external disk which I can boot over FireWire. I have mounted that disk on my MacBook Pro right now. Here, locally, Snow Leopard/Mac OS X 10.6.8, with Rosetta, I can see:

-rw-r--r-- 1 root wheel 15262940 10. Mai 2010  /usr/lib/libstdc++-static.a
-rwxr-xr-x 1 root wheel  2439888 18. Mai 2009  /usr/lib/libstdc++.6.0.9.dylib
lrwxr-xr-x 1 root wheel       21 19. Apr 17:29 /usr/lib/libstdc++.6.dylib -> libstdc++.6.0.9.dylib

and on Tiger:

-rw-r--r-- 1 pete pete 6766864 20. Apr 2007  /Volumes/Tiger/usr/lib/libstdc++-static.a
-rwxr-xr-x 1 pete pete 2267176  7. Mär 2009  /Volumes/Tiger/usr/lib/libstdc++.6.0.3.dylib
-rwxr-xr-x 1 pete pete 2001208 22. Okt 2009  /Volumes/Tiger/usr/lib/libstdc++.6.0.4.dylib
lrwxr-xr-x 1 pete pete      21 29. Nov 2009  /Volumes/Tiger/usr/lib/libstdc++.6.dylib -> libstdc++.6.0.4.dylib

while in the SDKs I can see:

-rw-r--r-- 1 pete pete 1763196 20. Sep 2007  /Volumes/Tiger/Developer/SDKs/MacOSX10.3.9.sdk/usr/lib/libstdc++-static.a
-rwxr-xr-x 1 pete pete  946720 15. Sep 2006  /Volumes/Tiger/Developer/SDKs/MacOSX10.3.9.sdk/usr/lib/libstdc++.6.0.3.dylib
lrwxr-xr-x 1 pete pete      21 28. Nov 2009  /Volumes/Tiger/Developer/SDKs/MacOSX10.3.9.sdk/usr/lib/libstdc++.6.dylib -> libstdc++.6.0.3.dylib
lrwxr-xr-x 1 pete pete      21 28. Nov 2009  /Volumes/Tiger/Developer/SDKs/MacOSX10.3.9.sdk/usr/lib/libstdc++.dylib -> libstdc++.6.0.3.dylib
-rw-r--r-- 1 pete pete 2966776 20. Apr 2007  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/darwin/3.3/libstdc++.a
-rw-r--r-- 1 pete pete 2966776 20. Apr 2007  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/darwin/3.3/libstdc++_ZeroLink.a
-rw-r--r-- 1 pete pete 1688364 27. Mai 2005  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.0/libstdc++.a
lrwxr-xr-x 1 pete pete      26 28. Nov 2009  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.0/libstdc++.dylib -> ../../../libstdc++.6.dylib
lrwxr-xr-x 1 pete pete      26 28. Nov 2009  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.1/libstdc++.dylib -> ../../../libstdc++.6.dylib
-rw-r--r-- 1 pete pete 1789636 27. Mai 2005  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/libstdc++.a
lrwxr-xr-x 1 pete pete      26 28. Nov 2009  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/powerpc-apple-darwin8/4.0.0/libstdc++.dylib -> ../../../libstdc++.6.dylib
lrwxr-xr-x 1 pete pete      26 28. Nov 2009  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/libstdc++.dylib -> ../../../libstdc++.6.dylib
-rw-r--r-- 1 pete pete 6766864 20. Apr 2007  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a
-rwxr-xr-x 1 pete pete 1340048 13. Sep 2007  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.0.4.dylib
lrwxr-xr-x 1 pete pete      21 28. Nov 2009  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.dylib -> libstdc++.6.0.4.dylib
lrwxr-xr-x 1 pete pete      21 28. Nov 2009  /Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.dylib -> libstdc++.6.0.4.dylib

Here a symlink libstdc++.dylib exists while the system only has libstdc++.6.dylib. The file command tells:

/Volumes/Tiger/usr/lib/libstdc++-static.a:    Mach-O fat file with 4 architectures
/Volumes/Tiger/usr/lib/libstdc++-static.a (for architecture ppc):	current ar archive
/Volumes/Tiger/usr/lib/libstdc++-static.a (for architecture i386):	current ar archive
/Volumes/Tiger/usr/lib/libstdc++-static.a (for architecture ppc64):	current ar archive
/Volumes/Tiger/usr/lib/libstdc++-static.a (for architecture x86_64):	current ar archive
/Volumes/Tiger/usr/lib/libstdc++.6.0.3.dylib: Mach-O fat file with 2 architectures
/Volumes/Tiger/usr/lib/libstdc++.6.0.3.dylib (for architecture ppc64):	Mach-O 64-bit dynamically linked shared library ppc64
/Volumes/Tiger/usr/lib/libstdc++.6.0.3.dylib (for architecture ppc):	Mach-O dynamically linked shared library ppc
/Volumes/Tiger/usr/lib/libstdc++.6.0.4.dylib: Mach-O fat file with 2 architectures
/Volumes/Tiger/usr/lib/libstdc++.6.0.4.dylib (for architecture ppc64):	Mach-O 64-bit dynamically linked shared library ppc64
/Volumes/Tiger/usr/lib/libstdc++.6.0.4.dylib (for architecture ppc):	Mach-O dynamically linked shared library ppc
/Volumes/Tiger/usr/lib/libstdc++.6.dylib:     Mach-O fat file with 2 architectures
/Volumes/Tiger/usr/lib/libstdc++.6.dylib (for architecture ppc64):	Mach-O 64-bit dynamically linked shared library ppc64
/Volumes/Tiger/usr/lib/libstdc++.6.dylib (for architecture ppc):	Mach-O dynamically linked shared library ppc

and

/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a:    Mach-O fat file with 4 architectures
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a (for architecture ppc):	current ar archive
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a (for architecture i386):	current ar archive
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a (for architecture ppc64):	current ar archive
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a (for architecture x86_64):	current ar archive
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.0.4.dylib: Mach-O fat file with 4 architectures
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.0.4.dylib (for architecture ppc):	Mach-O filetype=9 ppc
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.0.4.dylib (for architecture i386):	Mach-O filetype=9 i386
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.0.4.dylib (for architecture ppc64):	Mach-O 64-bit dynamically linked shared library stub ppc64
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.0.4.dylib (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library stub x86_64
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.dylib:     Mach-O fat file with 4 architectures
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.dylib (for architecture ppc):	Mach-O filetype=9 ppc
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.dylib (for architecture i386):	Mach-O filetype=9 i386
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.dylib (for architecture ppc64):	Mach-O 64-bit dynamically linked shared library stub ppc64
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.6.dylib (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library stub x86_64
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.dylib:       Mach-O fat file with 4 architectures
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.dylib (for architecture ppc):	Mach-O filetype=9 ppc
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.dylib (for architecture i386):	Mach-O filetype=9 i386
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.dylib (for architecture ppc64):	Mach-O 64-bit dynamically linked shared library stub ppc64
/Volumes/Tiger/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++.dylib (for architecture x86_64):	Mach-O 64-bit dynamically linked shared library stub x86_64

Lipo reports quite the same:

pete 473 /\ lipo -info /Volumes/Tiger/usr/lib/libstdc++*
Architectures in the fat file: /Volumes/Tiger/usr/lib/libstdc++-static.a are: ppc i386 ppc64 x86_64 
Architectures in the fat file: /Volumes/Tiger/usr/lib/libstdc++.6.0.3.dylib are: ppc64 ppc 
Architectures in the fat file: /Volumes/Tiger/usr/lib/libstdc++.6.0.4.dylib are: ppc64 ppc 
Architectures in the fat file: /Volumes/Tiger/usr/lib/libstdc++.6.dylib are: ppc64 ppc 

MacPorts on Tiger provides (ppc only):

pete 462 /\ find /Volumes/Tiger/opt/local -name "libstdc++*" -ls
6768566     8864 -rwxr-xr-x    1 pete     pete      4537508  7 Mai 12:27 /Volumes/Tiger/opt/local/lib/gcc43/libstdc++.6.dylib
6768567    17728 -rw-r--r--    1 pete     pete      9074308  7 Mai 12:27 /Volumes/Tiger/opt/local/lib/gcc43/libstdc++.a
6768568        8 lrwxrwxrwx    1 pete     pete           17  7 Mai 13:12 /Volumes/Tiger/opt/local/lib/gcc43/libstdc++.dylib -> libstdc++.6.dylib
6768569        8 -rwxr-xr-x    1 pete     pete         1319  7 Mai 12:27 /Volumes/Tiger/opt/local/lib/gcc43/libstdc++.la

Do I simply need to create a symlink libstdc++.dylib in /usr/lib ?

comment:12 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: worksforme
Status: newclosed

Ok, so when I asked if you had /usr/lib/libstdc++.dylib in my initial comment, you said yes, but you actually don't have it.

You *should* have it on your system, so yes, please restore your /usr/lib/libstdc++.dylib symlink...

comment:13 in reply to:  12 Changed 12 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

Ok, so when I asked if you had /usr/lib/libstdc++.dylib in my initial comment, you said yes, but you actually don't have it.

Since none of the Mac OS X versions I use has a symlink "/usr/lib/libstdc++.dylib" I supposed you meant the regular "/usr/lib/libstdc++.6.dylib" symlink.

You *should* have it on your system, so yes, please restore your /usr/lib/libstdc++.dylib symlink...

With this extra symlink ld64 could be built and ppl is building after configure finished, finding an useful GMP installation.

comment:14 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Port: apple-gcc40 apple-gcc42 llvm-gcc added; ppl removed
Resolution: worksforme
Status: closedreopened
Summary: ppl @1.0 cannot be configured on PPC Tiger because g++-apple-4.2 cannot find libstdc++On older OS versions, apple-gcc42 can't find libstdc++

Reopening ... it looks like some ancient versions actually don't have that symlink, so we should set it up in apple-gcc4{0,2} and llvm-gcc42

comment:15 Changed 12 years ago by de5ton56@…

Cc: de5ton56@… added

Cc Me!

comment:16 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.