Skip Menu |

This queue is for tickets about the ExtUtils-MakeMaker CPAN distribution.

Report information
The Basics
Id: 16070
Status: resolved
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: Nobody in particular
Requestors: tmurray-cpan [...] wumpus-cave.net
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: (no value)



Subject: ExtUtils::Mksymlists Generates Bad Symbol
While trying to build SDL::Perl on Win2k w/MinGW, a .def file is generated by ExtUtils::Mksymlists for building a DLL. The command to link the .o into a DLL is: ---- g++ -o "blib\arch\auto\SDL_perl\SDL_perl.dll" -Wl,--base-file,"src\SDL_perl.base" -Wl,--image-base,0x23210000 -mdll -s "src\SDL_perl.lds" "blib\arch\auto\SDL_perl\SDL_perl.exp" -Le:\perl-5.8.7\lib\CORE -Le:\msys\1.0\mingw\lib -lmingw32 -lSDLmain -lSDL ---- However, this gives the following error: ---- blib\arch\auto\SDL_perl\SDL_perl.exp(.edata+0x50):fake: undefined reference to `boot_' blib\arch\auto\SDL_perl\SDL_perl.exp(.edata+0x54):fake: undefined reference to `boot_' collect2: ld returned 1 exit status ---- Using nm, I cannot find a library on my system that has a 'boot_' symbol. The problem appears to be a combination of perl itself giving blank input to ExtUtils::Mksymlists and the module not validating the symbol. The main problem in ExtUtils::Mksymlists appears to be in and around line 40: ---- push(@{$spec{FUNCLIST}},"boot_$packprefix") unless $bootseen; ---- If $packprefix stringified to an empty string, it would produce the 'boot_' symbol as seen in the error message above. I'm not entirely certain if this bug should be against ExtUtils::Mksymlists or perl itself.
On Wed Nov 23 17:09:15 2005, guest wrote: Show quoted text
> While trying to build SDL::Perl on Win2k w/MinGW, a .def file is > generated by ExtUtils::Mksymlists for building a DLL. The command > to link the .o into a DLL is: > > ---- > g++ -o "blib\arch\auto\SDL_perl\SDL_perl.dll" > -Wl,--base-file,"src\SDL_perl.base" -Wl,--image-base,0x23210000 > -mdll -s "src\SDL_perl.lds" "blib\arch\auto\SDL_perl\SDL_perl.exp" > -Le:\perl-5.8.7\lib\CORE -Le:\msys\1.0\mingw\lib -lmingw32 > -lSDLmain -lSDL > ---- > > However, this gives the following error: > > ---- > blib\arch\auto\SDL_perl\SDL_perl.exp(.edata+0x50):fake: undefined > reference to `boot_' > blib\arch\auto\SDL_perl\SDL_perl.exp(.edata+0x54):fake: undefined > reference to `boot_' > collect2: ld returned 1 exit status > ---- > > Using nm, I cannot find a library on my system that has a 'boot_' > symbol. The problem appears to be a combination of perl itself > giving blank input to ExtUtils::Mksymlists and the module not > validating the symbol. The main problem in ExtUtils::Mksymlists > appears to be in and around line 40: > > ---- > push(@{$spec{FUNCLIST}},"boot_$packprefix") unless $bootseen; > ---- > > If $packprefix stringified to an empty string, it would produce the > 'boot_' symbol as seen in the error message above. > > I'm not entirely certain if this bug should be against > ExtUtils::Mksymlists or perl itself.
Are you still experiencing this problem?
No response in 7 years. CLosing the ticket.