I am getting the same error as GeneArch. I assume we can just rename one of the efi files as Shell.efi but which one?
Search Criteria
Package Details: uefi-shell-git 28272.edk2.stable201903.2535.gd150439b72-3
Git Clone URL: | https://aur.archlinux.org/uefi-shell-git.git (read-only, click to copy) |
---|---|
Package Base: | uefi-shell-git |
Description: | UEFI Shell v2 - from Tianocore EDK2 - GIT Version |
Upstream URL: | https://github.com/tianocore/edk2 |
Licenses: | |
Conflicts: | |
Provides: | |
Submitter: | ridikulusrat |
Maintainer: | Flubbadub |
Last Packager: | Flubbadub |
Votes: | 50 |
Popularity: | 0.051596 |
First Submitted: | 2015-07-22 00:17 |
Last Updated: | 2020-11-10 23:52 |
d_fajardo commented on 2019-09-14 15:27
GeneArch commented on 2019-09-01 19:34
Getting Error now: src/edk2/Build/Shell/RELEASE_GCC5/X64/Shell.efi': No such file or director
Directory contains these now not Shell.efi 900 src/edk2/Build/Shell/RELEASE_GCC5/X64/Shell_7C04A583-9E3E-4f1c-AD65-E05268D0B4D1.efi 968 src/edk2/Build/Shell/RELEASE_GCC5/X64/Shell_EA4BB293-2D7F-4456-A681-1F22F42CD0BC.efi
Not sure what the difference is or if one of them is what we should now be using?
Build went fine, this error is in install phase
SanderMaijers commented on 2018-08-10 12:49
make[2]: Entering directory '/srv/installers/AUR/uefi-shell-git/src/edk2/BaseTools/Source/C/VfrCompile'
g++ -c -I Pccts/h -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ -O2 -Wno-unused-result EfiVfrParser.cpp -o EfiVfrParser.o
g++ -c -I Pccts/h -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ -O2 -Wno-unused-result VfrLexer.cpp -o VfrLexer.o
g++ -c -DPCCTS_USE_NAMESPACE_STD -I Pccts/h -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ -O2 VfrSyntax.cpp -o VfrSyntax.o
g++ -c -I Pccts/h -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ -O2 -Wno-unused-result VfrFormPkg.cpp -o VfrFormPkg.o
g++ -c -I Pccts/h -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ -O2 -Wno-unused-result VfrError.cpp -o VfrError.o
g++ -c -I Pccts/h -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ -O2 -Wno-unused-result VfrUtilityLib.cpp -o VfrUtilityLib.o
g++ -c -I Pccts/h -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ -O2 -Wno-unused-result VfrCompiler.cpp -o VfrCompiler.o
g++ -o ../bin/VfrCompile AParser.o DLexerBase.o ATokenBuffer.o EfiVfrParser.o VfrLexer.o VfrSyntax.o VfrFormPkg.o VfrError.o VfrUtilityLib.o VfrCompiler.o -L../libs -lCommon
/usr/bin/ld: AParser.o: relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: DLexerBase.o: relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: ATokenBuffer.o: relocation R_X86_64_32S against symbol `_ZTV16ANTLRTokenBuffer' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: final link failed: nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[2]: *** [GNUmakefile:42: ../bin/VfrCompile] Error 1
make[2]: Leaving directory '/srv/installers/AUR/uefi-shell-git/src/edk2/BaseTools/Source/C/VfrCompile'
make[1]: *** [GNUmakefile:85: VfrCompile] Error 2
make[1]: Leaving directory '/srv/installers/AUR/uefi-shell-git/src/edk2/BaseTools/Source/C'
make: *** [GNUmakefile:25: Source/C] Error 2
make: Leaving directory '/srv/installers/AUR/uefi-shell-git/src/edk2/BaseTools'
==> ERROR: A failure occurred in build().
Aborting...
$ g++ -v
Using built-in specs.
COLLECT_GCC=/usr/bin//g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto
Thread model: posix
gcc version 8.2.0 (GCC)
Hello71 commented on 2018-08-05 22:34
Although, installing it directly to /boot is not a good idea, because it may not be on the ESP. I would prefer an installer program, like bootctl or memtest86-efi.
Hello71 commented on 2018-08-05 22:33
I didn't write it, I only adopted it and made minor changes to make it compilable. If I was revamping it I'd get rid of all the unnecessary functions and probably get rid of i686 support. Patches accepted.
skunk commented on 2018-08-05 19:45
Or, Hello71, phrased as question: Why do you install the efi file to /usr
and not to /boot
directly (admittedly, one would need to check, whether to install it to /boot
, /efi
or /boot/efi
, but this seems to be do-able)?
skunk commented on 2018-08-05 19:40
Hi @Hello71,
what do you think about adding a pointer on what to do with the compiled .efi binary?
For example, in the post_install
message, one could add something like
To use the shell in EFI, either (a) copy it to
<EFI_SYSTEM_PARTITION>/shellx64.efi
, usually/boot/EFI/shellx64.efi
, or (b) to some other location in the EFI system partition and make sure, that your EFI boot loader understands, where to find it and how to use it -- for more info, see https://wiki.archlinux.org/index.php/Category:Boot_loaders (for the default systemd-boot see https://wiki.archlinux.org/index.php/Systemd-boot)
A bit lengthy, but could help people, who do not know too much about UEFI, what to do with it...
Cheers
cg505 commented on 2018-06-23 14:18
Heads up: the listed upstream URL doesn't exist any more. Seems like it should be updated to GitHub? No issues with the actual package though, thanks!
mike.cloaked commented on 2017-09-09 13:20
With the latest gcc package now pushed to [core] (gcc (7.1.1-4 -> 7.2.0-2) ) and along with the related packages completed with today's pacman update, this package now builds without the need to make any alterations to the PKGBUILD file.
GeneArch commented on 2017-08-31 14:52
one line fix for PKGBUILD which fixes the compiler flag to include -fPIC as needed forgcc 7.2.0 (don't see how to add attachment so inline here:
sed 's|-Werror |-Wno-error -Wno-unused-but-set-variable |g' -i "${EDK_TOOLS_PATH}/Source/C/Makefiles/header.makefile" || true
+ # fix for gcc 7.2
+ sed 's|-BUILD_CFLAGS = |-BUILD_CFLAGS =-fPIC |g' -i "${EDK_TOOLS_PATH}/Source/C/Makefiles/header.makefile" || true
Pinned Comments
Hello71 commented on 2016-09-20 14:10
If you have any problems (e.g. does not compile) with this package, consider the binary shells: https://github.com/tianocore/edk2/releases.