Mac::AppleEvents, gcc3, C++

pudge on 2002-12-05T05:54:08

I've got most of it ported, though I've not done any testing yet. I am running into some undefined symbol errors:

$ perl -Iblib/arch -Iblib/lib -MMac::AppleEvents -e1 dyld: perl Undefined symbols: __ZdlPv __Znwm ___gxx_personality_v0

They are apparently related to C++ (AppleEvents.xs links to PerlAEUtils.cp) and gcc and linking. I just don't really have a clue as to how to deal with it.


Mac::Carbon Mac::Trouble

KurtA on 2003-02-03T21:27:50

I'm having the same problem. On installing Mac::Carbon, everything seemed to be going pretty well until...

Speech/t/Speech................ok 3/8## Component Manager: attempting to find symbols in a component alias of type (regR/carP/x!bt)
Speech/t/Speech................ok
t/Carbon.......................dyld: /usr/bin/perl Undefined symbols:
__ZdlPv
__Znwm
___gxx_personality_v0
t/Carbon.......................dubious
Test returned status 0 (wstat 5, 0x5)
DIED. FAILED tests 1-4
Failed 4/4 tests, 0.00% okay
Types/t/Types..................ok
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/Carbon.t 0 5 4 4 100.00% 1-4
Failed 1/13 test scripts, 92.31% okay. 4/85 subtests failed, 95.29% okay.


The crash log showed:
Date/Time: 2003-02-03 16:09:37 -0500
OS Version: 10.2.3 (Build 6G30)
Host: the-Computer.local.

Command: perl
PID: 21615

Exception: EXC_BREAKPOINT (0x0006)
Code[0]: 0x00000001Code[1]: 0x8fe01280

Thread 0 Crashed:
#0 0x8fe01280 in halt
#1 0x8fe106b4 in link_in_need_modules
#2 0x8fe12230 in _dyld_link_module
#3 0x90016ae8 in NSLinkModule
#4 0x00001c74 in XS_DynaLoader_dl_load_file
#5 0x00181ea0 in Perl_pp_entersub
#6 0x0017b530 in Perl_runops_standard
#7 0x0011e570 in Perl_call_sv
#8 0x00122128 in S_call_list_body
#9 0x00121c9c in Perl_call_list
#10 0x00150344 in Perl_newATTRSUB
#11 0x0014b148 in Perl_utilize
#12 0x00144230 in Perl_yyparse
#13 0x001abc28 in S_doeval
#14 0x001ad888 in Perl_pp_entereval
#15 0x0017b530 in Perl_runops_standard
#16 0x0011e570 in Perl_call_sv
#17 0x00122128 in S_call_list_body
#18 0x00121c9c in Perl_call_list
#19 0x00150344 in Perl_newATTRSUB
#20 0x0014409c in Perl_yyparse
#21 0x001abc28 in S_doeval
#22 0x001ad22c in Perl_pp_require
#23 0x0017b530 in Perl_runops_standard
#24 0x0011e570 in Perl_call_sv
#25 0x00122128 in S_call_list_body
#26 0x00121c9c in Perl_call_list
#27 0x00150344 in Perl_newATTRSUB
#28 0x0014b148 in Perl_utilize
#29 0x00144230 in Perl_yyparse
#30 0x0011d7fc in S_parse_body
#31 0x0011c7e8 in perl_parse
#32 0x00001a84 in main
#33 0x00001784 in _start (crt.c:267)
#34 0x00001604 in start

PPC Thread State:
srr0: 0x8fe01280 srr1: 0x0002d030 vrsave: 0x00000000
xer: 0x20000000 lr: 0x8fe09c38 ctr: 0x8fe29468 mq: 0x00000000
r0: 0x00000004 r1: 0xbfffcf80 r2: 0x8fe0b7f4 r3: 0x0000004c
r4: 0x00000000 r5: 0x0000004c r6: 0x0000000a r7: 0x78785f70
r8: 0x6572736f r9: 0x00000000 r10: 0x8fe4850c r11: 0x00000015
r12: 0x8fe71a73 r13: 0x0020e024 r14: 0x0020b9c4 r15: 0x0021195c
r16: 0x0020b998 r17: 0x0020e024 r18: 0x00000046 r19: 0x000eff20
r20: 0x0021195c r21: 0x0020b984 r22: 0x00000001 r23: 0x00000000
r24: 0x0021195c r25: 0x00001ae8 r26: 0x00001ae8 r27: 0x00017be4
r28: 0x8fe4841c r29: 0x8fe484ec r30: 0x8fe484ec r31: 0x8fe099bc

I have upgraded to perl 5.8.0, so it's possible that the install process is grabbing an incompatible binary... but how do I determine which (if that is the problem)?

Else, if that's not the issue, any insight into what is?

TIA

Re:Mac::Carbon Mac::Trouble

pudge on 2003-02-03T23:27:41

Do a make realclean, then edit AppleEvents/Makefile.PL and comment out the definition for LDDLFLAGS or whatever, then make one for $ARGS{LD} = 'c++'. Then it should work.

FWIW, the warning from the Component Manager is caused by one of your installed components, I can't do anything about that. :) Some components decide to make noise like that. Check Google for info if you want to quiet the warning.