Fix for the Perl error after Slackware update
#319 Henry, Wednesday, 30 December 2015 4:02 PM (Category: Linux)
(Tags: slackware perl)

After a recent update to Slackware current, I started getting this error with Perl on some of my scripts:

/usr/bin/perl: symbol lookup error: /usr/local/lib/perl5/List/Util/ undefined symbol: Perl_xs_apiversion_bootcheck

Some of my media processing stopped working, and even some of the Sbopkg build scripts would not work. I couldn't find an immediate fix for it, so left it alone for a while. Then I needed it, so I had to find a fix. I did some research and reading and worked out that some of my libraries needed to be updated. The core Perl was okay, but one add-on library in particular needed to be rebuilt - List::Util.

Normally, I would use cpan to update this, but when I ran cpan, I got exactly the same error. It used List::Util to work things out. After a bit of thinking, I remembered that cpan will use alternatives. If the good stuff isn't available, it falls back to older or native libraries. I went to the /usr/local/lib/perl5/ directory, where add-ons are stored, and sure enough there was a directory called List. I renamed this to xList, just in case I needed to put it back if it broke everything, and then used

cpan List::Util

First of all, cpan ran and didn't give the apiversion_bootcheck error. That was success number one. Then it downloaded the List::Util module and compiled it and installed it and that was success number two. Cpan continued to run with the newly compiled List module, and then I checked my scripts that were not running, and now they all were. Success all round. I'll keep that old xList directory for a bit, just in case, but I will delete it.