SolidRun / lx2160a_uefi

Parent build repository for generating UEFI firmware for the LX2160a
24 stars 17 forks source link

Moving .d files out of the way #21

Open rjbrown99 opened 2 years ago

rjbrown99 commented 2 years ago

FWIW, I ran into a compile error on RHEL 9 with the docker option.

docker run -e SOC_SPEED=2000 -e BUS_SPEED=700 -e DDR_SPEED=3200 -e XMP_PROFILE=1 -v /mypath/lx2160a_uefi:/work:Z --rm -i -t lx2160a_uefi build
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Performing SW Build
Checking all required tools are installed
Building boot loader
Checking all required tools are installed
Building boot loader
Building RCW
python3 ../rcw.py -i  rcws/rcw_lx2160acex7.rcw -o  rcws/rcw_lx2160acex7.bin
Build UEFI
make: Entering directory '/work/build/tianocore/edk2/BaseTools'
make -C Source/C
make[1]: Entering directory '/work/build/tianocore/edk2/BaseTools/Source/C'
Attempting to detect HOST_ARCH from 'uname -m': aarch64
Detected HOST_ARCH of AARCH64 using uname.
mkdir -p .
make -C Common
make[2]: Entering directory '/work/build/tianocore/edk2/BaseTools/Source/C/Common'
make[2]: *** No rule to make target '/usr/lib/gcc/aarch64-redhat-linux/11/include/stdint.h', needed by 'BasePeCoff.o'.  Stop.

The answer was here: https://stackoverflow.com/questions/30751029/why-does-gcc-search-header-files-from-non-exist-folders

Long story short, moving the .d files out of the way fixed this issue (although there are others I'm also running into.)

find . -name "*.d" -exec mv {} {}.old \;
rjbrown99 commented 2 years ago

Follow-up -

This just didn't work well with RHEL 9 + podman, I ran into additional errors immediately after this one.

My solution was to create a debian 11 VM and run it with docker. That completed end-to-end with no problems at all so my suggestion to others to avoid an extended troubleshooting session is to just build this on Debian.