LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 01-06-2012, 07:23 PM   #1
compused
Member
 
Registered: Oct 2006
Location: Melbourne Australia
Distribution: centos and redhat 8
Posts: 91

Rep: Reputation: 15
Perl compilation failing: "No error definitions found at Errno_pm.PL"


Hi
Compilation of perl 5.14.2 is failing at a particular module during makefile. I am installing into a non-standard location, as an earlier version of Perl is already installed.

./configure works but 'make' fails with:
Code:
Writing Makefile for Errno
Writing MYMETA.yml
make[2]: Entering directory `/share/MD0_DATA/misc/perl-5.14.2/ext/Errno'
make[2]: Leaving directory `/share/MD0_DATA/misc/perl-5.14.2/ext/Errno'
Making all in ext/Errno
 make all PERL_CORE=1 LIBPERL_A=libperl.a
make[2]: Entering directory `/share/MD0_DATA/misc/perl-5.14.2/ext/Errno'
../../miniperl "-I../../lib" "-I../../lib" Errno_pm.PL Errno.pm
No error definitions found at Errno_pm.PL line 216.
make[2]: *** [Errno.pm] Error 2
make[2]: Leaving directory `/share/MD0_DATA/misc/perl-5.14.2/ext/Errno'
Unsuccessful make(ext/Errno): code=512 at make_ext.pl line 463.
make[1]: *** [ext/Errno/pm_to_blib] Error 2
make[1]: Leaving directory `/share/MD0_DATA/misc/perl-5.14.2'
make: *** [install] Error 2
There are a few refs. to this error on the net, but none make sense to me. These are:
1. http://openpli.git.sourceforge.net/g...b8a7d4bf9452a0 which talks about"
Quote:
CROSS COMPILE Badness: /usr/local/include in INCLUDEPATH: /usr/local/include
No error definitions found at Errno_pm.PL line 216.
2. http://www.mail-archive.com/clfs-dev.../msg01108.html which states:
Quote:
Errno_pm.PL fails to find errno.h because it's not in the standard path,
/usr/include or usr/local/include,
at this point in time, need to add /tools/include to the variable
my $linux_errno_h, i patched it but you could use a sed
Anyone out there who can help?
Thanks
Compused
 
Old 01-08-2012, 04:06 AM   #2
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,519

Rep: Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641
Quote:
Errno_pm.PL fails to find errno.h because it's not in the standard path,
/usr/include
errno.h : # yum install glibc-devel

And / or : # yum install gcc-c++
... to insure that all the files making gcc usable, are installed.


( Perl-5.14.2 will usually compile OK on any Linux OS.)

.

Last edited by knudfl; 01-08-2012 at 04:09 AM.
 
Old 01-10-2012, 07:13 AM   #3
compused
Member
 
Registered: Oct 2006
Location: Melbourne Australia
Distribution: centos and redhat 8
Posts: 91

Original Poster
Rep: Reputation: 15
thanks
I found this article written by someone also attempting to compile perl on a qnap device:
http://forum.subsonic.org/forum/view...php?f=6&t=6459
It advises:
Code:
# perl searches for errno.h only at a few predefined places where we do not have it.
# Fix this by replacing these lines
   my $linux_errno_h = -e '/usr/include/errno.h' ?
       '/usr/include/errno.h' : '/usr/local/include/errno.h';
with this:
Code:
 my $linux_errno_h = -e '/usr/include/errno.h' ?
       '/usr/include/errno.h' : -e '/usr/local/include/errno.h' ? '/usr/local/include/errno.h' : '/opt/include/errno.h';
in file ext/Errno/Errno_pm.PL in the perl sources directory

It has answered the question
However I continue to encounter problems compiling perl 5.14.2; I tried an unstable version, 5.15.6, and it gave the same 'make' error:
Code:
chmod 644 ../../lib/auto/threads/shared/shared.bs
make[1]: Leaving directory `/share/MD0_DATA/misc/perl-5.15.6/dist/threads-shared'
./perl -f -Ilib pod/buildtoc -q
make: *** [pod/perltoc.pod] Segmentation fault

Thanks
MD
 
Old 01-19-2012, 08:54 AM   #4
andre.pietsch
LQ Newbie
 
Registered: Jan 2012
Posts: 1

Rep: Reputation: Disabled
The same problem here. Has anyone an idea?

I think it is a problem with the dynamic loading and the threading support both used at the same time. But I am not sure about that.
 
Old 01-19-2012, 04:44 PM   #5
compused
Member
 
Registered: Oct 2006
Location: Melbourne Australia
Distribution: centos and redhat 8
Posts: 91

