-
Notifications
You must be signed in to change notification settings - Fork 561
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to run Perl universal binaries on macOS Catalina(10.15) #18734
Comments
Could you please attach the config.sh generated by Configure on the m1? |
Thanks. Nothing leaps out at me when I compare it with an x86_64 config.sh, adding -Dmultiarch might fix the problem, but I doubt it. Could you please get a backtrace of the crash? You might need to rebuild with -Doptimize='-O3 -g' (or -O0 -g) to get line numbers in the backtrace. To do that, run the process under lldb:
Unfortunately the only Mac I have access to is an old Mac mini running 10.13.6, so I can't test your process myself. |
Hi @tonycoz Here are some crash details that you wish for
|
It just needs Please also add Given the instruction it crashes on, please also do:
in lldb after the crash Thanks |
I get this error if i don't pass any parameter to -Dmultiarch Full configure output
|
Ok, please try getting the backtrace without setting -Dmultiarch and with |
Hi @tonycoz Here is. my new configure command from config.sh
Output
|
Not sure if this helps, but comparing those 4 lines of code with what I get here, I suspect we're getting the SEGV at the va_arg() read for '%-p' (ie SVf) at sv.c:12445:
.. hit by the call from perl.c:3805:
|
Could you please:
Thanks |
Hi @tonycoz So I am not sure if this is what you said to show but here are config_arg numbers
And image list output
Thanks |
I don't see why you don't get line number information. Is there a reason you're using llvm-gcc instead of cc? (On my old mini both point at clang anyway) I tried following up @hvds suggestion, but I could only see that being a problem if we had prototype mismatches between the caller and called code, which would produce compiler warnings, which you haven't mentioned. I don't see a way for me to debug this any further without access to the hardware. |
@tonycoz do you think we need to arrange a meeting? Where we can work on this issue in a screen share session? |
Hi @tonycoz We are still stuck with this problem and I am attaching more build warnings this might help for debugging
Can you please help? Thanks |
Hi @tonycoz Here is the configure command |
Configure doesn't look at those environment variables, if you need Configure to include that option you'll need to supply |
We can try, I'm on UTC+1000 so matching times are often a problem. |
Hi @tonycoz |
That can work for me, I believe it will be 8pm Friday for me. You can contact me as "TonyC" on irc.perl.org or as TonyC ( |
One of the tests we did during the zoom session was to set Please test the following:
Please also paste the diff between the Thanks |
Hi @tonycoz Here are our findings
So seems like the problem is only with building Perl on |
I found that Perl Universal Binary modules which include In addition, the macOS Ventura Intel machine with the current Xcode built the universal binaries ok. However, only the x86_64 binary slice can be run/tested on the Intel processor. Related discussions are here: |
Hi there,
I am trying to build universal binaries for Perl with intel(x86_64) and arm64 support on macOS m1 machine.
Build part is done successfully and I have binaries with both of these architectures support
Issue
These binaries are working fine on this macOS m1 machine where I build them. But when I place these binaries on macOS Catalina(10.15) machine and try to check the Perl version I get few errors
In a default terminal session which is zsh
And in a bash session
Build details
$ LDFLAGS="-L/tmp/perl-test/lib" ./Configure -ders -Dcc=llvm-gcc -Dusethreads -Duseithreads -Uinstallusrbinperl -Ulocincpth= -Uloclibpth= -A ccflags=-DUSE_SITECUSTOMIZE -A ccflags=-DPERL_RELOCATABLE_INCPUSH -A ccflags=-Duselargefiles -Accflags="-arch x86_64 -arch arm64 -fno-merge-constants" -Aldflags="-arch x86_64 -arch arm64" -Duseshrplib -Dprefix=/tmp/perl-test -Dprivlib=/tmp/perl-test/lib -Darchlib=/tmp/perl-test/lib -Dsiteprefix=/tmp/perl-test/site -Dsitelib=/tmp/perl-test/site/lib -Dsitearch=/tmp/perl-test/site/lib
Now can someone please help me with some sort of solution?
Thanks.
The text was updated successfully, but these errors were encountered: