dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.26k stars 4.73k forks source link

mac m1 build failure #92860

Closed baikaishiuc closed 4 months ago

baikaishiuc commented 1 year ago

according the help page:

  1. https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/macos-instructions.md
  2. https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/macos-requirements.md#environment

build coreclr, but not success, error info show my strip program not support -n option, and I dont know how to fix it

Arm runtime [main] % ./build.sh --subset clr
  正在确定要还原的项目…
  Tool 'coverlet.console' (version '3.1.2') was restored. Available commands: coverlet
  Tool 'dotnet-reportgenerator-globaltool' (version '5.0.2') was restored. Available commands: reportgenerator
  Tool 'microsoft.dotnet.xharness.cli' (version '8.0.0-prerelease.23253.1') was restored. Available commands: xharness
  Tool 'microsoft.visualstudio.slngen.tool' (version '8.5.17') was restored. Available commands: slngen
  Tool 'dotnet-format' (version '6.0.240501') was restored. Available commands: dotnet-format

  Restore was successful.
  所有项目均是最新的,无法还原。
  正在确定要还原的项目…
  所有项目均是最新的,无法还原。
  System.Private.CoreLib.Generators -> /Users/zhengxianwei/source/dotnet/runtime/artifacts/bin/System.Private.CoreLib.Generators/Debug/netstandard2.0/System.Private.CoreLib.Generators.dll
  Microsoft.Interop.SourceGeneration -> /Users/zhengxianwei/source/dotnet/runtime/artifacts/bin/Microsoft.Interop.SourceGeneration/Debug/netstandard2.0/Microsoft.Interop.SourceGeneration.dll
  LibraryImportGenerator -> /Users/zhengxianwei/source/dotnet/runtime/artifacts/bin/LibraryImportGenerator/Debug/netstandard2.0/Microsoft.Interop.LibraryImportGenerator.dll
  System.Private.CoreLib -> /Users/zhengxianwei/source/dotnet/runtime/artifacts/bin/System.Private.CoreLib/ref/Debug/net8.0/System.Private.CoreLib.dll
  System.Private.CoreLib -> /Users/zhengxianwei/source/dotnet/runtime/artifacts/bin/coreclr/osx.arm64.Debug/IL/System.Private.CoreLib.dll
  Executing "/Users/zhengxianwei/source/dotnet/runtime/src/coreclr/build-runtime.sh" -arm64 -debug -os osx -outputrid osx-arm64
  Commencing CoreCLR Repo build
  __OutputRid: osx-arm64
  Setting up directories for build
  Checking prerequisites...
  /opt/homebrew/bin/pkg-config
  Commencing build of "install" target in "CoreCLR component" for osx.arm64.Debug in /Users/zhengxianwei/source/dotnet/runtime/artifacts/obj/coreclr/osx.arm64.Debug
  Invoking "/Users/zhengxianwei/source/dotnet/runtime/eng/native/gen-buildsys.sh" "/Users/zhengxianwei/source/dotnet/runtime/src/coreclr" "/Users/zhengxianwei/source/dotnet/runtime/artifacts/obj/coreclr/osx.arm64.Debug" arm64 osx clang Debug ""  -DCMAKE_OSX_ARCHITECTURES="arm64" -DCLR_CMAKE_PGO_INSTRUMENT=0 -DCLR_CMAKE_OPTDATA_PATH= -DCLR_CMAKE_PGO_OPTIMIZE=0 -DCLI_CMAKE_FALLBACK_OS="osx" -DFEATURE_DISTRO_AGNOSTIC_SSL=1 
  ~/source/dotnet/runtime/artifacts/obj/coreclr/osx.arm64.Debug ~/source/dotnet/runtime/src/coreclr
  Detected OSX ARM64
  Not searching for unused variables given on the command line.
  Detected OSX ARM64
  CMake Warning (dev) at pal/src/eventprovider/dummyprovider/CMakeLists.txt:1 (include):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.

  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Warning (dev) at pal/tests/palsuite/eventprovider/CMakeLists.txt:9 (include):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.

  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Warning (dev) at vm/eventing/CMakeLists.txt:11 (include):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.

  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Warning (dev) at vm/eventing/eventpipe/CMakeLists.txt:1 (include):
    Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
    are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
    the cmake_policy command to set the policy and suppress this warning.

  This warning is for project developers.  Use -Wno-dev to suppress it.

  -- Configuring done (0.9s)
  -- Generating done (1.1s)
  -- Build files have been written to: /Users/zhengxianwei/source/dotnet/runtime/artifacts/obj/coreclr/osx.arm64.Debug
  ~/source/dotnet/runtime/src/coreclr
  ~/source/dotnet/runtime/artifacts/obj/coreclr/osx.arm64.Debug ~/source/dotnet/runtime/src/coreclr
  Executing make install -j 9
  [  0%] Built target interop_obj
  [  0%] Built target singlefilehost_exports
  [  0%] Built target System.Net.Security.Native-Static
  [  1%] Built target System.IO.Compression.Native-Static
  [  1%] Built target eventprovider
  [  2%] Built target System.Globalization.Native-Static
  [  2%] Built target debug-pal_obj
  [  2%] Built target coreclrminipal
  [  3%] Built target System.Native-Static
  [  4%] Built target System.Security.Cryptography.Native.Apple-Static
  [  4%] Built target nativeresourcestring
  [  4%] Generating eventing_headers.timestamp
  [  6%] Built target objlib
  [  6%] Built target dbgutil
  [  6%] Built target gc_pal
  [  7%] Built target corguids_obj
  [  7%] Built target palrt
  [  7%] Built target gcinfo_obj
  [  7%] Built target precompiled_asm
  [  9%] Built target libunwind_dac
  [  9%] Built target mdruntimerw_wks_obj
  [  9%] Built target coreclr_exports
  [  9%] Built target mdruntime_wks_obj
  [ 11%] Built target mdcompiler_wks_obj
  [ 12%] Built target ceefgen_obj
  [ 12%] Built target coreclr_def
  [ 12%] Built target mscordacobj
  [ 12%] Built target mscorrc_obj
  [ 12%] Built target mscordaccore_exports
  [ 13%] Built target mdruntime_dac
  [ 13%] Built target mdruntimerw_dac
  [ 13%] Built target mdcompiler_dac
  [ 13%] Built target mdruntime-dbi
  [ 14%] Built target mdruntimerw-dbi
  [ 16%] Built target mdcompiler-dbi
  [ 16%] Built target mddatasource_dbi
  [ 16%] Built target mscordbi_exports
  [ 16%] Built target System.IO.Ports.Native-Static
  [ 16%] Built target createdump_static
  [ 16%] Linking CXX shared library libjitinterface_arm64.dylib
  [ 16%] Built target corerun
  [ 16%] Built target bootstrapperdll
  [ 16%] Built target bootstrapper
  [ 17%] Linking CXX executable watchdog
  [ 17%] Built target stdc++compat
  [ 17%] Built target RuntimeAsmHelpers
  [ 17%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/cmake_pch_arm64.hxx.pch
  [ 17%] Built target mdruntime_ppdb
  [ 17%] Built target eventpipe-disabled
  [ 18%] Built target mdcompiler_ppdb
  Stripping symbols from libjitinterface_arm64.dylib into libjitinterface_arm64.dylib.dwarf
  [ 18%] Building CXX object dlls/mscorpe/CMakeFiles/mscorpe.dir/iceefilegen.cpp.o
  [ 18%] Building CXX object md/staticmd/CMakeFiles/mdstaticapi_ppdb.dir/apis.cpp.o
  Stripping symbols from watchdog into watchdog.dwarf
  [ 18%] Building CXX object md/staticmd/CMakeFiles/mdstaticapi.dir/apis.cpp.o
  strip: invalid option -- n
  Usage: /opt/homebrew/opt/binutils/bin/strip <option(s)> in-file(s)
   Removes symbols and sections from files
   The options are:
    -I --input-target=<bfdname>      Assume input file is in format <bfdname>
    -O --output-target=<bfdname>     Create an output file in format <bfdname>
    -F --target=<bfdname>            Set both input and output format to <bfdname>
    -p --preserve-dates              Copy modified/access timestamps to the output
    -D --enable-deterministic-archives
                                     Produce deterministic output when stripping archives (default)
    -U --disable-deterministic-archives
                                     Disable -D behavior
    -R --remove-section=<name>       Also remove section <name> from the output
       --remove-relocations <name>   Remove relocations from section <name>
       --strip-section-headers       Strip section headers from the output
    -s --strip-all                   Remove all symbol and relocation information
    -g -S -d --strip-debug           Remove all debugging symbols & sections
       --strip-dwo                   Remove all DWO sections
       --strip-unneeded              Remove all symbols not needed by relocations
       --only-keep-debug             Strip everything but the debug information
    -M  --merge-notes                Remove redundant entries in note sections (default)
        --no-merge-notes             Do not attempt to remove redundant notes
    -N --strip-symbol=<name>         Do not copy symbol <name>
       --keep-section=<name>         Do not strip section <name>
    -K --keep-symbol=<name>          Do not strip symbol <name>
       --keep-section-symbols        Do not strip section symbols
       --keep-file-symbols           Do not strip file symbol(s)
    -w --wildcard                    Permit wildcard in symbol comparison
    -x --discard-all                 Remove all non-global symbols
    -X --discard-locals              Remove any compiler-generated symbols
    -v --verbose                     List all object files modified
    -V --version                     Display this program's version number
    -h --help                        Display this output
       --info                        List object formats & architectures supported
    -o <file>                        Place stripped output into <file>
  /opt/homebrew/opt/binutils/bin/strip: supported targets: mach-o-arm64 elf32-bigaarch64 elf32-littleaarch64 elf64-bigaarch64 elf64-bigaarch64-cloudabi elf64-littleaarch64 elf64-littleaarch64-cloudabi pe-aarch64-little pei-aarch64-little elf64-amdgcn ecoff-littlealpha elf64-alpha elf64-alpha-freebsd vms-alpha vms-libtxt elf32-am33lin elf32-bigarc elf32-littlearc elf32-bigarm elf32-littlearm elf32-bigarm-fdpic elf32-littlearm-fdpic elf32-bigarm-vxworks elf32-littlearm-vxworks mach-o-arm pe-arm-big pe-arm-little pe-arm-wince-big pe-arm-wince-little pei-arm-big pei-arm-little pei-arm-wince-big pei-arm-wince-little elf32-avr elf32-bfin elf32-bfinfdpic elf32-cr16 a.out-cris elf32-cris elf32-us-cris elf32-crx elf32-csky-big elf32-csky-little elf32-d10v elf32-d30v elf32-dlx elf32-big elf32-little elf64-big elf64-little elf32-epiphany elf32-fr30 elf32-frv elf32-frvfdpic elf32-h8300 elf32-h8300-linux elf32-hppa elf32-hppa-linux elf32-hppa-netbsd elf64-hppa elf64-hppa-linux som a.out-i386 a.out-i386-bsd a.out-i386-lynx coff-i386 coff-go32 coff-go32-exe coff-i386-lynx elf32-i386 elf32-i386-freebsd elf32-i386-sol2 elf32-i386-vxworks mach-o-i386 msdos pe-i386 pe-bigobj-i386 pei-i386 elf32-iamcu elf64-bpfbe elf64-bpfle elf32-ia64-hpux-big elf64-ia64-big elf64-ia64-little elf64-ia64-hpux-big elf64-ia64-vms pei-ia64 elf32-ip2k elf32-iq2000 elf32-lm32 elf32-m32c elf32-m32r elf32-m32rle elf32-m32r-linux elf32-m32rle-linux elf32-m68hc11 elf32-m68hc12 elf32-m68k elf32-s12z mach-o-be mach-o-le mach-o-fat elf32-mcore-big elf32-mcore-little pe-mcore-big pe-mcore-little pei-mcore-big pei-mcore-little elf32-mep elf32-metag elf32-microblaze ecoff-bigmips ecoff-littlemips ecoff-biglittlemips elf32-bigmips elf32-littlemips elf32-nbigmips elf32-nlittlemips elf32-ntradbigmips elf32-ntradlittlemips elf32-ntradbigmips-freebsd elf32-ntradlittlemips-freebsd elf32-tradbigmips elf32-tradlittlemips elf32-tradbigmips-freebsd elf32-tradlittlemips-freebsd elf32-bigmips-vxworks elf32-littlemips-vxworks elf64-bigmips elf64-littlemips elf64-tradbigmips elf64-tradlittlemips elf64-tradbigmips-freebsd elf64-tradlittlemips-freebsd elf64-mmix mmo elf32-mn10200 elf32-mn10300 elf32-bigmoxie elf32-littlemoxie elf32-msp430 elf32-msp430 elf32-mt elf32-nds32be elf32-nds32le elf32-nds32be-linux elf32-nds32le-linux elf64-nfp elf32-bignios2 elf32-littlenios2 a.out-pc532-mach a.out-ns32k-netbsd elf32-or1k pdb a.out-pdp11 pef pef-xlib elf32-pj elf32-pjl ppcboot elf32-powerpc elf32-powerpcle elf32-powerpc-freebsd elf32-powerpc-vxworks elf64-powerpc elf64-powerpcle elf64-powerpc-freebsd elf64-powerpcle-freebsd elf32-pru elf32-littleriscv elf64-littleriscv elf32-bigriscv elf64-bigriscv elf32-rl78 aixcoff64-rs6000 aix5coff64-rs6000 aixcoff-rs6000 elf32-rx-be elf32-rx-be-ns elf32-rx-le elf32-s390 elf64-s390 elf32-bigscore elf32-littlescore coff-sh coff-shl coff-sh-small coff-shl-small elf32-sh elf32-shl elf32-shbig-fdpic elf32-sh-fdpic elf32-sh-linux elf32-shbig-linux elf32-sh-nbsd elf32-shl-nbsd elf32-sh-vxworks elf32-shl-vxworks pe-shl pei-shl elf32-sparc elf32-sparc-sol2 elf32-sparc-vxworks elf64-sparc elf64-sparc-freebsd elf64-sparc-sol2 elf32-spu sym coff-tic30 coff0-beh-c54x coff0-c54x coff1-beh-c54x coff1-c54x coff2-beh-c54x coff2-c54x elf32-tic6x-be elf32-tic6x-le elf32-tilegx-be elf32-tilegx-le elf64-tilegx-be elf64-tilegx-le elf32-tilepro elf32-ft32 elf32-v850-rh850 elf32-v850 a.out-vax1k-netbsd a.out-vax-netbsd elf32-vax elf32-visium wasm elf32-wasm32 coff-x86-64 elf32-x86-64 elf64-x86-64 elf64-x86-64-cloudabi elf64-x86-64-freebsd elf64-x86-64-sol2 mach-o-x86-64 pe-x86-64 pe-bigobj-x86-64 pei-x86-64 elf32-xgate elf32-xstormy16 elf32-xtensa-be elf32-xtensa-le coff-z80 elf32-z80 coff-z8k elf32-loongarch elf64-loongarch pei-loongarch64 srec symbolsrec verilog tekhex binary ihex plugin
  make[2]: *** [tools/aot/jitinterface/libjitinterface_arm64.dylib] Error 1
  make[2]: *** Deleting file `tools/aot/jitinterface/libjitinterface_arm64.dylib'
  make[1]: *** [tools/aot/jitinterface/CMakeFiles/jitinterface_arm64.dir/all] Error 2
  make[1]: *** Waiting for unfinished jobs....
  strip: invalid option -- n
  Usage: /opt/homebrew/opt/binutils/bin/strip <option(s)> in-file(s)
   Removes symbols and sections from files
   The options are:
    -I --input-target=<bfdname>      Assume input file is in format <bfdname>
    -O --output-target=<bfdname>     Create an output file in format <bfdname>
    -F --target=<bfdname>            Set both input and output format to <bfdname>
    -p --preserve-dates              Copy modified/access timestamps to the output
    -D --enable-deterministic-archives
                                     Produce deterministic output when stripping archives (default)
    -U --disable-deterministic-archives
                                     Disable -D behavior
    -R --remove-section=<name>       Also remove section <name> from the output
       --remove-relocations <name>   Remove relocations from section <name>
       --strip-section-headers       Strip section headers from the output
    -s --strip-all                   Remove all symbol and relocation information
    -g -S -d --strip-debug           Remove all debugging symbols & sections
       --strip-dwo                   Remove all DWO sections
       --strip-unneeded              Remove all symbols not needed by relocations
       --only-keep-debug             Strip everything but the debug information
    -M  --merge-notes                Remove redundant entries in note sections (default)
        --no-merge-notes             Do not attempt to remove redundant notes
    -N --strip-symbol=<name>         Do not copy symbol <name>
       --keep-section=<name>         Do not strip section <name>
    -K --keep-symbol=<name>          Do not strip symbol <name>
       --keep-section-symbols        Do not strip section symbols
       --keep-file-symbols           Do not strip file symbol(s)
    -w --wildcard                    Permit wildcard in symbol comparison
    -x --discard-all                 Remove all non-global symbols
    -X --discard-locals              Remove any compiler-generated symbols
    -v --verbose                     List all object files modified
    -V --version                     Display this program's version number
    -h --help                        Display this output
       --info                        List object formats & architectures supported
    -o <file>                        Place stripped output into <file>
  /opt/homebrew/opt/binutils/bin/strip: supported targets: mach-o-arm64 elf32-bigaarch64 elf32-littleaarch64 elf64-bigaarch64 elf64-bigaarch64-cloudabi elf64-littleaarch64 elf64-littleaarch64-cloudabi pe-aarch64-little pei-aarch64-little elf64-amdgcn ecoff-littlealpha elf64-alpha elf64-alpha-freebsd vms-alpha vms-libtxt elf32-am33lin elf32-bigarc elf32-littlearc elf32-bigarm elf32-littlearm elf32-bigarm-fdpic elf32-littlearm-fdpic elf32-bigarm-vxworks elf32-littlearm-vxworks mach-o-arm pe-arm-big pe-arm-little pe-arm-wince-big pe-arm-wince-little pei-arm-big pei-arm-little pei-arm-wince-big pei-arm-wince-little elf32-avr elf32-bfin elf32-bfinfdpic elf32-cr16 a.out-cris elf32-cris elf32-us-cris elf32-crx elf32-csky-big elf32-csky-little elf32-d10v elf32-d30v elf32-dlx elf32-big elf32-little elf64-big elf64-little elf32-epiphany elf32-fr30 elf32-frv elf32-frvfdpic elf32-h8300 elf32-h8300-linux elf32-hppa elf32-hppa-linux elf32-hppa-netbsd elf64-hppa elf64-hppa-linux som a.out-i386 a.out-i386-bsd a.out-i386-lynx coff-i386 coff-go32 coff-go32-exe coff-i386-lynx elf32-i386 elf32-i386-freebsd elf32-i386-sol2 elf32-i386-vxworks mach-o-i386 msdos pe-i386 pe-bigobj-i386 pei-i386 elf32-iamcu elf64-bpfbe elf64-bpfle elf32-ia64-hpux-big elf64-ia64-big elf64-ia64-little elf64-ia64-hpux-big elf64-ia64-vms pei-ia64 elf32-ip2k elf32-iq2000 elf32-lm32 elf32-m32c elf32-m32r elf32-m32rle elf32-m32r-linux elf32-m32rle-linux elf32-m68hc11 elf32-m68hc12 elf32-m68k elf32-s12z mach-o-be mach-o-le mach-o-fat elf32-mcore-big elf32-mcore-little pe-mcore-big pe-mcore-little pei-mcore-big pei-mcore-little elf32-mep elf32-metag elf32-microblaze ecoff-bigmips ecoff-littlemips ecoff-biglittlemips elf32-bigmips elf32-littlemips elf32-nbigmips elf32-nlittlemips elf32-ntradbigmips elf32-ntradlittlemips elf32-ntradbigmips-freebsd elf32-ntradlittlemips-freebsd elf32-tradbigmips elf32-tradlittlemips elf32-tradbigmips-freebsd elf32-tradlittlemips-freebsd elf32-bigmips-vxworks elf32-littlemips-vxworks elf64-bigmips elf64-littlemips elf64-tradbigmips elf64-tradlittlemips elf64-tradbigmips-freebsd elf64-tradlittlemips-freebsd elf64-mmix mmo elf32-mn10200 elf32-mn10300 elf32-bigmoxie elf32-littlemoxie elf32-msp430 elf32-msp430 elf32-mt elf32-nds32be elf32-nds32le elf32-nds32be-linux elf32-nds32le-linux elf64-nfp elf32-bignios2 elf32-littlenios2 a.out-pc532-mach a.out-ns32k-netbsd elf32-or1k pdb a.out-pdp11 pef pef-xlib elf32-pj elf32-pjl ppcboot elf32-powerpc elf32-powerpcle elf32-powerpc-freebsd elf32-powerpc-vxworks elf64-powerpc elf64-powerpcle elf64-powerpc-freebsd elf64-powerpcle-freebsd elf32-pru elf32-littleriscv elf64-littleriscv elf32-bigriscv elf64-bigriscv elf32-rl78 aixcoff64-rs6000 aix5coff64-rs6000 aixcoff-rs6000 elf32-rx-be elf32-rx-be-ns elf32-rx-le elf32-s390 elf64-s390 elf32-bigscore elf32-littlescore coff-sh coff-shl coff-sh-small coff-shl-small elf32-sh elf32-shl elf32-shbig-fdpic elf32-sh-fdpic elf32-sh-linux elf32-shbig-linux elf32-sh-nbsd elf32-shl-nbsd elf32-sh-vxworks elf32-shl-vxworks pe-shl pei-shl elf32-sparc elf32-sparc-sol2 elf32-sparc-vxworks elf64-sparc elf64-sparc-freebsd elf64-sparc-sol2 elf32-spu sym coff-tic30 coff0-beh-c54x coff0-c54x coff1-beh-c54x coff1-c54x coff2-beh-c54x coff2-c54x elf32-tic6x-be elf32-tic6x-le elf32-tilegx-be elf32-tilegx-le elf64-tilegx-be elf64-tilegx-le elf32-tilepro elf32-ft32 elf32-v850-rh850 elf32-v850 a.out-vax1k-netbsd a.out-vax-netbsd elf32-vax elf32-visium wasm elf32-wasm32 coff-x86-64 elf32-x86-64 elf64-x86-64 elf64-x86-64-cloudabi elf64-x86-64-freebsd elf64-x86-64-sol2 mach-o-x86-64 pe-x86-64 pe-bigobj-x86-64 pei-x86-64 elf32-xgate elf32-xstormy16 elf32-xtensa-be elf32-xtensa-le coff-z80 elf32-z80 coff-z8k elf32-loongarch elf64-loongarch pei-loongarch64 srec symbolsrec verilog tekhex binary ihex plugin
  make[2]: *** [test-watchdog/watchdog] Error 1
  make[2]: *** Deleting file `test-watchdog/watchdog'
  make[1]: *** [test-watchdog/CMakeFiles/watchdog.dir/all] Error 2
  [ 18%] Building CXX object dlls/mscorpe/CMakeFiles/mscorpe.dir/ceefilegenwriter.cpp.o
  [ 19%] Building CXX object dlls/mscorpe/CMakeFiles/mscorpe.dir/pewriter.cpp.o
  [ 22%] Built target eventpipe-enabled
  [ 22%] Building CXX object dlls/mscorpe/CMakeFiles/mscorpe.dir/ceefilegenwritertokens.cpp.o
  [ 22%] Linking CXX static library libmdstaticapi.a
  [ 22%] Built target mdstaticapi
  [ 22%] Linking CXX static library libmdstaticapi_ppdb.a
  [ 22%] Built target mdstaticapi_ppdb
  [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/metamodelrw.cpp.o
  [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/metamodelenc.cpp.o
  [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/peparse.cpp.o
  [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/stgio.cpp.o
  [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/rwutil.cpp.o
  [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/liteweightstgdbrw.cpp.o
  [ 22%] Built target eventing_headers
  [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/stgtiggerstorage.cpp.o
  [ 22%] Linking CXX static library libmscorpe.a
  [ 22%] Built target mscorpe
  [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/stgtiggerstream.cpp.o
  [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/mdinternalrw.cpp.o
  [ 23%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/pdbheap.cpp.o
  [ 27%] Built target coreclrpal
  [ 27%] Linking CXX static library libmdruntimerw_ppdb.a
  [ 27%] Built target mdruntimerw_ppdb
  make: *** [all] Error 2
  ~/source/dotnet/runtime/src/coreclr
  Failed to build "CoreCLR component".
/Users/zhengxianwei/source/dotnet/runtime/src/coreclr/runtime.proj(71,5): error MSB3073: 命令“"/Users/zhengxianwei/source/dotnet/runtime/src/coreclr/build-runtime.sh" -arm64 -debug -os osx -outputrid osx-arm64”已退出,代码为 2。

生成失败。

/Users/zhengxianwei/source/dotnet/runtime/src/coreclr/runtime.proj(71,5): error MSB3073: 命令“"/Users/zhengxianwei/source/dotnet/runtime/src/coreclr/build-runtime.sh" -arm64 -debug -os osx -outputrid osx-arm64”已退出,代码为 2。
    0 个警告
    1 个错误

已用时间 00:00:06.87
Build failed with exit code 1. Check errors above.
ghost commented 1 year ago

Tagging subscribers to this area: @hoyosjs See info in area-owners.md if you want to be subscribed.

Issue Details
according the help page: 1. https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/macos-instructions.md 2. https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/macos-requirements.md#environment build coreclr, but not success, error info ``` Arm runtime [main] % ./build.sh --subset clr 正在确定要还原的项目… Tool 'coverlet.console' (version '3.1.2') was restored. Available commands: coverlet Tool 'dotnet-reportgenerator-globaltool' (version '5.0.2') was restored. Available commands: reportgenerator Tool 'microsoft.dotnet.xharness.cli' (version '8.0.0-prerelease.23253.1') was restored. Available commands: xharness Tool 'microsoft.visualstudio.slngen.tool' (version '8.5.17') was restored. Available commands: slngen Tool 'dotnet-format' (version '6.0.240501') was restored. Available commands: dotnet-format Restore was successful. 所有项目均是最新的,无法还原。 正在确定要还原的项目… 所有项目均是最新的,无法还原。 System.Private.CoreLib.Generators -> /Users/zhengxianwei/source/dotnet/runtime/artifacts/bin/System.Private.CoreLib.Generators/Debug/netstandard2.0/System.Private.CoreLib.Generators.dll Microsoft.Interop.SourceGeneration -> /Users/zhengxianwei/source/dotnet/runtime/artifacts/bin/Microsoft.Interop.SourceGeneration/Debug/netstandard2.0/Microsoft.Interop.SourceGeneration.dll LibraryImportGenerator -> /Users/zhengxianwei/source/dotnet/runtime/artifacts/bin/LibraryImportGenerator/Debug/netstandard2.0/Microsoft.Interop.LibraryImportGenerator.dll System.Private.CoreLib -> /Users/zhengxianwei/source/dotnet/runtime/artifacts/bin/System.Private.CoreLib/ref/Debug/net8.0/System.Private.CoreLib.dll System.Private.CoreLib -> /Users/zhengxianwei/source/dotnet/runtime/artifacts/bin/coreclr/osx.arm64.Debug/IL/System.Private.CoreLib.dll Executing "/Users/zhengxianwei/source/dotnet/runtime/src/coreclr/build-runtime.sh" -arm64 -debug -os osx -outputrid osx-arm64 Commencing CoreCLR Repo build __OutputRid: osx-arm64 Setting up directories for build Checking prerequisites... /opt/homebrew/bin/pkg-config Commencing build of "install" target in "CoreCLR component" for osx.arm64.Debug in /Users/zhengxianwei/source/dotnet/runtime/artifacts/obj/coreclr/osx.arm64.Debug Invoking "/Users/zhengxianwei/source/dotnet/runtime/eng/native/gen-buildsys.sh" "/Users/zhengxianwei/source/dotnet/runtime/src/coreclr" "/Users/zhengxianwei/source/dotnet/runtime/artifacts/obj/coreclr/osx.arm64.Debug" arm64 osx clang Debug "" -DCMAKE_OSX_ARCHITECTURES="arm64" -DCLR_CMAKE_PGO_INSTRUMENT=0 -DCLR_CMAKE_OPTDATA_PATH= -DCLR_CMAKE_PGO_OPTIMIZE=0 -DCLI_CMAKE_FALLBACK_OS="osx" -DFEATURE_DISTRO_AGNOSTIC_SSL=1 ~/source/dotnet/runtime/artifacts/obj/coreclr/osx.arm64.Debug ~/source/dotnet/runtime/src/coreclr Detected OSX ARM64 Not searching for unused variables given on the command line. Detected OSX ARM64 CMake Warning (dev) at pal/src/eventprovider/dummyprovider/CMakeLists.txt:1 (include): Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules are removed. Run "cmake --help-policy CMP0148" for policy details. Use the cmake_policy command to set the policy and suppress this warning. This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at pal/tests/palsuite/eventprovider/CMakeLists.txt:9 (include): Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules are removed. Run "cmake --help-policy CMP0148" for policy details. Use the cmake_policy command to set the policy and suppress this warning. This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at vm/eventing/CMakeLists.txt:11 (include): Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules are removed. Run "cmake --help-policy CMP0148" for policy details. Use the cmake_policy command to set the policy and suppress this warning. This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at vm/eventing/eventpipe/CMakeLists.txt:1 (include): Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules are removed. Run "cmake --help-policy CMP0148" for policy details. Use the cmake_policy command to set the policy and suppress this warning. This warning is for project developers. Use -Wno-dev to suppress it. -- Configuring done (0.9s) -- Generating done (1.1s) -- Build files have been written to: /Users/zhengxianwei/source/dotnet/runtime/artifacts/obj/coreclr/osx.arm64.Debug ~/source/dotnet/runtime/src/coreclr ~/source/dotnet/runtime/artifacts/obj/coreclr/osx.arm64.Debug ~/source/dotnet/runtime/src/coreclr Executing make install -j 9 [ 0%] Built target interop_obj [ 0%] Built target singlefilehost_exports [ 0%] Built target System.Net.Security.Native-Static [ 1%] Built target System.IO.Compression.Native-Static [ 1%] Built target eventprovider [ 2%] Built target System.Globalization.Native-Static [ 2%] Built target debug-pal_obj [ 2%] Built target coreclrminipal [ 3%] Built target System.Native-Static [ 4%] Built target System.Security.Cryptography.Native.Apple-Static [ 4%] Built target nativeresourcestring [ 4%] Generating eventing_headers.timestamp [ 6%] Built target objlib [ 6%] Built target dbgutil [ 6%] Built target gc_pal [ 7%] Built target corguids_obj [ 7%] Built target palrt [ 7%] Built target gcinfo_obj [ 7%] Built target precompiled_asm [ 9%] Built target libunwind_dac [ 9%] Built target mdruntimerw_wks_obj [ 9%] Built target coreclr_exports [ 9%] Built target mdruntime_wks_obj [ 11%] Built target mdcompiler_wks_obj [ 12%] Built target ceefgen_obj [ 12%] Built target coreclr_def [ 12%] Built target mscordacobj [ 12%] Built target mscorrc_obj [ 12%] Built target mscordaccore_exports [ 13%] Built target mdruntime_dac [ 13%] Built target mdruntimerw_dac [ 13%] Built target mdcompiler_dac [ 13%] Built target mdruntime-dbi [ 14%] Built target mdruntimerw-dbi [ 16%] Built target mdcompiler-dbi [ 16%] Built target mddatasource_dbi [ 16%] Built target mscordbi_exports [ 16%] Built target System.IO.Ports.Native-Static [ 16%] Built target createdump_static [ 16%] Linking CXX shared library libjitinterface_arm64.dylib [ 16%] Built target corerun [ 16%] Built target bootstrapperdll [ 16%] Built target bootstrapper [ 17%] Linking CXX executable watchdog [ 17%] Built target stdc++compat [ 17%] Built target RuntimeAsmHelpers [ 17%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/cmake_pch_arm64.hxx.pch [ 17%] Built target mdruntime_ppdb [ 17%] Built target eventpipe-disabled [ 18%] Built target mdcompiler_ppdb Stripping symbols from libjitinterface_arm64.dylib into libjitinterface_arm64.dylib.dwarf [ 18%] Building CXX object dlls/mscorpe/CMakeFiles/mscorpe.dir/iceefilegen.cpp.o [ 18%] Building CXX object md/staticmd/CMakeFiles/mdstaticapi_ppdb.dir/apis.cpp.o Stripping symbols from watchdog into watchdog.dwarf [ 18%] Building CXX object md/staticmd/CMakeFiles/mdstaticapi.dir/apis.cpp.o strip: invalid option -- n Usage: /opt/homebrew/opt/binutils/bin/strip in-file(s) Removes symbols and sections from files The options are: -I --input-target= Assume input file is in format -O --output-target= Create an output file in format -F --target= Set both input and output format to -p --preserve-dates Copy modified/access timestamps to the output -D --enable-deterministic-archives Produce deterministic output when stripping archives (default) -U --disable-deterministic-archives Disable -D behavior -R --remove-section= Also remove section from the output --remove-relocations Remove relocations from section --strip-section-headers Strip section headers from the output -s --strip-all Remove all symbol and relocation information -g -S -d --strip-debug Remove all debugging symbols & sections --strip-dwo Remove all DWO sections --strip-unneeded Remove all symbols not needed by relocations --only-keep-debug Strip everything but the debug information -M --merge-notes Remove redundant entries in note sections (default) --no-merge-notes Do not attempt to remove redundant notes -N --strip-symbol= Do not copy symbol --keep-section= Do not strip section -K --keep-symbol= Do not strip symbol --keep-section-symbols Do not strip section symbols --keep-file-symbols Do not strip file symbol(s) -w --wildcard Permit wildcard in symbol comparison -x --discard-all Remove all non-global symbols -X --discard-locals Remove any compiler-generated symbols -v --verbose List all object files modified -V --version Display this program's version number -h --help Display this output --info List object formats & architectures supported -o Place stripped output into /opt/homebrew/opt/binutils/bin/strip: supported targets: mach-o-arm64 elf32-bigaarch64 elf32-littleaarch64 elf64-bigaarch64 elf64-bigaarch64-cloudabi elf64-littleaarch64 elf64-littleaarch64-cloudabi pe-aarch64-little pei-aarch64-little elf64-amdgcn ecoff-littlealpha elf64-alpha elf64-alpha-freebsd vms-alpha vms-libtxt elf32-am33lin elf32-bigarc elf32-littlearc elf32-bigarm elf32-littlearm elf32-bigarm-fdpic elf32-littlearm-fdpic elf32-bigarm-vxworks elf32-littlearm-vxworks mach-o-arm pe-arm-big pe-arm-little pe-arm-wince-big pe-arm-wince-little pei-arm-big pei-arm-little pei-arm-wince-big pei-arm-wince-little elf32-avr elf32-bfin elf32-bfinfdpic elf32-cr16 a.out-cris elf32-cris elf32-us-cris elf32-crx elf32-csky-big elf32-csky-little elf32-d10v elf32-d30v elf32-dlx elf32-big elf32-little elf64-big elf64-little elf32-epiphany elf32-fr30 elf32-frv elf32-frvfdpic elf32-h8300 elf32-h8300-linux elf32-hppa elf32-hppa-linux elf32-hppa-netbsd elf64-hppa elf64-hppa-linux som a.out-i386 a.out-i386-bsd a.out-i386-lynx coff-i386 coff-go32 coff-go32-exe coff-i386-lynx elf32-i386 elf32-i386-freebsd elf32-i386-sol2 elf32-i386-vxworks mach-o-i386 msdos pe-i386 pe-bigobj-i386 pei-i386 elf32-iamcu elf64-bpfbe elf64-bpfle elf32-ia64-hpux-big elf64-ia64-big elf64-ia64-little elf64-ia64-hpux-big elf64-ia64-vms pei-ia64 elf32-ip2k elf32-iq2000 elf32-lm32 elf32-m32c elf32-m32r elf32-m32rle elf32-m32r-linux elf32-m32rle-linux elf32-m68hc11 elf32-m68hc12 elf32-m68k elf32-s12z mach-o-be mach-o-le mach-o-fat elf32-mcore-big elf32-mcore-little pe-mcore-big pe-mcore-little pei-mcore-big pei-mcore-little elf32-mep elf32-metag elf32-microblaze ecoff-bigmips ecoff-littlemips ecoff-biglittlemips elf32-bigmips elf32-littlemips elf32-nbigmips elf32-nlittlemips elf32-ntradbigmips elf32-ntradlittlemips elf32-ntradbigmips-freebsd elf32-ntradlittlemips-freebsd elf32-tradbigmips elf32-tradlittlemips elf32-tradbigmips-freebsd elf32-tradlittlemips-freebsd elf32-bigmips-vxworks elf32-littlemips-vxworks elf64-bigmips elf64-littlemips elf64-tradbigmips elf64-tradlittlemips elf64-tradbigmips-freebsd elf64-tradlittlemips-freebsd elf64-mmix mmo elf32-mn10200 elf32-mn10300 elf32-bigmoxie elf32-littlemoxie elf32-msp430 elf32-msp430 elf32-mt elf32-nds32be elf32-nds32le elf32-nds32be-linux elf32-nds32le-linux elf64-nfp elf32-bignios2 elf32-littlenios2 a.out-pc532-mach a.out-ns32k-netbsd elf32-or1k pdb a.out-pdp11 pef pef-xlib elf32-pj elf32-pjl ppcboot elf32-powerpc elf32-powerpcle elf32-powerpc-freebsd elf32-powerpc-vxworks elf64-powerpc elf64-powerpcle elf64-powerpc-freebsd elf64-powerpcle-freebsd elf32-pru elf32-littleriscv elf64-littleriscv elf32-bigriscv elf64-bigriscv elf32-rl78 aixcoff64-rs6000 aix5coff64-rs6000 aixcoff-rs6000 elf32-rx-be elf32-rx-be-ns elf32-rx-le elf32-s390 elf64-s390 elf32-bigscore elf32-littlescore coff-sh coff-shl coff-sh-small coff-shl-small elf32-sh elf32-shl elf32-shbig-fdpic elf32-sh-fdpic elf32-sh-linux elf32-shbig-linux elf32-sh-nbsd elf32-shl-nbsd elf32-sh-vxworks elf32-shl-vxworks pe-shl pei-shl elf32-sparc elf32-sparc-sol2 elf32-sparc-vxworks elf64-sparc elf64-sparc-freebsd elf64-sparc-sol2 elf32-spu sym coff-tic30 coff0-beh-c54x coff0-c54x coff1-beh-c54x coff1-c54x coff2-beh-c54x coff2-c54x elf32-tic6x-be elf32-tic6x-le elf32-tilegx-be elf32-tilegx-le elf64-tilegx-be elf64-tilegx-le elf32-tilepro elf32-ft32 elf32-v850-rh850 elf32-v850 a.out-vax1k-netbsd a.out-vax-netbsd elf32-vax elf32-visium wasm elf32-wasm32 coff-x86-64 elf32-x86-64 elf64-x86-64 elf64-x86-64-cloudabi elf64-x86-64-freebsd elf64-x86-64-sol2 mach-o-x86-64 pe-x86-64 pe-bigobj-x86-64 pei-x86-64 elf32-xgate elf32-xstormy16 elf32-xtensa-be elf32-xtensa-le coff-z80 elf32-z80 coff-z8k elf32-loongarch elf64-loongarch pei-loongarch64 srec symbolsrec verilog tekhex binary ihex plugin make[2]: *** [tools/aot/jitinterface/libjitinterface_arm64.dylib] Error 1 make[2]: *** Deleting file `tools/aot/jitinterface/libjitinterface_arm64.dylib' make[1]: *** [tools/aot/jitinterface/CMakeFiles/jitinterface_arm64.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... strip: invalid option -- n Usage: /opt/homebrew/opt/binutils/bin/strip in-file(s) Removes symbols and sections from files The options are: -I --input-target= Assume input file is in format -O --output-target= Create an output file in format -F --target= Set both input and output format to -p --preserve-dates Copy modified/access timestamps to the output -D --enable-deterministic-archives Produce deterministic output when stripping archives (default) -U --disable-deterministic-archives Disable -D behavior -R --remove-section= Also remove section from the output --remove-relocations Remove relocations from section --strip-section-headers Strip section headers from the output -s --strip-all Remove all symbol and relocation information -g -S -d --strip-debug Remove all debugging symbols & sections --strip-dwo Remove all DWO sections --strip-unneeded Remove all symbols not needed by relocations --only-keep-debug Strip everything but the debug information -M --merge-notes Remove redundant entries in note sections (default) --no-merge-notes Do not attempt to remove redundant notes -N --strip-symbol= Do not copy symbol --keep-section= Do not strip section -K --keep-symbol= Do not strip symbol --keep-section-symbols Do not strip section symbols --keep-file-symbols Do not strip file symbol(s) -w --wildcard Permit wildcard in symbol comparison -x --discard-all Remove all non-global symbols -X --discard-locals Remove any compiler-generated symbols -v --verbose List all object files modified -V --version Display this program's version number -h --help Display this output --info List object formats & architectures supported -o Place stripped output into /opt/homebrew/opt/binutils/bin/strip: supported targets: mach-o-arm64 elf32-bigaarch64 elf32-littleaarch64 elf64-bigaarch64 elf64-bigaarch64-cloudabi elf64-littleaarch64 elf64-littleaarch64-cloudabi pe-aarch64-little pei-aarch64-little elf64-amdgcn ecoff-littlealpha elf64-alpha elf64-alpha-freebsd vms-alpha vms-libtxt elf32-am33lin elf32-bigarc elf32-littlearc elf32-bigarm elf32-littlearm elf32-bigarm-fdpic elf32-littlearm-fdpic elf32-bigarm-vxworks elf32-littlearm-vxworks mach-o-arm pe-arm-big pe-arm-little pe-arm-wince-big pe-arm-wince-little pei-arm-big pei-arm-little pei-arm-wince-big pei-arm-wince-little elf32-avr elf32-bfin elf32-bfinfdpic elf32-cr16 a.out-cris elf32-cris elf32-us-cris elf32-crx elf32-csky-big elf32-csky-little elf32-d10v elf32-d30v elf32-dlx elf32-big elf32-little elf64-big elf64-little elf32-epiphany elf32-fr30 elf32-frv elf32-frvfdpic elf32-h8300 elf32-h8300-linux elf32-hppa elf32-hppa-linux elf32-hppa-netbsd elf64-hppa elf64-hppa-linux som a.out-i386 a.out-i386-bsd a.out-i386-lynx coff-i386 coff-go32 coff-go32-exe coff-i386-lynx elf32-i386 elf32-i386-freebsd elf32-i386-sol2 elf32-i386-vxworks mach-o-i386 msdos pe-i386 pe-bigobj-i386 pei-i386 elf32-iamcu elf64-bpfbe elf64-bpfle elf32-ia64-hpux-big elf64-ia64-big elf64-ia64-little elf64-ia64-hpux-big elf64-ia64-vms pei-ia64 elf32-ip2k elf32-iq2000 elf32-lm32 elf32-m32c elf32-m32r elf32-m32rle elf32-m32r-linux elf32-m32rle-linux elf32-m68hc11 elf32-m68hc12 elf32-m68k elf32-s12z mach-o-be mach-o-le mach-o-fat elf32-mcore-big elf32-mcore-little pe-mcore-big pe-mcore-little pei-mcore-big pei-mcore-little elf32-mep elf32-metag elf32-microblaze ecoff-bigmips ecoff-littlemips ecoff-biglittlemips elf32-bigmips elf32-littlemips elf32-nbigmips elf32-nlittlemips elf32-ntradbigmips elf32-ntradlittlemips elf32-ntradbigmips-freebsd elf32-ntradlittlemips-freebsd elf32-tradbigmips elf32-tradlittlemips elf32-tradbigmips-freebsd elf32-tradlittlemips-freebsd elf32-bigmips-vxworks elf32-littlemips-vxworks elf64-bigmips elf64-littlemips elf64-tradbigmips elf64-tradlittlemips elf64-tradbigmips-freebsd elf64-tradlittlemips-freebsd elf64-mmix mmo elf32-mn10200 elf32-mn10300 elf32-bigmoxie elf32-littlemoxie elf32-msp430 elf32-msp430 elf32-mt elf32-nds32be elf32-nds32le elf32-nds32be-linux elf32-nds32le-linux elf64-nfp elf32-bignios2 elf32-littlenios2 a.out-pc532-mach a.out-ns32k-netbsd elf32-or1k pdb a.out-pdp11 pef pef-xlib elf32-pj elf32-pjl ppcboot elf32-powerpc elf32-powerpcle elf32-powerpc-freebsd elf32-powerpc-vxworks elf64-powerpc elf64-powerpcle elf64-powerpc-freebsd elf64-powerpcle-freebsd elf32-pru elf32-littleriscv elf64-littleriscv elf32-bigriscv elf64-bigriscv elf32-rl78 aixcoff64-rs6000 aix5coff64-rs6000 aixcoff-rs6000 elf32-rx-be elf32-rx-be-ns elf32-rx-le elf32-s390 elf64-s390 elf32-bigscore elf32-littlescore coff-sh coff-shl coff-sh-small coff-shl-small elf32-sh elf32-shl elf32-shbig-fdpic elf32-sh-fdpic elf32-sh-linux elf32-shbig-linux elf32-sh-nbsd elf32-shl-nbsd elf32-sh-vxworks elf32-shl-vxworks pe-shl pei-shl elf32-sparc elf32-sparc-sol2 elf32-sparc-vxworks elf64-sparc elf64-sparc-freebsd elf64-sparc-sol2 elf32-spu sym coff-tic30 coff0-beh-c54x coff0-c54x coff1-beh-c54x coff1-c54x coff2-beh-c54x coff2-c54x elf32-tic6x-be elf32-tic6x-le elf32-tilegx-be elf32-tilegx-le elf64-tilegx-be elf64-tilegx-le elf32-tilepro elf32-ft32 elf32-v850-rh850 elf32-v850 a.out-vax1k-netbsd a.out-vax-netbsd elf32-vax elf32-visium wasm elf32-wasm32 coff-x86-64 elf32-x86-64 elf64-x86-64 elf64-x86-64-cloudabi elf64-x86-64-freebsd elf64-x86-64-sol2 mach-o-x86-64 pe-x86-64 pe-bigobj-x86-64 pei-x86-64 elf32-xgate elf32-xstormy16 elf32-xtensa-be elf32-xtensa-le coff-z80 elf32-z80 coff-z8k elf32-loongarch elf64-loongarch pei-loongarch64 srec symbolsrec verilog tekhex binary ihex plugin make[2]: *** [test-watchdog/watchdog] Error 1 make[2]: *** Deleting file `test-watchdog/watchdog' make[1]: *** [test-watchdog/CMakeFiles/watchdog.dir/all] Error 2 [ 18%] Building CXX object dlls/mscorpe/CMakeFiles/mscorpe.dir/ceefilegenwriter.cpp.o [ 19%] Building CXX object dlls/mscorpe/CMakeFiles/mscorpe.dir/pewriter.cpp.o [ 22%] Built target eventpipe-enabled [ 22%] Building CXX object dlls/mscorpe/CMakeFiles/mscorpe.dir/ceefilegenwritertokens.cpp.o [ 22%] Linking CXX static library libmdstaticapi.a [ 22%] Built target mdstaticapi [ 22%] Linking CXX static library libmdstaticapi_ppdb.a [ 22%] Built target mdstaticapi_ppdb [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/metamodelrw.cpp.o [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/metamodelenc.cpp.o [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/peparse.cpp.o [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/stgio.cpp.o [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/rwutil.cpp.o [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/liteweightstgdbrw.cpp.o [ 22%] Built target eventing_headers [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/stgtiggerstorage.cpp.o [ 22%] Linking CXX static library libmscorpe.a [ 22%] Built target mscorpe [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/stgtiggerstream.cpp.o [ 22%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/mdinternalrw.cpp.o [ 23%] Building CXX object md/enc/CMakeFiles/mdruntimerw_ppdb.dir/pdbheap.cpp.o [ 27%] Built target coreclrpal [ 27%] Linking CXX static library libmdruntimerw_ppdb.a [ 27%] Built target mdruntimerw_ppdb make: *** [all] Error 2 ~/source/dotnet/runtime/src/coreclr Failed to build "CoreCLR component". /Users/zhengxianwei/source/dotnet/runtime/src/coreclr/runtime.proj(71,5): error MSB3073: 命令“"/Users/zhengxianwei/source/dotnet/runtime/src/coreclr/build-runtime.sh" -arm64 -debug -os osx -outputrid osx-arm64”已退出,代码为 2。 生成失败。 /Users/zhengxianwei/source/dotnet/runtime/src/coreclr/runtime.proj(71,5): error MSB3073: 命令“"/Users/zhengxianwei/source/dotnet/runtime/src/coreclr/build-runtime.sh" -arm64 -debug -os osx -outputrid osx-arm64”已退出,代码为 2。 0 个警告 1 个错误 已用时间 00:00:06.87 Build failed with exit code 1. Check errors above. ```
Author: baikaishiuc
Assignees: -
Labels: `area-Infrastructure-coreclr`, `untriaged`
Milestone: -
vcsjones commented 1 year ago

It looks like you have binutils / strip from Homebrew. I believe building on MacOS requires using the Xcode toolchain, or strip from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip.

Can you modify your build environment so that the Xcode toolchain is preferred to the ones you acquired from Homebrew?

baikaishiuc commented 1 year ago

It looks like you have binutils / strip from Homebrew. I believe building on MacOS requires using the Xcode toolchain, or strip from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip.

Can you modify your build environment so that the Xcode toolchain is preferred to the ones you acquired from Homebrew?

Hi, I uninstall binutils, and check xcode strip be access in zsh:

Arm runtime [main] % strip
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip: no files specified

but still continue report error:

  [ 27%] Built target mdruntimerw_ppdb
  ld: warning: ignoring file unix/libgc_pal.a, building for macOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x21 0x3C 0x61 0x72 0x63 0x68 0x3E 0x0A 0x2F 0x20 0x20 0x20 0x20 0x20 0x20 0x20 )
  /bin/sh: /opt/homebrew/opt/binutils/bin/strip: No such file or directory
  make[2]: *** [tools/aot/jitinterface/libjitinterface_arm64.dylib] Error 127
  make[2]: *** Deleting file `tools/aot/jitinterface/libjitinterface_arm64.dylib'

how can i change the default strip program in dotnet build script?

agocke commented 4 months ago

This should be fixed