Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Perl modules breaking on fakethr.h (with 5.20)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
FatherBusa
Apprentice
Apprentice


Joined: 21 Mar 2004
Posts: 166

PostPosted: Sat Oct 11, 2014 4:07 pm    Post subject: Perl modules breaking on fakethr.h (with 5.20) Reply with quote

I upgraded to Perl 5.20 a few weeks ago (which was probably a bad idea). Since then, I've been having lots of Perl modules break with the exact same error. For example, if I try to emerge Locale-gettext, I get this as soon as it starts trying to compile the package:

Code:
emake OTHERLDFLAGS=-Wl,-O1 -Wl,--as-needed -fuse-linker-plugin
make -j25 'OTHERLDFLAGS=-Wl,-O1 -Wl,--as-needed -fuse-linker-plugin'
/usr/bin/perl5.20.1 /usr/lib64/perl5/vendor_perl/5.20.1/ExtUtils/xsubpp  -typemap /usr/lib64/perl5/5.20.1/ExtUtils/typemap  gettext.xs > gettext.xsc && mv gettext.xsc gettext.c
make: *** No rule to make target '/usr/lib64/perl5/5.20.1/x86_64-linux-thread-multi/CORE/fakethr.h', needed by 'gettext.o'.  Stop.


What's more, this is only happening on *some* of the boxes I maintain. perl-cleaner --reallyall runs into the same problem.

emerge --info is here: https://gist.github.com/sramsay/b358ad82d75529fe9028

Any thoughts?
Back to top
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 6194

PostPosted: Sun Oct 12, 2014 12:31 am    Post subject: Reply with quote

...
"...-flto=25 -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block -ftree-vectorize -ffat-lto-objects..."
"-j25"
Honestly ? Have fun...

Might be a parallel make problem, might be that something didn't like lto...
Just too many potential points of failure.
The content of that generated file might offer a hint, but that's a long shot, just as well it might be something buried in perl build log...
Back to top
View user's profile Send private message
FatherBusa
Apprentice
Apprentice


Joined: 21 Mar 2004
Posts: 166

PostPosted: Sun Oct 12, 2014 12:38 am    Post subject: Reply with quote

Quote:
Honestly ? Have fun...


I had a feeling that would come up . . . :)

But my whole box (with various exceptions -- including dev-lang/perl) is built this way, and runs fine. I have also tried turning off all CFLAGS and LDFLAGS when building Perl packages to no avail.

It also wouldn't explain why some boxes can build certain Perl modules, but not others. They also have roughly the same compiler flags.
Back to top
View user's profile Send private message
FatherBusa
Apprentice
Apprentice


Joined: 21 Mar 2004
Posts: 166

PostPosted: Sun Oct 12, 2014 2:06 pm    Post subject: Reply with quote

Well, I'm not sure this is a solution, but if you run:

Code:
emerge --unmerge ExtUtils-ParseXS perl-ExtUtils-ParseXS Module-Build perl-Module-Build


and then try to compile something that's breaking with the above error, it will build. Next time you run emerge -uDNa world, though, it will reinstall these packages (without error). If you then run perl-cleaner --reallyall, things will break like they used to (and perl-cleaner will insist on reinstalling the unmerged packges).

Might be a clue, though I still don't have one.
Back to top
View user's profile Send private message
dilfridge
Developer
Developer


Joined: 18 Sep 2010
Posts: 111
Location: Regensburg, Germany

PostPosted: Sun Oct 12, 2014 6:50 pm    Post subject: Reply with quote

FatherBusa wrote:
Well, I'm not sure this is a solution, but if you run:

Code:
emerge --unmerge ExtUtils-ParseXS perl-ExtUtils-ParseXS Module-Build perl-Module-Build


and then try to compile something that's breaking with the above error, it will build. Next time you run emerge -uDNa world, though, it will reinstall these packages (without error). If you then run perl-cleaner --reallyall, things will break like they used to (and perl-cleaner will insist on reinstalling the unmerged packges).

Might be a clue, though I still don't have one.


It might help if you post the exact versions of
Code:
perl-core/ExtUtils-ParseXS
virtual/perl-ExtUtils-ParseXS
perl-core/Module-Build
virtual/perl-Module-Build

that are pulled in.

The perl-core packages should mostly not be necessary if you have keyworded all packages of Perl 5.20. (dev-lang/perl, virtual/perl-* and perl-core/* all have to go ~arch together.)
Back to top
View user's profile Send private message
FatherBusa
Apprentice
Apprentice


Joined: 21 Mar 2004
Posts: 166

PostPosted: Sun Oct 12, 2014 7:37 pm    Post subject: Reply with quote

Thanks for the reply. Here's what I got:

Code:
[I] perl-core/ExtUtils-ParseXS
     Available versions:  3.180.0-r1 ~3.220.0-r1
     Installed versions:  3.180.0-r1(08:59:50 AM 10/12/2014)
     Homepage:            http://search.cpan.org/dist/ExtUtils-ParseXS/
     Description:         Converts Perl XS code into C code

[I] virtual/perl-ExtUtils-ParseXS
     Available versions:  3.180.0-r2 ~3.220.0 ~3.240.0
     Installed versions:  3.180.0-r2(08:59:56 AM 10/12/2014)
     Description:         Virtual for ExtUtils-ParseXS

[I] perl-core/Module-Build
     Available versions:  0.400.300-r1 ~0.420.0-r1 {test}
     Installed versions:  0.400.300-r1(08:51:35 AM 10/12/2014)(-test)
     Homepage:            http://search.cpan.org/dist/Module-Build/
     Description:         Build and install Perl modules

[I] virtual/perl-Module-Build
     Available versions:  0.400.300-r1 ~0.420.0 ~0.420.500
     Installed versions:  0.400.300-r1(08:51:51 AM 10/12/2014)
     Description:         Virtual for Module-Build


Even if I keyword them all, I still the same error from perl-cleaner (or just building something like Locale-gettext on its own).

Can you explain a bit what you mean by this?

Quote:
The perl-core packages should mostly not be necessary if you have keyworded all packages of Perl 5.20.
Back to top
View user's profile Send private message
v_2e
n00b
n00b


Joined: 28 Dec 2008
Posts: 21

PostPosted: Mon Oct 27, 2014 6:12 pm    Post subject: Reply with quote

I did
Code:
touch /usr/lib/perl5/5.20.1/x86_64-linux/CORE/fakethr.h
like it was suggested here, and all Perl moudles build without problems so far.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum