Menu

can't build rEFInd with EDK2 since the jpeg support was added

nl6720
2018-07-19
2018-07-19
  • nl6720

    nl6720 - 2018-07-19

    Starting with commit 9d0e82d0819a3e06a86b589d981d01a5c93531d5 I can't build rEFInd with EDK2. Building with GNU-EFI works.

    I'm using the Arch Linux AUR package refind-efi-git with testing-x86_64-build.

    gcc 8.1.1 20180531

    The error:

    "gcc" -o /build/refind-efi-git/src/edk2-UDK2018_build/Build/Refind/RELEASE_GCC5/X64/RefindPkg/refind/DEBUG/refind.dll -nostdlib -Wl,-n,-q,--gc-sections,--build-id=none -z common-page-size=0x40 -Wl,--entry,_ModuleEntryPoint -u _ModuleEntryPoint -Wl,-Map,/build/refind-efi-git/src/edk2-UDK2018_build/Build/Refind/RELEASE_GCC5/X64/RefindPkg/refind/DEBUG/refind.map,--whole-archive -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie -flto -Os -Wl,--start-group,@/build/refind-efi-git/src/edk2-UDK2018_build/Build/Refind/RELEASE_GCC5/X64/RefindPkg/refind/OUTPUT/static_library_files.lst,--end-group -O0 -mabi=ms -maccumulate-outgoing-args -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Wno-error -Wno-unused-but-set-variable -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=refindStrings -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address -flto -DUSING_LTO -Os -Wno-unused-but-set-variable -Wno-unused-const-variable -Os -DEFIX64 -D__MAKEWITH_TIANO -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 -Wl,--script=/build/refind-efi-git/src/edk2-UDK2018_build/BaseTools/Scripts/GccBase.lds -Wno-error
    /tmp/cchct2ct.ltrans1.ltrans.o: In function `njInit':
    <artificial>:(.text.njInit+0x25): undefined reference to `memset'
    <artificial>:(.text.njInit+0x48): undefined reference to `memset'
    /tmp/cchct2ct.ltrans1.ltrans.o: In function `egDecodeAny':
    <artificial>:(.text.egDecodeAny+0x1bc4): undefined reference to `memset'
    <artificial>:(.text.egDecodeAny+0x2796): undefined reference to `memcpy'
    collect2: error: ld returned 1 exit status
    make[1]: *** [GNUmakefile:415: /build/refind-efi-git/src/edk2-UDK2018_build/Build/Refind/RELEASE_GCC5/X64/RefindPkg/refind/DEBUG/refind.dll] Error 1
    make[1]: Leaving directory '/build/refind-efi-git/src/edk2-UDK2018_build/Build/Refind/RELEASE_GCC5/X64/RefindPkg/refind'
    
    build.py...
     : error 7000: Failed to execute command
            make tbuild [/build/refind-efi-git/src/edk2-UDK2018_build/Build/Refind/RELEASE_GCC5/X64/RefindPkg/refind]
    
    build.py...
     : error F002: Failed to build module
            /build/refind-efi-git/src/edk2-UDK2018_build/RefindPkg/refind.inf [X64, GCC5, RELEASE]
    
    - Failed -
    
     
  • nl6720

    nl6720 - 2018-07-19

    Full log attached.

     
  • Roderick W. Smith

    It compiles fine for me on an Ubuntu 18.04 system. My guess is that either the Ubuntu environment is more forgiving or there's a difference in our EDK2 setups. In any event, I've tried adding a couple of explicit #define statements to nanojpeg.c. In theory, this should fix the problem, but as I can't reproduce it, I can't test the fix. Please tell me if it helps.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.