iPXE discussion forum
Error blockdev.o build iPXE - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: Error blockdev.o build iPXE (/showthread.php?tid=6878)



Error blockdev.o build iPXE - Gelip - 2013-04-18 10:45

I trying make iPXE in Linux (probably Slackware 12). Build stops at:
Code:
[BUILD] bin/blockdev.o
In file included from include/ipxe/uaccess.h:27,
                 from include/ipxe/blockdev.h:14,
                 from core/blockdev.c:24:
./config/ioapi.h:17:32: error: config/local/ioapi.h: No such file or directory
make: *** [bin/blockdev.o] Error 1



RE: Error blockdev.o build iPXE - mcb30 - 2013-04-18 10:49

(2013-04-18 10:45)Maniek Wrote:  I trying make iPXE in Linux (probably Slackware 12). Build stop at:
Code:
[BUILD] bin/blockdev.o
In file included from include/ipxe/uaccess.h:27,
                 from include/ipxe/blockdev.h:14,
                 from core/blockdev.c:24:
./config/ioapi.h:17:32: error: config/local/ioapi.h: No such file or directory
make: *** [bin/blockdev.o] Error 1

That file should be automatically generated (as an empty file) by the Makefile rule:

Code:
config/local/%.h :
        $(Q)touch $@

No idea why your version of make isn't doing this. You could try creating the file manually using

Code:
touch config/local/ioapi.h

Michael


RE: Error blockdev.o build iPXE - Gelip - 2013-04-18 11:19

This not resolving problem :-(. After restart Linux have other errors:
Code:
[HOSTCC] util/zbin
util/zbin.c:1:19: error: stdio.h: No such file or directory
util/zbin.c:2:22: error: sys/stat.h: No such file or directory
In file included from util/zbin.c:6:
util/nrv2b.c:36:20: error: stdlib.h: No such file or directory
util/nrv2b.c:37:20: error: string.h: No such file or directory
util/nrv2b.c:38:19: error: ctype.h: No such file or directory
util/nrv2b.c:39:19: error: errno.h: No such file or directory
util/nrv2b.c:43:20: error: stdint.h: No such file or directory
In file included from /usr/lib/gcc/i486-slackware-linux/4.2.4/include/syslimits.h:7,

My OS have kernel 2.6.29.2-36-1 and support only package .tgz. This is probably Slackware 12.2 because 13.0 use .txz packages.
Installed packages from Slackware 12.0 mirror:
  • git-1.5.2.2-i486-1.tgz
  • binutils-2.17.50.0.17-i486-1.tgz
  • make-3.81-i486-1.tgz
  • perl-5.8.8-i486-4.tgz
  • gcc-4.2.4-i486-1.tgz - this is from Slackware 12.2



RE: Error blockdev.o build iPXE - mcb30 - 2013-04-18 11:47

(2013-04-18 11:19)Maniek Wrote:  This not resolving problem :-(. After restart Linux have other errors:
Code:
[HOSTCC] util/zbin
util/zbin.c:1:19: error: stdio.h: No such file or directory
util/zbin.c:2:22: error: sys/stat.h: No such file or directory
In file included from util/zbin.c:6:
util/nrv2b.c:36:20: error: stdlib.h: No such file or directory
util/nrv2b.c:37:20: error: string.h: No such file or directory
util/nrv2b.c:38:19: error: ctype.h: No such file or directory
util/nrv2b.c:39:19: error: errno.h: No such file or directory
util/nrv2b.c:43:20: error: stdint.h: No such file or directory

It looks as though your build environment is missing the glibc header files. Either that, or something is very badly misconfigured.

Michael


RE: Error blockdev.o build iPXE - Gelip - 2013-04-18 12:12

My OS is exactly Slackware 12.1.0:
Code:
cat /etc/*-version
Slackware 12.1.0
After installing glibc-solibs-2.5-i486-4.tgz still the same errors.


RE: Error blockdev.o build iPXE - mcb30 - 2013-04-18 12:43

(2013-04-18 12:12)Maniek Wrote:  My OS is exactly Slackware 12.1.0:
Code:
cat /etc/*-version
Slackware 12.1.0
After installing glibc-solibs-2.5-i486-4.tgz still the same errors.

I don't have a Slackware environment to test with, sorry. The problems you are seeing are definitely specific to your build environment, rather than problems with iPXE.

Michael


RE: Error blockdev.o build iPXE - Gelip - 2013-04-18 12:54

OK, I need test this with fresh Slackware 12.1.iso


RE: Error blockdev.o build iPXE - hvisage - 2013-10-26 21:35

Using a stock Debian 7 installation via netinst.iso, adding kernel-package for compiler tools, I also can't get the errors about ioapi.h, so I touch that, then I get config/local/nap.h don't exist, then I get config/local/console.h don't exist, then config/local/umalloc.h, config/local/timer.h, etc. etc.

hvisage@debian-lxde:~/ipxe/ipxe/src$ make --version
GNU Make 3.81
Copyright © 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu
hvisage@debian-lxde:~/ipxe/ipxe/src$ cat /etc/debian_version
7.2


I guess that rule doesn't work with later GNU Make?


RE: Error blockdev.o build iPXE - hvisage - 2013-10-26 21:47

After some Makefile digging, I found the problem, a superfluous space before the : in the rule:

###############################################################################
#
# Local configs
#
+config/local/%.h:
-config/local/%.h :
$(Q)touch $@


RE: Error blockdev.o build iPXE - robinsmidsrod - 2013-10-27 10:58

hvisage: That's well spotted! Not sure which versions of make has issues with this, but I'd recommend you send an email to the mailing-list and report the bug. If you've got make version number that gave you issues, even better.


RE: Error blockdev.o build iPXE - leonidv_hl - 2014-06-18 15:50

(2013-10-27 10:58)robinsmidsrod Wrote:  hvisage: That's well spotted! Not sure which versions of make has issues with this, but I'd recommend you send an email to the mailing-list and report the bug. If you've got make version number that gave you issues, even better.

I've noticed the same issue with latest code and Ubuntu 14, GNU Make 3.81. Removing the space before ":" in Makefile.housekeeping, line 1233 resolved it.

Thanks for the pointer.