Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

perl5.8.8 binary compatibility

by zentara (Archbishop)
on Feb 26, 2006 at 20:09 UTC ( [id://532913]=perlquestion: print w/replies, xml ) Need Help??

zentara has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I just tried to install perl5.8.8, and it segfaults when I try to run my Tk and Gtk2 scripts(which were compiled and installed into perl5.8.7. I remember, when I upgraded from 5.86.to 5.8.7 my scripts continued to run. And I've been reading about binary-compatibility, with earlier versions, being a feature of Perl now.

Did I screw something up. or is there some incompatibility?


I'm not really a human, but I play one on earth. flash japh

Replies are listed 'Best First'.
Re: perl5.8.8 binary compatibility
by grinder (Bishop) on Feb 26, 2006 at 22:10 UTC

    There are a number of configuration options you must make sure remain identical if you want binary compatibility to work. You have to watch out for a number of things, including, but not limited to:

    • usethreads or useithreads (I forget which one is preferred).
    • use64bitint
    • use64bitall
    • uselongdouble
    • usemymalloc
    • useperlio
    • the option for adding malloc overwrite checks

    If you don't use the same set of options as the previous installation, various C structures no longer line up correctly and you'll get strange and entertaining segfaults (update: in XS modules). Have a close look at Config.pm for each version and check for differences.

    • another intruder with the mooring in the heart of the Perl

Re: perl5.8.8 binary compatibility
by GrandFather (Saint) on Feb 26, 2006 at 20:19 UTC

    What platform are you on? If you built Perl, what options did you use?


    DWIM is Perl's answer to Gödel
      I'm on linux, use the normal build using Configure. I build with threads, and put it in /usr. I did the exact same thing with the upgrade from 5.8.6 to 5.8.7, and it went smooth. This time it asked what earlier versions I wanted to include in the search path, I chose the default 5.8.7, and my Tk and Gtk2 scripts segfaulted.

      I have the latest Glibc libs, and gcc-4.02.

      No big problem, I reinstalled them all from scratch in a manner of minutes, but I was just wondering/reporting about binary compatibility, and if anyone else sees it.


      I'm not really a human, but I play one on earth. flash japh
Re: perl5.8.8 binary compatibility
by z3d (Scribe) on Feb 27, 2006 at 22:08 UTC
    Since you build your own - did you keep the libperl.so that you linked against when you first compiled the tk apps? If not, you'll most likely need to recompile the modules. you can always ldd the .so's in /auto/ where the tk and gtk2 libraries got placed to see if there are any unresolved symbols there now.



    "I have never written bad code. There are merely unanticipated features."

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://532913]
Approved by Corion
Front-paged by bart
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (2)
As of 2024-04-25 03:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found