FS#38024 - [texlive-bin] biber needs PAR.pm and has problems with @INC

Attached to Project: Arch Linux
Opened by Nikolay Amiantov (abbradar) - Thursday, 05 December 2013, 14:45 GMT
Last edited by Rémy Oudompheng (remyoudompheng) - Sunday, 24 July 2016, 16:48 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Rémy Oudompheng (remyoudompheng)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 4
Private No

Details

Description:
biber exits with error when trying to process a file:

Can't locate PAR.pm in @INC (@INC contains: /usr/local/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi /usr/local/perl/lib/site_perl/5.16.2 /usr/local/perl/lib/5.16.2/x86_64-linux-thread-multi /usr/local/perl/lib/5.16.2 /usr/local/perl/lib/site_perl .) at -e line 951.

First, @INC looks completely incorrect here (looks like biber binary was built the wrong way). Second, it depends on "perl-par" (currently in AUR) to operate. Also, after some dirty hacking with symlinks to add strict.pm and PAR.pm to its path, it fails with:

Can't locate Config.pm in @INC (@INC contains: /usr/local/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi /usr/local/perl/lib/site_perl/5.16.2 /usr/local/perl/lib/5.16.2/x86_64-linux-thread-multi /usr/local/perl/lib/5.16.2 /usr/local/perl/lib/site_perl .) at /usr/local/perl/lib/5.16.2/PAR.pm line 7.
BEGIN failed--compilation aborted at /usr/local/perl/lib/5.16.2/PAR.pm line 7.
Compilation failed in require at -e line 951.

I don't have any Perl expertise, so I can't figure out what hack can I apply from here, but this package definitely looks broken.

Additional info:
* package version(s)
texlive-bin 2013.30973-7

* config and/or log files etc.


Steps to reproduce:
1. Run "biber somefile.bib"
This task depends upon

Closed by  Rémy Oudompheng (remyoudompheng)
Sunday, 24 July 2016, 16:48 GMT
Reason for closing:  Fixed
Comment by Guillaume Hayot (PostBlue) - Friday, 17 January 2014, 15:30 GMT
Confirming this. Installing biblatex-biber from AUR "solves" it : it gives a biber command in /usr/local/bin/biber, but installs loads of PERL dependencies (and an orphaned one).
Comment by Rémy Oudompheng (remyoudompheng) - Sunday, 09 March 2014, 16:29 GMT
I cannot reproduce this.
Comment by Nikolay Amiantov (abbradar) - Monday, 10 March 2014, 12:50 GMT
With the latest texlive-bin I can reproduce this with:

$ biber smth
Can't locate PAR.pm in @INC (@INC contains: /usr/local/perl/lib/site_perl/5.16.2/x86_64-linux-thread-multi /usr/local/perl/lib/site_perl/5.16.2 /usr/local/perl/lib/5.16.2/x86_64-linux-thread-multi /usr/local/perl/lib/5.16.2 /usr/local/perl/lib/site_perl .) at -e line 951.
$

"smth" may not even exist, this doesn't make a difference.
Comment by Rémy Oudompheng (remyoudompheng) - Wednesday, 12 March 2014, 07:10 GMT
I cannot so you must have something different on your system. Can you display your environment variables ?
Comment by Nikolay Amiantov (abbradar) - Wednesday, 12 March 2014, 07:58 GMT
Hm, I've tried to run it with "env -i" and got the same result. I had also had this bug on my other system. On my yet another system (server witu a lot less packages), however, biber really works. Moreover, if I run it with "env -i" on server, it cannot run, but if I do:
$ env -i PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/core_perl biber a
It works. The same command doesn't work on my main system.
Comment by Nikolay Amiantov (abbradar) - Wednesday, 12 March 2014, 08:01 GMT
(Oh, and my variables: http://pastebin.com/A75CJQWq. It reproduces without them as I have specified, though.)
Comment by Rémy Oudompheng (remyoudompheng) - Wednesday, 12 March 2014, 20:02 GMT
Can you give the output of "pacman -Qm" on a system where it fails ? There must be a difference somewhere.
Comment by Nikolay Amiantov (abbradar) - Thursday, 13 March 2014, 00:14 GMT
pacman -Qm: http://bpaste.net/show/188239/
linux(-headers)-ab is my own kernel build.
Comment by Guillaume Hayot (PostBlue) - Wednesday, 23 July 2014, 15:04 GMT
Having the same:

Can't locate PAR.pm in @INC (@INC contains: /usr/local/perl/lib/site_perl/5.16.2/i686-linux-thread-multi /usr/local/perl/lib/site_perl/5.16.2 /usr/local/perl/lib/5.16.2/i686-linux-thread-multi /usr/local/perl/lib/5.16.2 /usr/local/perl/lib/site_perl .) at -e line 951.

My printenv output: http://bin.postblue.info/irenofazab
My pacman -Qm output: http://bin.postblue.info/tixajunoja

For what it's worth: running over i686.

EDIT: reinstalled texlive-bin, now biber is running fine. It's completely nuts. Now I have to maintain my Linux distribution as Windows and reinstall programs when they're bugging ? :p
Comment by Doug Newgard (Scimmia) - Wednesday, 13 May 2015, 16:03 GMT
Status?
Comment by Shulhan (sulhan) - Saturday, 23 May 2015, 00:56 GMT
From what I see, the path that biber use for include was wrong.

Look at my attachments. It contains,

* dummy biber execution using biber -h
* pacman -Qi perl-pac
* pacman -Ql perl-pac
* pacman -Qm
* pacman -Qs perl
* perl -V
* pacman -Qs texlive

If you see biber output and "perl -V" output, there are different path for both of them.
Comment by Rémy Oudompheng (remyoudompheng) - Sunday, 24 July 2016, 16:48 GMT
biber will now be provided as a separate package,
fixing a number of issues due to not being built the official way as a Perl program.
Please report new issues in separate bugs.

Loading...