Symbol omission in PerlStub (MacPerl 5.6.1b3)

[email protected] (Alan Fry) Wed, 6 Feb 2002 13:57:13 +0000
Newsgroups perl.macperl.porters
Message-ID <p05100300b886d6f1b93e@[158.152.146.73]>
I am still struggling with this problem.

To establish some common ground I have dug out 'XPlusX' from MPPE and 
tried to build that under MacPerl 5.6.1b3. The build fails. The 
linker trips up over an unresolved symbol '_stdprintf'.

The symbol '_stdprintf' is not in PerlStub, nor is it in 'perl.exp' 
for that matter. Presumably that's why the linker can't resolve the 
symbol.

Now I find there is a file 'macperl.sym' in the folder ':perl:macos:' 
which shows a record of additions to the list of symbols (including 
the date the addition was made). That looks promising.

Experimentally I added '_stdprintf' to 'macperl.sym' and re-built 
'macos'. OK so far. Then a peek into PerlStub (with DumpPEF) showed 
that the symbol '_stdprintf' had been included. So....

A rebuild of 'XPlusX' succeeded this time with no errors reported 
either by MrC or ILink.

However after installing and running the module 'XPlusX.pm' the 
binary failed to load with an error from 'DynaLoader' -- [-2807 
Perl--_stdprintf]. ('Perl', BTW is the 'fragname' of the binary 
'XPlusX').

In addition to 'macperl.sym' there is a script 'NewMacPerlSym'. This 
seems merely to add new symbols to 'macperl.sym' after filtering the 
new offering. It 'dies' because it calls for a file 'perl.map' which 
doesn't exist anywhere in the distribution. I can't see however that 
anything is lost by  making the addition to 'macperl.sym' manually 
without recourse to 'NewMacPerlSym'.

So what am I missing? What else has one got to do to add symbols to 
MacPerl which actually work? Can anyone help?

Alan Fry