Hi,
On 27/02/2012 16:05, breno wrote:
I'll gladly give you remote access to my system if it helps debug
this. Just find me (garu) on irc.perl.org or send me a private email.
Thanks for the offer, but I'll have no problem setting up an Xcode 4.3
test environment in due course, I just have not got one at the moment.
but my guess would be that having a Perl compiled with SDK
10.7 against a Wx and or wxWidgets compiled with SDK 10.6 causes problems.
But I can't be sure until I've setup 4.3 SDK and tested this at some point
in the future.
wxWidgets was definitely compiled with SDK 10.6. I would expect perl
to have been compiled against 10.7, but looking at the build.log file
I saw no mention of it. Strangely enough, here's what I saw instead:
What command should be used to create dynamic libraries?
[env MACOSX_DEPLOYMENT_TARGET=10.3 cc]
This is correct. It comes from configure. It determines some linker
options as I recall. (amongst other things). The deployment target and
the SDK used are two different things.
I tried going the other way, but I don't see a way in Alien::wxWidgets
to force the downloaded library to be compiled against a different
SDK. I'll also give it a try in wxWidgets' Makefile, but this is all
new ground to me so any help would still be greatly appreciated :)
I need to issue updated Wx and Alien::wxWidgets to allow building
wxWidgets 2.9.3 on all platforms. I'll ensure that the necessary fixes
for Xcode 4.3 are in place.
In the meantime, it seems your best option is a Perl built with SDK 10.6:
Running the following as the configure script to the Perl 5.14.2 source
should work. You will have to edit the
export CUSTOMBUILDPREFIX=/User/myusername/perlpath
appropriately.
Also you may wish to remove -Dsiteprefix,-Dsitelib and -Dsitearch if you
don't want a simplified layout.
You could pass all the options to perlbrew instead, I suppose.
Install of Alien::wxWidgets will only work because you have symlinked
/Developer to the correct location, and Wx will only compile as you have
symlinked /Developer/Tools similarly. I'll remove this requirement in
the next Alien / Wx release.
I'm not suggesting this is the best way to go about things. Just sharing
what I have at present.
Regards
Mark
export CUSTOMBUILDPREFIX=/User/myusername/perlpath
export
CUSTOMBUILDSDK=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk
export CUSTOMBUILDMINVERSION=10.6
export CUSTOMBUILDARCHES=-arch x86_64
export CUSTOMBUILDGCC=gcc
export CUSTOMBUILDCPP=g++
./Configure -ders \
-Dcc=$CUSTOMBUILDGCC \
-Dld=$CUSTOMBUILDCPP \
-Dusethreads \
-Duseithreads \
-Uinstallusrbinperl \
-Ulocincpth= \
-Uloclibpth= \
-Ud_poll \
-Ui_poll \
-Ui_libutil \
-Aldflags="-Wl,-search_paths_first" \
-Alddlflags="-Wl,-search_paths_first" \
-Accflags="$CUSTOMBUILDARCHES" \
-Aldflags="$CUSTOMBUILDARCHES" \
-Alddlflags="$CUSTOMBUILDARCHES" \
-Accflags="-B$CUSTOMBUILDSDK/usr/include/gcc -B$CUSTOMBUILDSDK/usr/lib/gcc
-isystem/$CUSTOMBUILDSDK/usr/include
-F$CUSTOMBUILDSDK/System/Library/Frameworks
-mmacosx-version-min=$CUSTOMBUILDMINVERSION" \
-Aldflags="-Wl,-syslibroot,$CUSTOMBUILDSDK
-mmacosx-version-min=$CUSTOMBUILDMINVERSION" \
-Alddlflags="-Wl,-syslibroot,$CUSTOMBUILDSDK
-mmacosx-version-min=$CUSTOMBUILDMINVERSION" \
-Accflags="-DUSE_SITECUSTOMIZE -Duselargefiles" \
-Accflags=-DPERL_RELOCATABLE_INCPUSH \
-Accflags="-fno-merge-constants" \
-Dprefix=$CUSTOMBUILDPREFIX \
-Dprivlib=$CUSTOMBUILDPREFIX/lib \
-Darchlib=$CUSTOMBUILDPREFIX/lib \
-Dsiteprefix=$CUSTOMBUILDPREFIX/site \
-Dsitelib=$CUSTOMBUILDPREFIX/site/lib \
-Dsitearch=$CUSTOMBUILDPREFIX/site/lib \
-Dsed=/usr/bin/sed \
-Duseshrplib