I am trying to build an RPM starting from the TAR archive. The relevant error is: make[1]: Entering directory `/tmp1/Software/rpmbuild/BUILD/syslinux-5.00/libinstaller' perl bin2c.pl syslinux_bootsect < ../core/ldlinux.bss > bootsect_bin.c perl bin2c.pl syslinux_ldlinux 512 < ../core/ldlinux.sys > ldlinux_bin.c perl bin2c.pl syslinux_mbr < ../mbr/mbr.bin > mbr_bin.c perl bin2c.pl syslinux_gptmbr < ../mbr/gptmbr.bin > gptmbr_bin.c make[1]: *** No rule to make target `../com32/elflink/ldlinux/ldlinux.c32', needed by `ldlinuxc32_bin.c'. Stop. make[1]: Leaving directory `/tmp1/Software/rpmbuild/BUILD/syslinux-5.00/libinstaller' make: *** [installer] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.48441 (%build) Sure enough, syslinux-5.00/libinstaller/Makefile contains ldlinuxc32_bin.c: ../com32/elflink/ldlinux/ldlinux.c32 bin2c.pl $(PERL) bin2c.pl syslinux_ldlinuxc32 < $< > $@ However, there is no ../com32/elflink/ldlinux/ldlinux.c32 in the TAR archive. Did anybody ever check that syslinux 5.00 actually builds? Any suggestions? Just comment out the rule in the Makefile? Thanks.
On 1/3/2013 21:19, L?szl? H?zy wrote:> I am trying to build an RPM starting from the TAR archive. The relevant > error is: > > make[1]: Entering directory > `/tmp1/Software/rpmbuild/BUILD/syslinux-5.00/libinstaller' > perl bin2c.pl syslinux_bootsect < ../core/ldlinux.bss > bootsect_bin.c > perl bin2c.pl syslinux_ldlinux 512 < ../core/ldlinux.sys > ldlinux_bin.c > perl bin2c.pl syslinux_mbr < ../mbr/mbr.bin > mbr_bin.c > perl bin2c.pl syslinux_gptmbr < ../mbr/gptmbr.bin > gptmbr_bin.c > make[1]: *** No rule to make target > `../com32/elflink/ldlinux/ldlinux.c32', needed by `ldlinuxc32_bin.c'. > Stop. > make[1]: Leaving directory > `/tmp1/Software/rpmbuild/BUILD/syslinux-5.00/libinstaller' > make: *** [installer] Error 2 > error: Bad exit status from /var/tmp/rpm-tmp.48441 (%build) > > > Sure enough, syslinux-5.00/libinstaller/Makefile contains > > ldlinuxc32_bin.c: ../com32/elflink/ldlinux/ldlinux.c32 bin2c.pl > $(PERL) bin2c.pl syslinux_ldlinuxc32 < $< > $@ > > However, there is no ../com32/elflink/ldlinux/ldlinux.c32 in the TAR > archive. > > Did anybody ever check that syslinux 5.00 actually builds? Any > suggestions? Just comment out the rule in the Makefile? > > Thanks.I'm sure Matt Fleming did. I've built it, too. But what does building an RPM have to do with using the Syslinux Makefiles in the .tar archive? Is not everything built for you already in that archive? - Shao Miller
On 1/3/2013 22:26, L?szl? H?zy wrote:> On 01/03/2013 10:21 PM, Shao Miller wrote: >> On 1/3/2013 21:19, L?szl? H?zy wrote: >>> I am trying to build an RPM starting from the TAR archive. The relevant >>> error is: >>> >>> make[1]: Entering directory >>> `/tmp1/Software/rpmbuild/BUILD/syslinux-5.00/libinstaller' >>> perl bin2c.pl syslinux_bootsect < ../core/ldlinux.bss > bootsect_bin.c >>> perl bin2c.pl syslinux_ldlinux 512 < ../core/ldlinux.sys > ldlinux_bin.c >>> perl bin2c.pl syslinux_mbr < ../mbr/mbr.bin > mbr_bin.c >>> perl bin2c.pl syslinux_gptmbr < ../mbr/gptmbr.bin > gptmbr_bin.c >>> make[1]: *** No rule to make target >>> `../com32/elflink/ldlinux/ldlinux.c32', needed by `ldlinuxc32_bin.c'. >>> Stop. >>> make[1]: Leaving directory >>> `/tmp1/Software/rpmbuild/BUILD/syslinux-5.00/libinstaller' >>> make: *** [installer] Error 2 >>> error: Bad exit status from /var/tmp/rpm-tmp.48441 (%build) >>> >>> >>> Sure enough, syslinux-5.00/libinstaller/Makefile contains >>> >>> ldlinuxc32_bin.c: ../com32/elflink/ldlinux/ldlinux.c32 bin2c.pl >>> $(PERL) bin2c.pl syslinux_ldlinuxc32 < $< > $@ >>> >>> However, there is no ../com32/elflink/ldlinux/ldlinux.c32 in the TAR >>> archive. >>> >>> Did anybody ever check that syslinux 5.00 actually builds? Any >>> suggestions? Just comment out the rule in the Makefile? >>> >>> Thanks. >> >> I'm sure Matt Fleming did. I've built it, too. >> >> But what does building an RPM have to do with using the Syslinux >> Makefiles in the .tar archive? Is not everything built for you >> already in that archive? > > I downloaded a .tar.gz, which normally contains the sources. Unpacked, > it does look like the sources. So I want to build an RPM. When trying > (via rpmbuild), it does the build (using the Makefiles), and that breaks. >What was the link? A Syslinux release includes both sources and binaries, so perhaps you needn't compile anything. But if you really want/need to, perhaps the 'rpmbuild' process is invoking 'make' in such a way as to build things in a different order than a normal 'make' invocation would. - Shao Miller
On 1/3/2013 23:08, L?szl? H?zy wrote:> On 01/03/2013 10:31 PM, Shao Miller wrote: >> On 1/3/2013 22:26, L?szl? H?zy wrote: >>> On 01/03/2013 10:21 PM, Shao Miller wrote: >>>> On 1/3/2013 21:19, L?szl? H?zy wrote: >>>>> I am trying to build an RPM starting from the TAR archive. The >>>>> relevant >>>>> error is: >>>>> >>>>> make[1]: Entering directory >>>>> `/tmp1/Software/rpmbuild/BUILD/syslinux-5.00/libinstaller' >>>>> perl bin2c.pl syslinux_bootsect < ../core/ldlinux.bss > bootsect_bin.c >>>>> perl bin2c.pl syslinux_ldlinux 512 < ../core/ldlinux.sys > >>>>> ldlinux_bin.c >>>>> perl bin2c.pl syslinux_mbr < ../mbr/mbr.bin > mbr_bin.c >>>>> perl bin2c.pl syslinux_gptmbr < ../mbr/gptmbr.bin > gptmbr_bin.c >>>>> make[1]: *** No rule to make target >>>>> `../com32/elflink/ldlinux/ldlinux.c32', needed by `ldlinuxc32_bin.c'. >>>>> Stop. >>>>> make[1]: Leaving directory >>>>> `/tmp1/Software/rpmbuild/BUILD/syslinux-5.00/libinstaller' >>>>> make: *** [installer] Error 2 >>>>> error: Bad exit status from /var/tmp/rpm-tmp.48441 (%build) >>>>> >>>>> >>>>> Sure enough, syslinux-5.00/libinstaller/Makefile contains >>>>> >>>>> ldlinuxc32_bin.c: ../com32/elflink/ldlinux/ldlinux.c32 bin2c.pl >>>>> $(PERL) bin2c.pl syslinux_ldlinuxc32 < $< > $@ >>>>> >>>>> However, there is no ../com32/elflink/ldlinux/ldlinux.c32 in the TAR >>>>> archive. >>>>> >>>>> Did anybody ever check that syslinux 5.00 actually builds? Any >>>>> suggestions? Just comment out the rule in the Makefile? >>>>> >>>>> Thanks. >>>> >>>> I'm sure Matt Fleming did. I've built it, too. >>>> >>>> But what does building an RPM have to do with using the Syslinux >>>> Makefiles in the .tar archive? Is not everything built for you >>>> already in that archive? >>> >>> I downloaded a .tar.gz, which normally contains the sources. Unpacked, >>> it does look like the sources. So I want to build an RPM. When trying >>> (via rpmbuild), it does the build (using the Makefiles), and that >>> breaks. >>> >> >> What was the link? A Syslinux release includes both sources and >> binaries, so perhaps you needn't compile anything. But if you really >> want/need to, perhaps the 'rpmbuild' process is invoking 'make' in >> such a way as to build things in a different order than a normal >> 'make' invocation would. > > http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.00.tar.bz2 > > Building an RPM is really beyond the issue. The problem is that > libinstaller/Makefile contains a broken rule. > > In the mean time I built 4.06 and using that one. >I'm not sure why you've drawn that conclusion. I've just downloaded and extracted from the exact same link you just gave, entered 'make', and beheld the completed results without error. Just now. Perhaps you are missing a build dependency? Some are documented in the README file. - Shao Miller
On Thu, 2013-01-03 at 21:19 -0500, L?szl? H?zy wrote:> I am trying to build an RPM starting from the TAR archive. The relevant > error is: > > make[1]: Entering directory > `/tmp1/Software/rpmbuild/BUILD/syslinux-5.00/libinstaller' > perl bin2c.pl syslinux_bootsect < ../core/ldlinux.bss > bootsect_bin.c > perl bin2c.pl syslinux_ldlinux 512 < ../core/ldlinux.sys > ldlinux_bin.c > perl bin2c.pl syslinux_mbr < ../mbr/mbr.bin > mbr_bin.c > perl bin2c.pl syslinux_gptmbr < ../mbr/gptmbr.bin > gptmbr_bin.c > make[1]: *** No rule to make target > `../com32/elflink/ldlinux/ldlinux.c32', needed by `ldlinuxc32_bin.c'. Stop. > make[1]: Leaving directory > `/tmp1/Software/rpmbuild/BUILD/syslinux-5.00/libinstaller' > make: *** [installer] Error 2 > error: Bad exit status from /var/tmp/rpm-tmp.48441 (%build) > > > Sure enough, syslinux-5.00/libinstaller/Makefile contains > > ldlinuxc32_bin.c: ../com32/elflink/ldlinux/ldlinux.c32 bin2c.pl > $(PERL) bin2c.pl syslinux_ldlinuxc32 < $< > $@ > > However, there is no ../com32/elflink/ldlinux/ldlinux.c32 in the TAR > archive. > > Did anybody ever check that syslinux 5.00 actually builds? Any > suggestions? Just comment out the rule in the Makefile?Of course the build was checked. How do you think the release was *created*? rpmbuild must be invoking 'make clean ; make installer', which does indeed produce the above error. This is now fixed in git, thanks. -- Matt Fleming, Intel Open Source Technology Center