Menu

#8 'make install' fails on linux

v1.0_(example)
closed
None
5
2015-01-06
2014-10-21
No

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>

Discussion

  • Nigel Croxon

    Nigel Croxon - 2014-10-21

    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

     
  • Anatol Pomozov

    Anatol Pomozov - 2014-10-21

    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.

     
  • Anatol Pomozov

    Anatol Pomozov - 2014-10-21

    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.

     
  • Nigel Croxon

    Nigel Croxon - 2014-10-21

    Please post the logfile when you run the two commands below:
    make arch=aarch64 all
    make arch=aarch64 install INSTALLROOT=../out

     
  • Anatol Pomozov

    Anatol Pomozov - 2014-10-21

    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.

     
  • Anatol Pomozov

    Anatol Pomozov - 2014-10-21

    I also reverted make to previous version (4.0) and the problem still exists.

     
  • Anatol Pomozov

    Anatol Pomozov - 2014-10-23

    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.

     
  • Nigel Croxon

    Nigel Croxon - 2014-10-23

    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

    gcc -I/home/croxon/HP/gnu-efi-code/gnu-efi-3.0/lib -I/home/croxon/HP/gnu-efi-code/gnu-efi-3.0/lib/../inc -I/home/croxon/HP/gnu-efi-code/gnu-efi-3.0/lib/../inc/aarch64 -I/home/croxon/HP/gnu-efi-code/gnu-efi-3.0/lib/../inc/protocol -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants -ffreestanding -fno-stack-protector -fno-stack-check -DCONFIG_aarch64 -c aarch64/math.c -o aarch64/math.o ar rv libefi.a aarch64/math.o a - aarch64/math.o rm hand.o data.o runtime/vm.o runtime/efirtlib.o cmdline.o print.o init.o debug.o misc.o console.o str.o error.o crc.o aarch64/math.o smbios.o hw.o runtime/rtdata.o runtime/rtlock.o aarch64/initplat.o guid.o boxdraw.o event.o sread.o runtime/rtstr.o dpath.o lock.o make[1]: Leaving directory `/home/croxon/HP/gnu-efi-code/gnu-efi-3.0/lib' mkdir -p gnuefi make -C gnuefi -f /home/croxon/HP/gnu-efi-code/gnu-efi-3.0/gnuefi/Makefile SRCDIR=/home/croxon/HP/gnu-efi-code/gnu-efi-3.0/gnuefi ARCH=aarch64 make[1]: Entering directory `/home/croxon/HP/gnu-efi-code/gnu-efi-3.0/gnuefi' gcc -DCONFIG_aarch64 -c -o crt0-efi-aarch64.o crt0-efi-aarch64.S crt0-efi-aarch64.S: Assembler messages: crt0-efi-aarch64.S:117: Error: no such instruction: `stp x29,x30,[sp,' crt0-efi-aarch64.S:118: Error: too many memory references for `mov' crt0-efi-aarch64.S:120: Error: no such instruction: `stp x0,x1,[sp,' crt0-efi-aarch64.S:121: Error: too many memory references for `mov' crt0-efi-aarch64.S:122: Error: too many memory references for `mov' crt0-efi-aarch64.S:123: Error: no such instruction: `adr x0,ImageBase' crt0-efi-aarch64.S:124: Error: no such instruction: `adrp x1,_DYNAMIC' crt0-efi-aarch64.S:125: Error: too many memory references for `add' crt0-efi-aarch64.S:126: Error: no such instruction: `bl _relocate' crt0-efi-aarch64.S:127: Error: no such instruction: `cbnz x0,0f' crt0-efi-aarch64.S:129: Error: no such instruction: `ldp x0,x1,[sp,' crt0-efi-aarch64.S:130: Error: no such instruction: `bl efi_main' crt0-efi-aarch64.S:132: Error: no such instruction: `ldp x29,x30,[sp],' make[1]: *** [crt0-efi-aarch64.o] Error 1 make[1]: Leaving directory `/home/croxon/HP/gnu-efi-code/gnu-efi-3.0/gnuefi' make: *** [gnuefi] Error 2
     
  • Nigel Croxon

    Nigel Croxon - 2014-10-23

    Anatol,

    Can you post a log of "make clean; sudo make install" ?

    -Nigel

     
  • Nigel Croxon

    Nigel Croxon - 2014-10-23

    Anatol,

    Are you building for x86_64 and on a x86_64 platform?

     
  • Anatol Pomozov

    Anatol Pomozov - 2014-11-10

    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?

     
  • Anatol Pomozov

    Anatol Pomozov - 2014-12-23

    I believe commit 56eb64d3c06854b9b68d61e3c2d3bdf6ff2a9853 fixed this issue

     
  • Nigel Croxon

    Nigel Croxon - 2015-01-05

    can we close this issue Anatol ?

     
  • Anatol Pomozov

    Anatol Pomozov - 2015-01-05

    Yes, it can be closed. Thanks!

     
  • Nigel Croxon

    Nigel Croxon - 2015-01-06
    • status: open --> closed
    • assigned_to: Nigel Croxon
     

Log in to post a comment.

Monday.com Logo