[Lunar-bugs] [Lunar Linux 0000189]: SDL_perl fails to build

Lunar bug reports list lunar-bugs at lunar-linux.org
Wed Aug 22 22:33:41 CEST 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.lunar-linux.org/view.php?id=189 
====================================================================== 
Reported By:                engelsman
Assigned To:                Moe
====================================================================== 
Project:                    Lunar Linux
Issue ID:                   189
Category:                   module
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
Moonbase Version:           20070303.07 
Core Tools:                 Lunar 
Core Tools Version:         20070106 
====================================================================== 
Date Submitted:             03-03-2007 15:33 CET
Last Modified:              08-22-2007 22:33 CEST
====================================================================== 
Summary:                    SDL_perl fails to build
Description: 
I had SDL_perl installed before re-installing the 1.6.1 ISO.

Now when I try to build it, it fails with:
#     Error:  Can't load 'blib/arch/auto/SDL_perl/SDL_perl.so' for module
SDL_perl: /usr/lib/libsmpeg-0.4.so.0: undefined symbol: __cxa_pure_virtual
at /usr/lib/perl5/5.8.8/i686-linux-thread-multi/DynaLoader.pm line 230.

AFAICT, neither SDL_perl nor smpeg have really changed recently.

Could it be that there's a missing dependency somewhere against something
that I had already installed on the old system, but haven't re-installed
on 1.6.1 yet?
====================================================================== 

---------------------------------------------------------------------- 
 engelsman - 03-03-07 16:22  
---------------------------------------------------------------------- 
The README recommends installing the perl Test-Simple module too, but this
doesn't make any difference.

If I copy to zlocal, and remove the './Build test' line then it will build
without error.

Unfortunately, frozen-bubble hits something similar instead:
Building frozen-bubble version 2.1.0
perl -ne "print \$1 if m|\\\$version = '(.*)';|" c_stuff/lib/fb_stuff.pm >
VERSION
Can't load
'/usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi/auto/SDL_perl/SDL_perl.so'
for module SDL_perl: /usr/lib/libsmpeg-0.4.so.0: undefined symbol:
__cxa_pure_virtual at
/usr/lib/perl5/5.8.8/i686-linux-thread-multi/DynaLoader.pm line 230.
 at /usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi/SDL.pm line 13
Compilation failed in require at
/usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi/SDL.pm line 13.
BEGIN failed--compilation aborted at
/usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi/SDL.pm line 13.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

    *** I need perl-SDL installed
make: *** [dirs] Error 1 

---------------------------------------------------------------------- 
 Moe - 03-05-07 14:07  
---------------------------------------------------------------------- 
Ratler added a fix to perl recently that might also solve your problem.
Please test it and change the status accordingly. 

---------------------------------------------------------------------- 
 engelsman - 03-05-07 21:12  
---------------------------------------------------------------------- 
I lrm'd a lot of stuff after trying to get xmms2/gxmms2 to work, including
SDL*, YAML, GUIlib, libogg and libvorbis.

I relin'd perl. no probs.
I relin'd frozen-bubble, and took the defaults (which meant no smpeg btw)
SDL_perl built without complaint, and so did frozen-bubble.

But I hadn't got sound. (error messages about ogg format)
I relin's smpeg
I relin'd libogg, libvorbis and SDL_sound.
lin -cr SDL_perl (yes to smpeg, libogg and libvorbis)
failed to build.

lrm'd again, and relin'd without smpeg, worked.
lin'd frozen-bubble, and wasted some time there, with sound.

Problem was not perl, but smpeg.
Obviously I'd build SDL* and frozen-bubble before I had installed smpeg on
the old system.

And when I installed the 1.6.1 system, I saw that I had had smpeg
installed,
and assumed that I must have built SDL* and frozen-bubble with it.
Opposite of a missing dependency. I had one dependency too many.

Thanks for the effort.
Problem is with smpeg after all. 

---------------------------------------------------------------------- 
 Moe - 03-05-07 21:54  
---------------------------------------------------------------------- 
So, you have sound .. yet, you don't need smpeg for it? I'm puzzled as to
what conclusion should _I_ draw out of this .. especially concerning the
whole dependency chain .. 

---------------------------------------------------------------------- 
 engelsman - 03-05-07 22:08  
---------------------------------------------------------------------- 
I think lack of sound probably due to lrm's without running a lunar fix and
something was just missing.

There are too many clever BUILD and configure scripts about that include
things behind your back, so once you've installed something new in the six
months since the last update, magically the new thing gets pulled in too.

Lunar update has just resurrected smpeg to fix a problem with pygame. 

---------------------------------------------------------------------- 
 engelsman - 03-10-07 11:44  
---------------------------------------------------------------------- 
Reported this on the SDL_Perl bug tracker at:
http://rt.cpan.org/Public/Bug/Display.html?id=25363

Let's see if this is a known problem. 

---------------------------------------------------------------------- 
 engelsman - 08-22-07 22:33  
---------------------------------------------------------------------- 
Have just submitted a list of SDL_* module updates, so I've been trying to
chase this up further. I've added some shaky code to the BUILD to
workaround
a problem with installation that's also reported on the SDL_perl bug
tracker
http://rt.cpan.org/Public/Bug/Display.html?id=19155
but there is a related report on the Module-Build bug tracker
http://rt.cpan.org/Public/Bug/Display.html?id=19385

The __cxa_pure_virtual error relates to the resolution of symbols from
mismatched gcc and g++ objects/libraries. The workaround I've found for
this is to lrm smpeg, then build SDL_perl without smpeg support, then
relin smpeg. At least, that's what's needed to get frozen-bubble to
install.

These problems aren't Lunar's responsibility, and as frozen-bubble is
hardly a mission critical application, I suggest just closing this issue. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
03-03-07 15:33  engelsman      New Issue                                    
03-03-07 15:33  engelsman      Moonbase Version          => 20070303.07     
03-03-07 15:33  engelsman      Core Tools                => Lunar           
03-03-07 15:33  engelsman      Core Tools Version        => 20070106        
03-03-07 15:34  engelsman      File Added: SDL_perl.log                     
03-03-07 16:22  engelsman      Note Added: 0000375                          
03-05-07 14:07  Moe            Note Added: 0000383                          
03-05-07 14:07  Moe            Assigned To               => Moe             
03-05-07 14:07  Moe            Status                   new => feedback     
03-05-07 21:12  engelsman      Note Added: 0000393                          
03-05-07 21:54  Moe            Note Added: 0000394                          
03-05-07 22:08  engelsman      Note Added: 0000395                          
03-10-07 11:44  engelsman      Note Added: 0000404                          
08-22-07 22:33  engelsman      Note Added: 0000587                          
======================================================================



More information about the Lunar-bugs mailing list