Description of problem: it is impossible to install both perl x86_64 and perl i686 on FC13 x86_64 Version-Release number of selected component (if applicable): How reproducible: always Steps to Reproduce: 1. install "minimal" version of FC13 x86_64 from DVD 2. run yum update 3. make sure perl x86_64 is there by running yum install perl 4. now try install 32bit version yum install perl.i686 Actual results: ]# yum install perl.i686 Loaded plugins: presto, refresh-packagekit Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package perl.i686 4:5.10.1-112.fc13 set to be installed --> Processing Dependency: perl-libs = 4:5.10.1-112.fc13 for package: 4:perl-5.10.1-112.fc13.i686 --> Processing Dependency: libperl.so for package: 4:perl-5.10.1-112.fc13.i686 --> Running transaction check ---> Package perl-libs.i686 4:5.10.1-112.fc13 set to be installed --> Finished Dependency Resolution Dependencies Resolved =========================================================================================================================================================================================================================================== Package Arch Version Repository Size =========================================================================================================================================================================================================================================== Installing: perl i686 4:5.10.1-112.fc13 fedora 9.9 M Installing for dependencies: perl-libs i686 4:5.10.1-112.fc13 fedora 586 k Transaction Summary =========================================================================================================================================================================================================================================== Install 2 Package(s) Total size: 10 M Installed size: 30 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Check Error: package perl-4:5.10.1-120.fc13.x86_64 (which is newer than perl-4:5.10.1-112.fc13.i686) is already installed package perl-libs-4:5.10.1-120.fc13.x86_64 (which is newer than perl-libs-4:5.10.1-112.fc13.i686) is already installed file /usr/share/man/man3/threads.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-threads-1.81-1.fc13.x86_64 file /usr/share/doc/perl-5.10.1/AUTHORS from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/c2ph.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/dprofpp.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/find2perl.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/h2ph.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/perlapi.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/perlbug.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/perlintern.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/perlmodlib.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/perlreapi.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/perlreguts.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/perlthanks.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/perltoc.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/piconv.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/pl2pm.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/pod2html.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/pod2latex.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/pod2man.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/pod2text.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/pod2usage.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/podchecker.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/podselect.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/psed.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/pstruct.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/s2p.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man1/splain.1.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/Config.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/DB_File.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/Devel::PPPort.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/DynaLoader.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/Errno.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/ExtUtils::Miniperl.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/File::Path.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/Net::Config.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/Safe.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/XSLoader.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/lib.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/man/man3/re.3pm.gz from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/perl5/Safe.pm from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 file /usr/share/perl5/pod/perltoc.pod from install of perl-4:5.10.1-112.fc13.i686 conflicts with file from package perl-4:5.10.1-120.fc13.x86_64 Error Summary ------------- conflicting doc files Expected results: no conflicts Additional info:
This is bug in distribution composition. `perl' package has never been intended to be multiarch. Current situation in Fedora 13 is result of bug during final release composition. Just do not do that. If you need 32-bit perl interpreter to embed into proprietary 32-bit application, install `perl-libs.i686' only. *** This bug has been marked as a duplicate of bug 621711 ***
I can understand what you mean but how is this different from gcc which can install (as far as I know) in both 32 and 64 bit modes without any issues) Some people might just not need only to embed a proprietary app but also a 32 bit perl extension which need to be run in a 32 bit interpreter Please advise
(In reply to comment #2) > I can understand what you mean but how is this different from gcc which can > install (as far as I know) > in both 32 and 64 bit modes without any issues) If I understand correctly, there are 3 issues being mixed up: 1. Packaging multilib'ed packages: GCC consists of several packages. Its frontend-applications (i.e. /usr/bin/*) and these application support libraries (libgcc, libstdc++ etc.) are split into separate packages. On multilib'ed architectures (e.g. x86_64), you can install the support-libraries for different architectures in parallel, e.g. # rpm -q libgcc libgcc-4.5.1-4.fc14.x86_64 libgcc-4.5.1-4.fc14.i686 but you can only install one frontend at a time: # rpm -q gcc gcc-4.5.1-4.fc14.x86_64 The perl packages are applying a similar split since fedora 13: # rpm -q perl perl-5.12.2-140.fc14.x86_64 # rpm -q perl-libs perl-libs-5.12.2-140.fc14.x86_64 perl-libs-5.12.2-140.fc14.i686 > Some people might just not need only to embed a proprietary app but also a 32 > bit perl extension > which need to be run in a 32 bit interpreter > Please advise 2. A tool supporting multilibs. Here perl and gcc are different. On x86_64, gcc (a x86_64/64bit application) is supports multilibs, i.e. a x86_64-gcc (64bit) can be utilized to compile x86(32bit)-applications. 3. multiarch'ing, i.e. running binaries for one architectures on a different, but compatible architecture. One use-case for this is running x86-applications on x86_64. Wrt. this, gcc and perl are entirely different: A x86_64-GCC doesn't run any foreign (e.g. 32 bit) binary, it's a native-only application. Perl, however, is an interpreter, i.e. it would want to run x86/32bit applications on x86_64/64bit. This isn't supported in Fedora. Perl is treated as a native-only application. Or from a wider angle: Fedora supports multilibs but doesn't support multiarch'ed applications. I know, this is confusing, nevertheless I hope this helps.