Original Poster
Rep: Reputation: 15
I have managed the complete the 'make' process but 'make test' fails abysmally as posted here:
http://www.linuxquestions.org/questi...5/#post4574161
Note there was a subsequent post in the Nabble forum where the following was just commented out rather than being modified to use MINIPERL:
$(RUN_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
(but I have not tested it as the poster said it was still not right)

I am currently using tips in other qnap forums/ posts to modify /update library path references and some of the installation tools themselves eg Make

Compused
 
Old 01-19-2012, 04:48 PM   #6
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Rocky 9.2
Posts: 18,398

Rep: Reputation: 2780Reputation: 2780Reputation: 2780Reputation: 2780Reputation: 2780Reputation: 2780Reputation: 2780Reputation: 2780Reputation: 2780Reputation: 2780Reputation: 2780
FYI: the Perl gurus (inc those who develop Perl) hang out at perlmonks.org; you could try asking there.
 
Old 08-09-2012, 12:23 PM   #7
patters98
LQ Newbie
 
Registered: Aug 2012
Posts: 2

Rep: Reputation: Disabled
@Compused - did you ever find a solution to this issue? I'm having the exact same issue on a Synology NAS Linux.

I had initially struggled with it not picking up shared libraries properly. I fixed up that Errno.PL issue as per that post on the Subsonic forum that you linked to in this thread, then ran:
Code:
export LD_LIBRARY_PATH=/opt/lib:/opt/arm-none-linux-gnueabi/lib 
./Configure -de -Dcc=gcc -Dprefix=/opt -Dusethreads -Dlocincpth='/opt/arm-none-linux-gnueabi/include /opt/include' -Dloclibpth='/opt/arm-none-linux-gnueabi/lib /opt/lib /lib'
make
Which eventually results in this error at the point at which it uses perl to compile the documentation I think:
Code:
./perl -f -Ilib pod/buildtoc -q
make: *** [pod/perltoc.pod] Segmentation fault (core dumped)
I have tried perl-5.16.0 and then also perl-5.12.3 (the same version the Subsonic forum poster used) with the same result.
I also read that someone had the same issue compiling on a Vax system, but got around it by compiling with symbols enabled (-g compiler flag). This didn't work for me unfortunately.

Any ideas? I've searched high and low.

Last edited by patters98; 08-09-2012 at 12:24 PM.
 
Old 08-09-2012, 06:02 PM   #8
compused
Member
 
Registered: Oct 2006
Location: Melbourne Australia
Distribution: centos and redhat 8
Posts: 91

Original Poster
Rep: Reputation: 15
I did overcome it; its 9am here and I've just got to the office; give me an hour or two

Update:
1. I first updated GCC. Perhaps I didnt need to do this, as I stated in the post, and you could try skipping this step. Refer http://forum.qnap.com/viewtopic.php?p=252858
2. Then this is what I did for Perl. Note that its more elegant to change the $PATH to overcome the errno.h file problem than change the file itself. Note that my configuration switches were limited to:
./Configure -Dcc=gcc -Dprefix=/opt -Dusethreads
Refer the same posting, ie http://forum.qnap.com/viewtopic.php?p=252858 about half way down
Specifying library paths, include paths, LD_LIBRARY_PATH parameters seemed to make no difference as I have noted.

Compused

Last edited by compused; 08-09-2012 at 10:09 PM. Reason: updated
 
Old 10-20-2012, 09:53 AM   #9
patters98
LQ Newbie
 
Registered: Aug 2012
Posts: 2

Rep: Reputation: Disabled
Thanks for your reply, which I read at the time. I had been steeling myself to attack this problem but kept putting it off since I realised it would be a lengthy effort. And in the end I found a way around my need for a threaded perl build altogether. It had been needed by Automake in order to compile this:
https://github.com/savonet/shine#readme

However since I posted the question I have got more used to cross compiling rather than compiling on the native system, so I was able to build libshine successfully on a Ubuntu VM (which had a threaded perl).

Last edited by patters98; 10-20-2012 at 09:55 AM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
"Failed Dependency error" while installing RPM for "DateTime" perl modules giridhargopal.cj Linux - Newbie 7 11-19-2008 12:05 AM
LFS6.3 - Ch5.4.1 "/bin/sh sort not found" error at "make bootstrap" ubyt3m3 Linux From Scratch 2 06-23-2008 12:09 AM
LFS6.3 livecd "ls : command not found" error after "su - lfs" rotu Linux From Scratch 2 06-19-2008 03:59 PM
perl install error: Can't locate object method "new" via package "Module::Build::Vers powah Linux - Software 0 10-24-2006 01:57 PM
LFS 4.1: Stalled at Perl, "missing seperator" error from "make" SparceMatrix Linux From Scratch 1 06-07-2003 03:31 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 06:54 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration