[bbf-osx32][~]> perl -V
Summary of my perl5 (revision 5 version 12 subversion 3) configuration:
Platform:
osname=darwin, osvers=10.6.0, archname=darwin-thread-multi-2level
uname='darwin bbf-osx32.local 10.6.0 darwin kernel version 10.6.0: sun jan 9
16:31:48 est 2011; legacy kernel v6 :xnu-1504.9.26buildobjrelease_i386 i386 '
config_args='-D inc_version_list=5.12.2/darwin-thread-multi-2level 5.12.2
5.12.1/darwin-thread-multi-2level 5.12.1 5.12.0/darwin-thread-multi-2level
5.12.0 -Dusethreads -Duseshrplib -des -Dprefix=/opt/local
-Dscriptdir=/opt/local/bin -Dcppflags=-I/opt/local/include -isysroot
/Developer/SDKs/MacOSX10.5.sdk -Dccflags=-pipe -O2 -isysroot
/Developer/SDKs/MacOSX10.5.sdk -arch i386 -Dldflags=-L/opt/local/lib
-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -arch i386
-Dvendorprefix=/opt/local -Dusemultiplicity=y -D cc=/usr/bin/gcc-4.0 -D
ld=/usr/bin/gcc-4.0 -D man1ext=1pm -D man3ext=3pm -D
man1dir=/opt/local/share/man/man1p -D man3dir=/opt/local/share/man/man3p -D
siteman1dir=/opt/local/share/man/man1 -D siteman3dir=/opt/local/share/man/man3
-D vendorman1dir=/opt/local/share/man/man1 -D
vendorman3dir=/opt/local/share/man/man3 -D pager=/usr/bin/less -sR'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='/usr/bin/gcc-4.0', ccflags ='-pipe -O2 -isysroot
/Developer/SDKs/MacOSX10.5.sdk -arch i386 -fno-common -DPERL_DARWIN
-I/opt/local/include -isysroot /Developer/SDKs/MacOSX10.5.sdk -no-cpp-precomp
-fno-strict-aliasing -fstack-protector -I/opt/local/include',
optimize='-O3',
cppflags='-I/opt/local/include -isysroot /Developer/SDKs/MacOSX10.5.sdk
-no-cpp-precomp -pipe -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386
-fno-common -DPERL_DARWIN -I/opt/local/include -isysroot
/Developer/SDKs/MacOSX10.5.sdk -no-cpp-precomp -fno-strict-aliasing
-fstack-protector -I/opt/local/include'
ccversion='', gccversion='4.0.1 (Apple Inc. build 5493)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='env MACOSX_DEPLOYMENT_TARGET=10.6 /usr/bin/gcc-4.0', ldflags
='-L/opt/local/lib -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -arch i386
-fstack-protector'
libpth=/opt/local/lib /usr/lib
libs=-lgdbm -ldbm -ldl -lm -lutil -lc
perllibs=-ldl -lm -lutil -lc
libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true, libperl=libperl.dylib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-L/opt/local/lib
-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -arch i386 -bundle -undefined
dynamic_lookup -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_ITHREADS
USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
USE_REENTRANT_API
Built under darwin
Compiled at Mar 11 2011 22:30:02
@INC:
/opt/local/lib/perl5/site_perl/5.12.3/darwin-thread-multi-2level
/opt/local/lib/perl5/site_perl/5.12.3
/opt/local/lib/perl5/vendor_perl/5.12.3/darwin-thread-multi-2level
/opt/local/lib/perl5/vendor_perl/5.12.3
/opt/local/lib/perl5/5.12.3/darwin-thread-multi-2level
/opt/local/lib/perl5/5.12.3
/opt/local/lib/perl5/site_perl
/opt/local/lib/perl5/vendor_perl
[bbf-osx32][~]> otool -L /opt/local/bin/perl
/opt/local/bin/perl:
/opt/local/lib/perl5/5.12.3/darwin-thread-multi-2level/CORE/libperl.dylib
(compatibility version 5.12.0, current version 5.12.3)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 111.1.4)
/usr/lib/libutil.dylib (compatibility version 1.0.0, current version
1.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version
1.0.0)
On 13 Mar 2011, at 1:53 PM, Mark Dootson wrote:
Hi,
What's your output from perl -V and otool -L path/to/bin/perl
On 13/03/2011 12:46, Philip Kime wrote:
Greetings,
I have to package an application for OSX 10.5 32-bit on a 64-bit OSX 10.6 box.
I am using macports for all of the software and have set this to use only the
10.5 SDK and 32-bit compilation which all works fine. This works as macports
sets some compile flags to point to the 10.5 SDK for all compiles. perl is
compiled like this and so all perl modules get the same flags and every piece
of the stuff to package is 10.5 compliant. However, when I come to pack with
pp, it doesn't seem to use the flags which perl was compiled with to create the
binary and so the executable dies on 10.5 with the famous:
dyld: unknown required load command 0x80000022
Trace/BPT trap
which is a known problem trying to run 10.6 compiled binaries on 10.5. This
should work however if you compile for 32-bit only and also force the 10.5 SDK,
which is what I have done. pp doesn't seem to understand this though and the
resulting binary fails on 10.5. Since I'm not sure how pp prepares its binary,
I am wondering if I can add flags to the compiler step or something similar to
force it to use the 10.5 SDK so that the 10.6-specific features which cause
this problem can be avoided?
PK
--
Dr Philip Kime
--
Dr Philip Kime