I build this project on Linux Arch and install step fails:
make all
[anatol@arch gnu-efi-3.0]$ make install INSTALLROOT=../out
make[1]: Entering directory '/home/anatol/sources/gnu-efi/gnu-efi-3.0/lib'
install -m 644 libefi.a ../out//usr/local/lib/
make[1]: Leaving directory '/home/anatol/sources/gnu-efi/gnu-efi-3.0/lib'
make[1]: Entering directory '/home/anatol/sources/gnu-efi/gnu-efi-3.0/gnuefi'
gcc -nostdlib --warn-common --no-undefined --fatal-warnings -o .o
gcc: error: unrecognized command line option ‘--warn-common’
gcc: error: unrecognized command line option ‘--no-undefined’
gcc: error: unrecognized command line option ‘--fatal-warnings’
gcc: fatal error: no input files
compilation terminated.
<builtin>: recipe for target '.o' failed
make[1]: *** [.o] Error 1
make[1]: Leaving directory '/home/anatol/sources/gnu-efi/gnu-efi-3.0/gnuefi'
make[1]: Entering directory '/home/anatol/sources/gnu-efi/gnu-efi-3.0/inc'
install -m 644 efiapi.h ../out/usr/local/include/efi/
make[1]: *** No rule to make target '../out/usr/local/include/efi/x86_64/pe.h', needed by 'install'. Stop.
make[1]: Leaving directory '/home/anatol/sources/gnu-efi/gnu-efi-3.0/inc'
make[1]: Entering directory '/home/anatol/sources/gnu-efi/gnu-efi-3.0/apps'
make[1]: Nothing to be done for 'install'.
make[1]: Leaving directory '/home/anatol/sources/gnu-efi/gnu-efi-3.0/apps'</builtin>
Hello Anatol,
Are you building from the latest git tree?
git clone git://git.code.sf.net/p/gnu-efi/code gnu-efi-code
What version of gcc do you have installed?
-Nigel
Yes I am building from git HEAD (sha1 == aa1df67f48f3c035fa8891e1bb311ec21500d6d9).
[anatol@arch ~]$ gcc --version
gcc (GCC) 4.9.1 20140903 (prerelease)
Copyright (C) 2014 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.
I also have the latest make
[anatol@arch gnu-efi-3.0]$ make --version
GNU Make 4.1
Built for x86_64-unknown-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please post the logfile when you run the two commands below:
make arch=aarch64 all
make arch=aarch64 install INSTALLROOT=../out
Here is debug output for 'make install' https://gist.github.com/anatol/e1aad2b6a2c7d82bae5e
The most interesting part starts with "Considering target file '///usr/local/lib/'." I think this is some 'make' quirk but I am not good in the Makefiles to fix the problem.
I also reverted make to previous version (4.0) and the problem still exists.
Hi Nigel.
Is there at least any workaround for this problem? We would like to release a new version of gnu-efi package to Linux Arch, but this make issue blocks us.
No workaround for Linux Arch. Infact I am now seeing a new/different error.
gcc-4.8-aarch64-linux-gnu 4.8.2-13ubuntu1cross0.11
gcc-4.8-aarch64-linux-gnu-base 4.8.2-13ubuntu1cross0.11
gcc-4.8-base:amd64 4.8.2-19ubuntu1
This is with cross-compiling on a x86_64 box.
$ make ARCH=aarch64 all
Anatol,
Can you post a log of "make clean; sudo make install" ?
-Nigel
Anatol,
Are you building for x86_64 and on a x86_64 platform?
Hi Nigel
Was you able to make any progress with this bug?
Do you mean that 'make install' works fine for you? What gmake do you use? What OS?
Both Linux Fedora and Linux Arch have decided to use following patch to void the bug
https://projects.archlinux.org/svntogit/packages.git/tree/trunk/build-fix.patch?h=packages/gnu-efi-libs
Last edit: Anatol Pomozov 2014-11-10
I believe commit 56eb64d3c06854b9b68d61e3c2d3bdf6ff2a9853 fixed this issue
can we close this issue Anatol ?
Yes, it can be closed. Thanks!