After modifying the gcc47 Portfile to prevent deletion of the static libstdc++ library, I rebuilt the libstdcxx dependency, adding the "+universal" variant modifier in order to get a libstdc++ library that can be used on 32- and 64-bit systems.
However, after the build step completed, the lipo tool reports that the resulting library is not universal. Here is a transcript of what steps I followed after the Portfile modification: $ sudo port -n upgrade --force libstdcxx +universal ---> Computing dependencies for libstdcxx ---> Cleaning libstdcxx ---> Unable to uninstall libstdcxx @4.7.2_2+universal, the following ports depend on it: ---> gcc45 @4.5.4_6 ---> gcc47 @4.7.2_2+universal Warning: Uninstall forced. Proceeding despite dependencies. ---> Deactivating libstdcxx @4.7.2_2+universal ---> Unable to deactivate libstdcxx @4.7.2_2+universal, the following ports depend on it: ---> gcc45 @4.5.4_6 ---> gcc47 @4.7.2_2+universal Warning: Deactivate forced. Proceeding despite dependencies. ---> Cleaning libstdcxx ---> Uninstalling libstdcxx @4.7.2_2+universal ---> Cleaning libstdcxx ---> Computing dependencies for libstdcxx ---> Fetching archive for libstdcxx ---> Attempting to fetch libstdcxx-4.7.2_2+universal.darwin_12.i386-x86_64.tbz2 from http://packages.macports.org/libstdcxx ---> Attempting to fetch libstdcxx-4.7.2_2+universal.darwin_12.i386-x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/libstdcxx ---> Attempting to fetch libstdcxx-4.7.2_2+universal.darwin_12.i386-x86_64.tbz2 from http://lil.fr.packages.macports.org/libstdcxx ---> Attempting to fetch libstdcxx-4.7.2_2+universal.darwin_12.i386-x86_64.tbz2 from http://jog.id.packages.macports.org/macports/packages/libstdcxx ---> Fetching distfiles for libstdcxx ---> Verifying checksum(s) for libstdcxx ---> Extracting libstdcxx ---> Applying patches to libstdcxx ---> Configuring libstdcxx ---> Building libstdcxx ---> Staging libstdcxx into destroot ---> Installing libstdcxx @4.7.2_2+universal ---> Activating libstdcxx @4.7.2_2+universal ---> Cleaning libstdcxx ---> Updating database of binaries: 100.0% ---> Scanning binaries for linking errors: 100.0% ---> No broken files found. $ lipo -info /opt/local/lib/libstdc++.a input file /opt/local/lib/libstdc++.a is not a fat file Non-fat file: /opt/local/lib/libstdc++.a is architecture: x86_64 Is there an extra step required to get a universal libstdc++ static library? Or is the fat library kept in another location? Regards, Alex _______________________________________________ macports-dev mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-dev
