Perl's INC path for me does not include: /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi/ where Perl-XML-Parser is installed, causing the autoconf script for it to fail, causing 10+ gnome srpms to not compile. This is an athlon machine, the perl package was compiled on this machine with --target=athlon. It installed most of its libraries in noarch-linux-thread-multi.
[root@cobra perl-5.8.3]# perl -e "require XML::Parser"; Can't locate XML/Parser.pm in @INC (@INC contains: /usr/lib/perl5/5.8.3/noarch-linux-thread-multi/5.8.3/noarch-linux-thread-multi /usr/lib/perl5/5.8.3/noarch-linux-thread-multi/5.8.3 /usr/lib/perl5/5.8.3/noarch-linux-thread-multi/noarch-linux-thread-multi /usr/lib/perl5/5.8.3/noarch-linux-thread-multi/5.8.2/noarch-linux-thread-multi /usr/lib/perl5/5.8.3/noarch-linux-thread-multi/5.8.2 /usr/lib/perl5/5.8.3/noarch-linux-thread-multi/5.8.1/noarch-linux-thread-multi /usr/lib/perl5/5.8.3/noarch-linux-thread-multi/5.8.1 /usr/lib/perl5/5.8.3/noarch-linux-thread-multi/5.8.0/noarch-linux-thread-multi /usr/lib/perl5/5.8.3/noarch-linux-thread-multi/5.8.0 /usr/lib/perl5/5.8.3/noarch-linux-thread-multi /usr/lib/perl5/5.8.3 /usr/lib/perl5/site_perl/5.8.3/noarch-linux-thread-multi/5.8.3/noarch-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/noarch-linux-thread-multi/5.8.3 /usr/lib/perl5/site_perl/5.8.3/noarch-linux-thread-multi/noarch-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/noarch-linux-thread-multi/5.8.2/noarch-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/noarch-linux-thread-multi/5.8.2 /usr/lib/perl5/site_perl/5.8.3/noarch-linux-thread-multi/5.8.1/noarch-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/noarch-linux-thread-multi/5.8.1 /usr/lib/perl5/site_perl/5.8.3/noarch-linux-thread-multi/5.8.0/noarch-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/noarch-linux-thread-multi/5.8.0 /usr/lib/perl5/site_perl/5.8.3/noarch-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2/noarch-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1/noarch-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0/noarch-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.3/noarch-linux-thread-multi/5.8.3/noarch-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/noarch-linux-thread-multi/5.8.3 /usr/lib/perl5/vendor_perl/5.8.3/noarch-linux-thread-multi/noarch-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/noarch-linux-thread-multi/5.8.2/noarch-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/noarch-linux-thread-multi/5.8.2 /usr/lib/perl5/vendor_perl/5.8.3/noarch-linux-thread-multi/5.8.1/noarch-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/noarch-linux-thread-multi/5.8.1 /usr/lib/perl5/vendor_perl/5.8.3/noarch-linux-thread-multi/5.8.0/noarch-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/noarch-linux-thread-multi/5.8.0 /usr/lib/perl5/vendor_perl/5.8.3/noarch-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2/noarch-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1/noarch-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0/noarch-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.1/5.8.3/noarch-linux-thread-multi /usr/lib/perl5/5.8.1/5.8.3 /usr/lib/perl5/5.8.1/noarch-linux-thread-multi /usr/lib/perl5/5.8.1 /usr/lib/perl5/5.8.0/5.8.3/noarch-linux-thread-multi /usr/lib/perl5/5.8.0/5.8.3 /usr/lib/perl5/5.8.0/noarch-linux-thread-multi /usr/lib/perl5/5.8.0 .) at -e line 1. [root@cobra perl-5.8.3]#
Seems perl's srpm does not detect arch properly and set path properly with target=athlon.
try with the latest from rawhide? should clean up a number of @INC issues.
Still looks wrong: [root@cobra athlon]# rpm -q --whatprovides /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi/Digest perl-Digest-Nilsimsa-0.06-0.fdr.4.1.90 [root@cobra athlon]# rpm -q --whatprovides /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi/Crypt/SSLeay/X509.pm perl-Crypt-SSLeay-0.45-8 [root@cobra athlon]# rpm -q --whatprovides /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi/auto/Crypt/SSLeay/SSLeay.bs perl-Crypt-SSLeay-0.45-8 [root@cobra athlon]# perl -e "print @INC"|grep 386; [root@cobra athlon]# rpm -q perl perl-5.8.3-5 [root@cobra athlon]# rpm -q --whatprovides /usr/lib/perl5/5.8.1/i386-linux-thread-multi perl-5.8.3-5 [root@cobra athlon]# rpm -q --whatprovides /usr/lib/perl5/5.8.3/i386-linux-thread-multi file /usr/lib/perl5/5.8.3/i386-linux-thread-multi is not owned by any package So perl-5.8.3 srpm provides i386 directory for 5.8.1, but not 5.8.3? It installs my athlon stuff into noarch? It does not include i386 directories into default INC path?
You know this is still broken. Forget anything I said about versions, --provides...etc - it all seems fixed now. The fact remains, however, that the perl SRPM when recompiled for athlon installs everything in noarch, sets the INC path to noarch, and can't find any add-on packages, which are all in the 386 folder unless recompiled as well. Current version is perl-5.8.3-18.
compiling with --target athlon isn't supported. why bother? I would be surprised if there was any measurable performance difference for 99.99% of perl applications, and the other 0.01% would be so small an improvement as to be almost lost in statistical uncertainty. I imagine the same thing happens if you compil with --target i686, i586, or anything else besides the 'base' arch for a given release. I would consider accepting a patch to fix whatever the problem is, but I don't really care enough to diagnose it myself since it isn't something most users would ever do and it only occurs when you recompile perl (ie, when you leave anything even resembling the supported path).
> compiling with --target athlon isn't supported. In which case the SRPM should be restricted from athlon, since it will not work. This is a BUG that should be fixed. The fact that the package will build under athlon indicates to users that it should work. > why bother? I would be surprised if there was any measurable performance difference for 99.99% of perl applications, and the other 0.01% would be so small an improvement as to be almost lost in statistical uncertainty. Why I'm doing this is irrelvant to fixing the bug. Actually I was recompiling the entire distribution for athlon. Later I was convinced that this isn't worth my time and stopped doing it, reporting the bugs I found in the process. You can imagine I was not very happy when perl managed to build successfully, then later break my system, and prevent building many other packages which required it in their build process. > I imagine the same thing happens if you compil with --target i686, i586, or anything else besides the 'base' arch for a given release. So that's 2 more bugs? Either restrict the srpm or fix the problem. > I would consider accepting a patch to fix whatever the problem is I'm a user, not a developer. I'd consider sending a patch, but I don't care enough about this issue. > but I don't really care enough to diagnose it myself But that shouldn't be the case for yourself, given that you are the package maintainer. > since it isn't something most users would ever do and it only occurs when you recompile perl I wonder how gentoo handles this. I'm sorry if I've wasted your time, and mine, reporting this issue.
The SRPM should be arch-restricted.
What's the status of this bug? As far as I can see it will still let me install the perl RPM with --athlon target. Does that mean the bug has been properly fixed and it will now instal in athlon arch finding all the x86 stuff as well, or does it mean that it still hasn't been fixed nor arch-restricted?
Closing. This bug is so ancient, and I don't care the least bit anymore - not even to retest. Like you say - it's an unsupported configuration.