[SOLVED] Really odd problem: texinfo utilities segfault on current
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Specifically, the two utilities which segfault are:
usr/bin/pod2texi
usr/bin/texi2any
Also, invoking /usr/bin/makeinfo, with or without any parameters (even /usr/bin/makeinfo --version) segfaults.
The other utilities installed by texinfo appear to run fine.
I run Slackware64-current, stock system, with some SBos and alienbob's Plasma packages.
I cannot even rebuild texinfo because the SlackBuild from the standard slack64 distribution also reports a segfault with texi2any.
I tried reinstalling texinfo, tetex, and even perl, to no avail.
I wouldn't be much concerned with this issue were it not for the fact that I need to use a good LaTeX distribution. Right now, SBo's texlive packages (inspired by franzen's work) are a good option but I cannot compile the new packages because of these segfaults.
I'd be grateful for any info or hints on how to overcome this issue.
Last edited by sombragris; 10-30-2016 at 05:49 PM.
This is a completely wild guess on my part: are your installed glibc and glibc-devel libraries newer than your installed linux kernel? If not, then that could be causing your problem. I had a problem faintly similar to this with the vmmon kernel module for my VMware virtual machine crashing continuously at random, and updating my glibc libraries got rid of that problem.
@bassmadrigal: This was always a -current box, even from installation. I installed it on August 2015, i.e., in pre-14.2 days. I applied the relevant upgrades and updates as they were released.
That's what I get for checking my 14.1 install instead of my 14.2 I then went to my 14.2 install to do further checking. Using file /usr/bin/makeinfo shows that this is now a symlink to /usr/bin/texi2any, and using file on that shows it is a perl script. Since a perl script is causing your problems, it sounds like you have some old incompatible 3rd-party perl modules laying around (you probably started with perl 5.18.x and now 14.2 and -current have perl 5.22.x).
Unfortunately, I am not well-versed in perl and I don't know what you'd need to do to remove those modules if they weren't installed as Slackware packages. If all the modules were installed into /usr/local/lib{64}/perl5, you could simply (re)move that directory. You would also want to go through your Slackware packages to remove any older perl-based packages and/or rebuild them.
That's what I get for checking my 14.1 install instead of my 14.2 I then went to my 14.2 install to do further checking. Using file /usr/bin/makeinfo shows that this is now a symlink to /usr/bin/texi2any, and using file on that shows it is a perl script. Since a perl script is causing your problems, it sounds like you have some old incompatible 3rd-party perl modules laying around (you probably started with perl 5.18.x and now 14.2 and -current have perl 5.22.x).
Unfortunately, I am not well-versed in perl and I don't know what you'd need to do to remove those modules if they weren't installed as Slackware packages. If all the modules were installed into /usr/local/lib{64}/perl5, you could simply (re)move that directory. You would also want to go through your Slackware packages to remove any older perl-based packages and/or rebuild them.
Oh well. That might be what's causing the problem. Typing "ls /var/log/packages | grep perl" shows about 40 packages, of which about 35 are from SBo. Time to hunt that bug...
Thanks for the pointer!
If you want to rebuild all of those, just output the names of those programs to a file and use it as a queue file for sbopkg (or possibly your favorite SBo package builder). I'd work out a quick one-liner for you, but it isn't easy to do remotely on my phone...
If you want to rebuild all of those, just output the names of those programs to a file and use it as a queue file for sbopkg (or possibly your favorite SBo package builder). I'd work out a quick one-liner for you, but it isn't easy to do remotely on my phone...
Thanks but I already got into trouble.
For example, I have a perl package known as perl-CPAN-Meta installed. This was a SBo package from 14.1 era:
If I installed it was because it was a dependency from another package. Now, it's gone from the 14.2 repository. I have no idea of which package replaces it, and I don't know when it got removed; there is no notice at all in the ChangeLog.
If I installed it was because it was a dependency from another package. Now, it's gone from the 14.2 repository. I have no idea of which package replaces it, and I don't know when it got removed; there is no notice at all in the ChangeLog.
I just did a search on my 14.1 SBo repo, and the only package that requires perl-CPAN-Meta is perl-Module-Build. According to SBo, this no longer has that dependency on 14.2.
As to your list, to create just package names without version numbers, if my old script on my system is semi-accurate, you should be able to create that list using something like this:
You'll also want to remove all those packages before you rebuild them, just in case any try and build off the old version.
Code:
while read i; do removepkg $i; done </var/lib/sbopkg/queues/rebuild-perl.sqf
Then you can just run sbopkg -i rebuild-perl and select the queue option. However, this might build them slightly out of order if some depend on another and could cause failures, so it might be better to add the files to a REQUIRES line on a .info file, then use sqg to create a proper queue for them.
EDIT: Guess you beat me to it. Congrats on solving it!
Then you can just run sbopkg -i rebuild-perl and select the queue option. However, this might build them slightly out of order if some depend on another and could cause failures, so it might be better to add the files to a REQUIRES line on a .info file, then use sqg to create a proper queue for them.
EDIT: Guess you beat me to it. Congrats on solving it!
Thanks @bassmadrigal. I'll take it into account for a next time. Anyway, it's odd that there was no proper notice of removal for several of those perl modules in the SBo repository.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.