Description of problem: The latest syslinux build in Rawhide no longer ships ldlinux.c32 on x86_64, but ISOLINUX requires that file to boot. Version-Release number of selected component (if applicable): syslinux-6.02-1.fc21.x86_64 How reproducible: As far as I can tell, always Steps to Reproduce: 1. Create a live CD/DVD from the latest Rawhide. 2. Try to boot the live CD/DVD (e.g. in KVM). Actual results: Failed to load ldlinux.c32 Boot failed: press a key to retry... (and of course retrying only brings the exact same error back) Expected results: The live image boots. Additional info: The faulty commit: http://pkgs.fedoraproject.org/cgit/syslinux.git/commit/?id=cf3072fad9a23cad88becf1a5e923e92c39dfdb1 (in particular, the %exclude lines for non-%{ix86}; note that x86_64 is NOT in %{ix86}).
Created attachment 885959 [details] ISOLINUX 6.02 - Failed to load ldlinux.c32 - Fedora-Live-Xfce-i686-rawhide-20140413.iso http://www.syslinux.org/wiki/index.php/Common_Problems#ELF
e.g. $ iso-info --no-header -f -i boot.iso __________________________________ ISO 9660 image: boot.iso Application: Mageia 4 x86_64 Netinstall System : LINUX Volume : Mageia 4 x86_64 Netinstall Volume Set : Mageia 4 x86_64 __________________________________ ISO-9660 Information 2048 /EFI 872 /TRANS.TBL 65 /VERSION 2048 /isolinux 2048 /loader 216 /EFI/TRANS.TBL 2048 /EFI/boot 223 /EFI/boot/TRANS.TBL 81530 /EFI/boot/bootx64.efi 3108 /isolinux/TRANS.TBL 1008 /isolinux/advanced.msg 2048 /isolinux/boot.cat 28311552 /isolinux/efiboot.img 959 /isolinux/help.msg 4084 /isolinux/ifcpu.c32 38912 /isolinux/isolinux.bin 718 /isolinux/isolinux.cfg 116528 /isolinux/ldlinux.c32 182420 /isolinux/libcom32.c32 66456 /isolinux/libgpl.c32 24024 /isolinux/libmenu.c32 24100 /isolinux/libutil.c32 190896 /isolinux/memtest 2048 /isolinux/x86_64 438 /isolinux/x86_64/TRANS.TBL 23268328 /isolinux/x86_64/all.rdz 3816448 /isolinux/x86_64/vmlinuz 442 /loader/TRANS.TBL 2048 /loader/entries 34 /loader/loader.conf 115 /loader/entries/01-mga-install.conf 123 /loader/entries/02-mga-rescue.conf 461 /loader/entries/TRANS.TBL
boot.iso 13-Apr-2014 13:52 424M $ iso-info --no-header -f -i boot.iso __________________________________ ISO 9660 image: boot.iso Application: GENISOIMAGE ISO 9660_HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE System : LINUX Volume : Fedora rawhide i386 __________________________________ ISO-9660 Information 2048 /LiveOS 2048 /images 2048 /isolinux 224 /LiveOS/TRANS.TBL 281350144 /LiveOS/squashfs.img 2048 /images/pxeboot 1340 /images/pxeboot/TRANS.TBL 37916436 /images/pxeboot/initrd-PAE.img 39077880 /images/pxeboot/initrd.img 35624624 /images/pxeboot/upgrade-PAE.img 36787580 /images/pxeboot/upgrade.img 6005664 /images/pxeboot/vmlinuz 6111872 /images/pxeboot/vmlinuz-PAE 3108 /isolinux/TRANS.TBL 2048 /isolinux/boot.cat 84 /isolinux/boot.msg 293 /isolinux/grub.conf 39077880 /isolinux/initrd.img 38912 /isolinux/isolinux.bin 3065 /isolinux/isolinux.cfg 116404 /isolinux/ldlinux.c32 182380 /isolinux/libcom32.c32 24128 /isolinux/libutil.c32 190896 /isolinux/memtest 171 /isolinux/splash.png 36787580 /isolinux/upgrade.img 26788 /isolinux/vesamenu.c32 6005664 /isolinux/vmlinuz Boot OK! ~~~~~~~~ ~~~~~~~~ $ iso-info --no-header -f -i Fedora-Live-Xfce-i686-rawhide-20140413.iso __________________________________ ISO 9660 image: Fedora-Live-Xfce-i686-rawhide-20140413.iso Application: GENISOIMAGE ISO 9660_HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE System : LINUX Volume : Fedora-Live-Xfce-i686-rawhide-20 __________________________________ ISO-9660 Information 18092 /GPL 2048 /LiveOS 2048 /isolinux 49330 /LiveOS/livecd-iso-to-disk 8192 /LiveOS/osmin.img 653328384 /LiveOS/squashfs.img 2048 /isolinux/boot.cat 38395628 /isolinux/initrd0.img 38912 /isolinux/isolinux.bin 2242 /isolinux/isolinux.cfg 190896 /isolinux/memtest 26788 /isolinux/vesamenu.c32 6005664 /isolinux/vmlinuz0 ISOLINUX 6.02 - Failed to load ldlinux.c32 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 'libcom32.c32' & 'ldlinux.c32' & 'libutil.c32' added to the 'Fedora-Live-Xfce-i686-rawhide-20140413.iso' i.e. $ iso-info --no-header -f -i Fedora-Live-Xfce-i686-rawhide-20140413a.iso __________________________________ ISO 9660 image: Fedora-Live-Xfce-i686-rawhide-20140413a.iso Preparer : ISO Master Volume : Fedora-Live-Xfce-i686-rawhide-20 __________________________________ ISO-9660 Information 18092 /GPL 2048 /LiveOS 2048 /isolinux 49330 /LiveOS/livecd-iso-to-disk 8192 /LiveOS/osmin.img 653328384 /LiveOS/squashfs.img 2048 /isolinux/boot.cat 38395628 /isolinux/initrd0.img 38912 /isolinux/isolinux.bin 2242 /isolinux/isolinux.cfg 116404 /isolinux/ldlinux.c32 182380 /isolinux/libcom32.c32 24128 /isolinux/libutil.c32 190896 /isolinux/memtest 26788 /isolinux/vesamenu.c32 6005664 /isolinux/vmlinuz0 Boot OK! ~~~~~~~~ ~~~~~~~~
*** Bug 1087008 has been marked as a duplicate of this bug. ***
The x86_64 live image builds are now failing entirely, with: DEBUG util.py:281: Error: Package: syslinux-6.02-1.fc21.x86_64 (build) DEBUG util.py:281: Requires: syslinux-nonlinux = 6.02-1.fc21 DEBUG util.py:281: Error: Package: syslinux-extlinux-6.02-1.fc21.x86_64 (build) DEBUG util.py:281: Requires: syslinux-extlinux-nonlinux = 6.02-1.fc21 DEBUG util.py:281: You could try using --skip-broken to work around the problem DEBUG util.py:281: You could try running: rpm -Va --nofiles --nodigest The problem appears to be that syslinux wants to require an i686 package on x86_64, which is not allowed on the live image composes. (AFAIK, they run with i686 packages excluded.)
We waited a week for a fix to this critical issue, I'm fed up of waiting, I'm trying to fix it now.
This should be fixed in syslinux-6.02-2.fc21.
This is the completely wrong way to fix this problem. It's particularly bad because you identified what was going wrong, and chose to ignore it in favor of this bad packaging change. Fix the inability to resolve cross-arch requires on livecd spins. That's the right answer here. Having two different i686 builds of syslinux, one inside x86_64 packaging, is not in any way acceptable.
Syslinux has always been packaged that way. Live image composes in Fedora intentionally exclude *.i686 to ensure that yum will not accidentally pull in multilibs. A pure 64-bit install MUST NOT require any *.i686.rpm packages. > Having two different i686 builds of syslinux, one inside x86_64 packaging, is > not in any way acceptable. Why not? It has always been done that way. Those 32-bit binaries are not native GNU/Linux binaries, they do not BuildRequire nor Require any i686 packages, the fact that they're 32-bit is only a technical detail. In addition, comment #1 shows that your split also broke the i686 live images, I'm not exactly sure why, but it did. Undoing a fix for a release-blocking bug as you did with your git revert is extremely rude. If you do not restore my fix within 24 hours, I will escalate this to FESCo.
It looks like there are actually TWO problems here. The reliance on syslinux-nonlinux.i686 that broke the live image builds in Koji was only one problem, but it was NOT the one I was hitting with my local compose. Even with syslinux-6.02-2.fc21, I still get the same "ldlinux.c32 not found" error I originally reported. And comment #1 also points out that this also happens on the i686 images. So there is a problem with locating ldlinux.c32 that is unrelated to your subpackages, it's either a separate packaging problem or a problem in the upstream code.
There are reports that the latest images from Koji now boot, but I still get the same "ldlinux.c32 not found" fatal error from my local compose with syslinux-6.02-4.fc21. My builds booted fine with the old syslinux-4.xx.
Looks like I need newer livecd-tools, trying to compose Rawhide images on a F19 system is fragile… :-( I see that livecd-tools-21.1-1 contains updates to support syslinux-6.02-4.
Yeah, with: https://git.fedorahosted.org/cgit/livecd/commit/?id=a267c4ab89ff97bcbad550b9ec331d5a0631d444 backported, it works. Closing.