Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

install target fails for the verified ARM_HYP configuration #1334

Open
wucke13 opened this issue Oct 18, 2024 · 0 comments · May be fixed by #1338
Open

install target fails for the verified ARM_HYP configuration #1334

wucke13 opened this issue Oct 18, 2024 · 0 comments · May be fixed by #1338

Comments

@wucke13
Copy link
Contributor

wucke13 commented Oct 18, 2024

Command to reproduce:
nix build github:DLR-FT/seL4-nix-utils/7292affcd7fa8ca739a29a1684fb795a6f1189e5\#seL4-kernel-arm-hyp --print-build-logs

Actual error message:

seL4-armv7l-unknown-linux-gnueabihf> CMake Error at cmake_install.cmake:51 (file):
seL4-armv7l-unknown-linux-gnueabihf>   file INSTALL cannot duplicate symlink
seL4-armv7l-unknown-linux-gnueabihf>     /build/source/libsel4/sel4_arch_include/arm_hyp
seL4-armv7l-unknown-linux-gnueabihf>   at
seL4-armv7l-unknown-linux-gnueabihf>     /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include
seL4-armv7l-unknown-linux-gnueabihf>   because: A directory already exists at that location
seL4-armv7l-unknown-linux-gnueabihf> FAILED: CMakeFiles/install.util
seL4-armv7l-unknown-linux-gnueabihf> cd /build/source/build && /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P cmake_install.cmake
seL4-armv7l-unknown-linux-gnueabihf> ninja: build stopped: subcommand failed.

Notes:

  • @kent-mcleod could reproduce this failure without my Nix based environment, so I'm fairly sure its an actual problem in the CMake scripts.
  • The thing that actually fails is the final call to ninja install. Not many seL4 projects provide an install target, but the kernel itself does. @nspin is using this for the upstream Rust code, so I'm not sure if its feasible to just remove the install target all-together.
Full build log
seL4-armv7l-unknown-linux-gnueabihf> Running phase: unpackPhase
seL4-armv7l-unknown-linux-gnueabihf> unpacking source archive /nix/store/nrqmk61l0la4g59ry5yf8dmfjr0g57dj-source
seL4-armv7l-unknown-linux-gnueabihf> source root is source
seL4-armv7l-unknown-linux-gnueabihf> Running phase: patchPhase
seL4-armv7l-unknown-linux-gnueabihf> patching script interpreter paths in .
seL4-armv7l-unknown-linux-gnueabihf> ./configs/AARCH64_verified.cmake: interpreter directive changed from "#!/usr/bin/env -S cmake -P" to "/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin/env -S /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P"
seL4-armv7l-unknown-linux-gnueabihf> ./configs/ARM_HYP_exynos5_verified.cmake: interpreter directive changed from "#!/usr/bin/env -S cmake -P" to "/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin/env -S /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P"
seL4-armv7l-unknown-linux-gnueabihf> ./configs/ARM_HYP_verified.cmake: interpreter directive changed from "#!/usr/bin/env -S cmake -P" to "/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin/env -S /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P"
seL4-armv7l-unknown-linux-gnueabihf> ./configs/ARM_MCS_verified.cmake: interpreter directive changed from "#!/usr/bin/env -S cmake -P" to "/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin/env -S /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P"
seL4-armv7l-unknown-linux-gnueabihf> ./configs/ARM_imx8mm_verified.cmake: interpreter directive changed from "#!/usr/bin/env -S cmake -P" to "/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin/env -S /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P"
seL4-armv7l-unknown-linux-gnueabihf> ./configs/ARM_verified.cmake: interpreter directive changed from "#!/usr/bin/env -S cmake -P" to "/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin/env -S /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P"
seL4-armv7l-unknown-linux-gnueabihf> ./configs/RISCV64_MCS_verified.cmake: interpreter directive changed from "#!/usr/bin/env -S cmake -P" to "/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin/env -S /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P"
seL4-armv7l-unknown-linux-gnueabihf> ./configs/RISCV64_verified.cmake: interpreter directive changed from "#!/usr/bin/env -S cmake -P" to "/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin/env -S /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P"
seL4-armv7l-unknown-linux-gnueabihf> ./configs/X64_verified.cmake: interpreter directive changed from "#!/usr/bin/env -S cmake -P" to "/nix/store/rk067yylvhyb7a360n8k1ps4lb4xsbl3-coreutils-9.3/bin/env -S /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P"
seL4-armv7l-unknown-linux-gnueabihf> ./manual/tools/gen_env.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/yvhwsfbh4bc99vfvwpaa70m4yng4pvpz-python3-3.11.8/bin/python3"
seL4-armv7l-unknown-linux-gnueabihf> ./manual/tools/gen_invocations.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/yvhwsfbh4bc99vfvwpaa70m4yng4pvpz-python3-3.11.8/bin/python3"
seL4-armv7l-unknown-linux-gnueabihf> ./manual/tools/parse_doxygen_xml.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/yvhwsfbh4bc99vfvwpaa70m4yng4pvpz-python3-3.11.8/bin/python3"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/bitfield_gen.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/yvhwsfbh4bc99vfvwpaa70m4yng4pvpz-python3-3.11.8/bin/python3"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/changed.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/r9h133c9m8f6jnlsqzwf89zg9w0w78s8-bash-5.2-p15/bin/bash"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/circular_includes.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/yvhwsfbh4bc99vfvwpaa70m4yng4pvpz-python3-3.11.8/bin/python3"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/cpp_gen.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/r9h133c9m8f6jnlsqzwf89zg9w0w78s8-bash-5.2-p15/bin/bash"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/dts/update-dts.sh: interpreter directive changed from "#!/usr/bin/env sh" to "/nix/store/r9h133c9m8f6jnlsqzwf89zg9w0w78s8-bash-5.2-p15/bin/sh"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/invocation_header_gen.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/yvhwsfbh4bc99vfvwpaa70m4yng4pvpz-python3-3.11.8/bin/python3"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/kernel_pylint.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/r9h133c9m8f6jnlsqzwf89zg9w0w78s8-bash-5.2-p15/bin/bash"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/kernel_xmllint.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/r9h133c9m8f6jnlsqzwf89zg9w0w78s8-bash-5.2-p15/bin/bash"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/reciprocal.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/yvhwsfbh4bc99vfvwpaa70m4yng4pvpz-python3-3.11.8/bin/python3"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/syscall_header_gen.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/yvhwsfbh4bc99vfvwpaa70m4yng4pvpz-python3-3.11.8/bin/python3"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/umm.py: interpreter directive changed from "#!/usr/bin/env python3" to "/nix/store/yvhwsfbh4bc99vfvwpaa70m4yng4pvpz-python3-3.11.8/bin/python3"
seL4-armv7l-unknown-linux-gnueabihf> ./tools/xmllint.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/r9h133c9m8f6jnlsqzwf89zg9w0w78s8-bash-5.2-p15/bin/bash"
seL4-armv7l-unknown-linux-gnueabihf> Running phase: updateAutotoolsGnuConfigScriptsPhase
seL4-armv7l-unknown-linux-gnueabihf> Running phase: updateAutotoolsGnuConfigScriptsPhase
seL4-armv7l-unknown-linux-gnueabihf> Running phase: configurePhase
seL4-armv7l-unknown-linux-gnueabihf> fixing cmake files...
seL4-armv7l-unknown-linux-gnueabihf> cmake flags: -GNinja -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DCMAKE_INSTALL_LOCALEDIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/share/locale -DCMAKE_INSTALL_LIBEXECDIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libexec -DCMAKE_INSTALL_LIBDIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/lib -DCMAKE_INSTALL_DOCDIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/share/doc/seL4 -DCMAKE_INSTALL_INFODIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/share/info -DCMAKE_INSTALL_MANDIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/share/man -DCMAKE_INSTALL_OLDINCLUDEDIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/include -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/include -DCMAKE_INSTALL_SBINDIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/sbin -DCMAKE_INSTALL_BINDIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/bin -DCMAKE_INSTALL_NAME_DIR=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/lib -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_OSX_SYSROOT= -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_STRIP=/nix/store/6j1sldxhlx2f7b0jf95wi00mwxda3hq1-armv7l-unknown-linux-gnueabihf-gcc-wrapper-12.3.0/bin/armv7l-unknown-linux-gnueabihf-strip -DCMAKE_RANLIB=/nix/store/6j1sldxhlx2f7b0jf95wi00mwxda3hq1-armv7l-unknown-linux-gnueabihf-gcc-wrapper-12.3.0/bin/armv7l-unknown-linux-gnueabihf-ranlib -DCMAKE_AR=/nix/store/6j1sldxhlx2f7b0jf95wi00mwxda3hq1-armv7l-unknown-linux-gnueabihf-gcc-wrapper-12.3.0/bin/armv7l-unknown-linux-gnueabihf-ar -DCMAKE_C_COMPILER=armv7l-unknown-linux-gnueabihf-gcc -DCMAKE_CXX_COMPILER=armv7l-unknown-linux-gnueabihf-g++ -DCMAKE_INSTALL_PREFIX=/nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0 -GNinja -DCROSS_COMPILER_PREFIX=armv7l-unknown-linux-gnueabihf- -DCMAKE_TOOLCHAIN_FILE=../gcc.cmake -C../configs/ARM_HYP_verified.cmake -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=armv7l -DCMAKE_HOST_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_PROCESSOR=x86_64
seL4-armv7l-unknown-linux-gnueabihf> loading initial cache file ../configs/ARM_HYP_verified.cmake
seL4-armv7l-unknown-linux-gnueabihf> -- The C compiler identification is GNU 12.3.0
seL4-armv7l-unknown-linux-gnueabihf> -- The ASM compiler identification is GNU
seL4-armv7l-unknown-linux-gnueabihf> -- Found assembler: /nix/store/6j1sldxhlx2f7b0jf95wi00mwxda3hq1-armv7l-unknown-linux-gnueabihf-gcc-wrapper-12.3.0/bin/armv7l-unknown-linux-gnueabihf-gcc
seL4-armv7l-unknown-linux-gnueabihf> -- Detecting C compiler ABI info
seL4-armv7l-unknown-linux-gnueabihf> -- Detecting C compiler ABI info - done
seL4-armv7l-unknown-linux-gnueabihf> -- Check for working C compiler: /nix/store/6j1sldxhlx2f7b0jf95wi00mwxda3hq1-armv7l-unknown-linux-gnueabihf-gcc-wrapper-12.3.0/bin/armv7l-unknown-linux-gnueabihf-gcc - skipped
seL4-armv7l-unknown-linux-gnueabihf> -- Detecting C compile features
seL4-armv7l-unknown-linux-gnueabihf> -- Detecting C compile features - done
seL4-armv7l-unknown-linux-gnueabihf> -- /build/source/build/gen_headers/plat/machine/devices_gen.h is out of date. Regenerating from DTB...
seL4-armv7l-unknown-linux-gnueabihf> -- Configuring done (1.4s)
seL4-armv7l-unknown-linux-gnueabihf> -- Generating done (0.0s)
seL4-armv7l-unknown-linux-gnueabihf> CMake Warning:
seL4-armv7l-unknown-linux-gnueabihf>   Manually-specified variables were not used by the project:
seL4-armv7l-unknown-linux-gnueabihf>     BUILD_TESTING
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_EXPORT_NO_PACKAGE_REGISTRY
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_FIND_USE_PACKAGE_REGISTRY
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_INSTALL_BINDIR
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_INSTALL_DOCDIR
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_INSTALL_INCLUDEDIR
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_INSTALL_INFODIR
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_INSTALL_LIBDIR
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_INSTALL_LIBEXECDIR
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_INSTALL_LOCALEDIR
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_INSTALL_MANDIR
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_INSTALL_OLDINCLUDEDIR
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_INSTALL_SBINDIR
seL4-armv7l-unknown-linux-gnueabihf>     CMAKE_POLICY_DEFAULT_CMP0025
seL4-armv7l-unknown-linux-gnueabihf>
seL4-armv7l-unknown-linux-gnueabihf> -- Build files have been written to: /build/source/build
seL4-armv7l-unknown-linux-gnueabihf> cmake: enabled parallel building
seL4-armv7l-unknown-linux-gnueabihf> cmake: enabled parallel installing
seL4-armv7l-unknown-linux-gnueabihf> Running phase: buildPhase
seL4-armv7l-unknown-linux-gnueabihf> build flags: -j16
seL4-armv7l-unknown-linux-gnueabihf> [1/47] Creating C input file for preprocessor
seL4-armv7l-unknown-linux-gnueabihf> [2/47] Creating C input file for preprocessor
seL4-armv7l-unknown-linux-gnueabihf> [3/47] Generate dummy headers for prune compilation
seL4-armv7l-unknown-linux-gnueabihf> [4/47] Building C object libsel4/CMakeFiles/libsel4_shared_types_gen_pbf_temp_lib.dir/libsel4_shared_types_gen_pbf_temp.c.obj
seL4-armv7l-unknown-linux-gnueabihf> [5/47] Building C object libsel4/CMakeFiles/libsel4_sel4_arch_types_gen_pbf_temp_lib.dir/libsel4_sel4_arch_types_gen_pbf_temp.c.obj
seL4-armv7l-unknown-linux-gnueabihf> [6/47] Generating include/sel4/shared_types.pbf
seL4-armv7l-unknown-linux-gnueabihf> [7/47] Generating sel4_arch_include/arm_hyp/sel4/sel4_arch/types.pbf
seL4-armv7l-unknown-linux-gnueabihf> [8/47] Concatenating C files
seL4-armv7l-unknown-linux-gnueabihf> [9/47] Generate invocation header gen_headers/arch/api/sel4_invocation.h
seL4-armv7l-unknown-linux-gnueabihf> [10/47] Generating from /build/source/build/libsel4/sel4_arch_include/arm_hyp/sel4/sel4_arch/types.pbf
seL4-armv7l-unknown-linux-gnueabihf> [11/47] Generating from /build/source/build/libsel4/include/sel4/shared_types.pbf
seL4-armv7l-unknown-linux-gnueabihf> [12/47] Generate invocation header gen_headers/api/invocation.h
seL4-armv7l-unknown-linux-gnueabihf> [13/47] Generate invocation header sel4_arch_include/arm_hyp/sel4/sel4_arch/invocation.h
seL4-armv7l-unknown-linux-gnueabihf> [14/47] Generate sel4_client.h
seL4-armv7l-unknown-linux-gnueabihf> [15/47] Generate syscall invocations
seL4-armv7l-unknown-linux-gnueabihf> [16/47] Generate invocation header gen_headers/arch/api/invocation.h
seL4-armv7l-unknown-linux-gnueabihf> [17/47] Creating C input file for preprocessor
seL4-armv7l-unknown-linux-gnueabihf> [18/47] Creating C input file for preprocessor
seL4-armv7l-unknown-linux-gnueabihf> [19/47] Generate invocation header arch_include/arm/sel4/arch/invocation.h
seL4-armv7l-unknown-linux-gnueabihf> [20/47] Generate invocation header include/sel4/invocation.h
seL4-armv7l-unknown-linux-gnueabihf> [21/47] Building C object CMakeFiles/kernel_bf_gen_target_1_pbf_temp_lib.dir/kernel_bf_gen_target_1_pbf_temp.c.obj
seL4-armv7l-unknown-linux-gnueabihf> [22/47] Generate syscall.h
seL4-armv7l-unknown-linux-gnueabihf> [23/47] Generating generated/plat/machine/hardware.bf.pbf
seL4-armv7l-unknown-linux-gnueabihf> [24/47] Building C object CMakeFiles/kernel_all_pp_prune_wrapper_temp_lib.dir/kernel_all_pp_prune_wrapper_temp.c.obj
seL4-armv7l-unknown-linux-gnueabihf> [25/47] Generating kernel_all_pp_prune.c
seL4-armv7l-unknown-linux-gnueabihf> [26/47] Generating from generated/plat/machine/hardware.bf.pbf
seL4-armv7l-unknown-linux-gnueabihf> [27/47] Creating C input file for preprocessor
seL4-armv7l-unknown-linux-gnueabihf> [28/47] Building C object CMakeFiles/kernel_bf_gen_target_11_pbf_temp_lib.dir/kernel_bf_gen_target_11_pbf_temp.c.obj
seL4-armv7l-unknown-linux-gnueabihf> [29/47] Generating generated/arch/object/structures.bf.pbf
seL4-armv7l-unknown-linux-gnueabihf> [30/47] Generating from generated/arch/object/structures.bf.pbf
seL4-armv7l-unknown-linux-gnueabihf> [31/47] Creating C input file for preprocessor
seL4-armv7l-unknown-linux-gnueabihf> [32/47] Building C object CMakeFiles/kernel_bf_gen_target_111_pbf_temp_lib.dir/kernel_bf_gen_target_111_pbf_temp.c.obj
seL4-armv7l-unknown-linux-gnueabihf> [33/47] Generating generated/sel4/shared_types.bf.pbf
seL4-armv7l-unknown-linux-gnueabihf> [34/47] Generating from generated/sel4/shared_types.bf.pbf
seL4-armv7l-unknown-linux-gnueabihf> [35/47] Creating C input file for preprocessor
seL4-armv7l-unknown-linux-gnueabihf> [36/47] Creating C input file for preprocessor
seL4-armv7l-unknown-linux-gnueabihf> [37/47] Building C object CMakeFiles/linker_ld_wrapper_temp_lib.dir/linker_ld_wrapper_temp.c.obj
seL4-armv7l-unknown-linux-gnueabihf> [38/47] Generating linker.lds_pp
seL4-armv7l-unknown-linux-gnueabihf> [39/47] Building C object CMakeFiles/kernel_i_wrapper_temp_lib.dir/kernel_all_copy.c.obj
seL4-armv7l-unknown-linux-gnueabihf> [40/47] Generating kernel_all.i
seL4-armv7l-unknown-linux-gnueabihf> [41/47] Generating circular_includes_valid
seL4-armv7l-unknown-linux-gnueabihf> [42/47] Building ASM object CMakeFiles/kernel.elf.dir/src/arch/arm/armv/armv7-a/machine_asm.S.obj
seL4-armv7l-unknown-linux-gnueabihf> [43/47] Building ASM object CMakeFiles/kernel.elf.dir/src/arch/arm/32/traps.S.obj
seL4-armv7l-unknown-linux-gnueabihf> [44/47] Building ASM object CMakeFiles/kernel.elf.dir/src/arch/arm/32/head.S.obj
seL4-armv7l-unknown-linux-gnueabihf> [45/47] Building ASM object CMakeFiles/kernel.elf.dir/src/arch/arm/32/hyp_traps.S.obj
seL4-armv7l-unknown-linux-gnueabihf> [46/47] Building C object CMakeFiles/kernel.elf.dir/kernel_all.c.obj
seL4-armv7l-unknown-linux-gnueabihf> [47/47] Linking C executable kernel.elf
seL4-armv7l-unknown-linux-gnueabihf> /nix/store/id3p1y5nzi49jdag04cicy7vrz9nlb7a-armv7l-unknown-linux-gnueabihf-binutils-2.40/bin/armv7l-unknown-linux-gnueabihf-ld: warning: CMakeFiles/kernel.elf.dir/src/arch/arm/32/hyp_traps.S.obj: missing .note.GNU-stack section implies executable stack
seL4-armv7l-unknown-linux-gnueabihf> /nix/store/id3p1y5nzi49jdag04cicy7vrz9nlb7a-armv7l-unknown-linux-gnueabihf-binutils-2.40/bin/armv7l-unknown-linux-gnueabihf-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
seL4-armv7l-unknown-linux-gnueabihf> /nix/store/id3p1y5nzi49jdag04cicy7vrz9nlb7a-armv7l-unknown-linux-gnueabihf-binutils-2.40/bin/armv7l-unknown-linux-gnueabihf-ld: warning: kernel.elf has a LOAD segment with RWX permissions
seL4-armv7l-unknown-linux-gnueabihf> Running phase: installPhase
seL4-armv7l-unknown-linux-gnueabihf> install flags: -j16 install
seL4-armv7l-unknown-linux-gnueabihf> [0/1] Install the project...
seL4-armv7l-unknown-linux-gnueabihf> -- Install configuration: "Release"
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/bin/kernel.elf
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/api
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/api/syscall.xml
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/api/syscall.xsd
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/interfaces
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/interfaces/object-api.xml
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/assert.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/benchmark_tracepoints_types.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/benchmark_track_types.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/benchmark_utilisation_types.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/bootinfo.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/bootinfo_types.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/config.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/constants.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/debug_assert.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/deprecated.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/errors.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/faults.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/functions.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/macros.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/objecttype.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/sel4.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/shared_types.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/simple_types.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/syscalls.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/syscalls_master.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/syscalls_mcs.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/types.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/virtual_client.h
seL4-armv7l-unknown-linux-gnueabihf> -- Up-to-date: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include
seL4-armv7l-unknown-linux-gnueabihf> -- Up-to-date: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/interfaces
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/interfaces/object-api-arch.xml
seL4-armv7l-unknown-linux-gnueabihf> -- Up-to-date: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/constants.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/constants_cortex_a15.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/constants_cortex_a35.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/constants_cortex_a53.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/constants_cortex_a55.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/constants_cortex_a57.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/constants_cortex_a7.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/constants_cortex_a72.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/constants_cortex_a8.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/constants_cortex_a9.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/deprecated.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/mapping.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/objecttype.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/shared_types.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/simple_types.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/syscalls.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include/sel4/arch/types.h
seL4-armv7l-unknown-linux-gnueabihf> -- Installing: /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include
seL4-armv7l-unknown-linux-gnueabihf> CMake Error at cmake_install.cmake:51 (file):
seL4-armv7l-unknown-linux-gnueabihf>   file INSTALL cannot duplicate symlink
seL4-armv7l-unknown-linux-gnueabihf>     /build/source/libsel4/sel4_arch_include/arm_hyp
seL4-armv7l-unknown-linux-gnueabihf>   at
seL4-armv7l-unknown-linux-gnueabihf>     /nix/store/w49axx7rf3aaaqssj55y396aicc3dxip-seL4-armv7l-unknown-linux-gnueabihf-13.0.0/libsel4/include
seL4-armv7l-unknown-linux-gnueabihf>   because: A directory already exists at that location
seL4-armv7l-unknown-linux-gnueabihf> FAILED: CMakeFiles/install.util
seL4-armv7l-unknown-linux-gnueabihf> cd /build/source/build && /nix/store/ih9mk4l2rr9sd10rkmyjm38fn2ysypl0-cmake-3.27.7/bin/cmake -P cmake_install.cmake
seL4-armv7l-unknown-linux-gnueabihf> ninja: build stopped: subcommand failed.
wucke13 added a commit to DLR-FT/seL4-nix-utils that referenced this issue Oct 28, 2024
wucke13 added a commit to DLR-FT/seL4-nix-utils that referenced this issue Oct 28, 2024
wucke13 added a commit to DLR-FT/seL4-nix-utils that referenced this issue Oct 28, 2024
kent-mcleod added a commit to kent-mcleod/seL4 that referenced this issue Oct 28, 2024
The source layout for arm_hyp configurations uses a symlink to redirect
sel4_arch include paths back to aarch32 when KernelSel4Arch is set to
arm_hyp. This case wasn't being handled by the CMake install target for
installing libsel4 and kernel.elf when the project is used in a
standalone context. The consequence is that the ARM_HYP verified
configurations would fail to install even though they would build
correctly.

We directly address this issue by accounting for the arm_hyp special
case in the installation command where we manually resolve the symlink.
If new arm_hyp symlinks are added in the future, this fix should still
apply providing that the update to the CMake install target uses the
same resolved sel4arch path variable introduced by this change.

There is a longer-term plan to remove the arm_hyp KernelSel4Arch config
value which is expected to remove these sorts of issues.

Signed-off-by: Kent McLeod <[email protected]>
kent-mcleod added a commit to kent-mcleod/seL4 that referenced this issue Oct 28, 2024
The source layout for arm_hyp configurations uses a symlink to redirect
sel4_arch include paths back to aarch32 when KernelSel4Arch is set to
arm_hyp. This case wasn't being handled by the CMake install target for
installing libsel4 and kernel.elf when the project is used in a
standalone context. The consequence is that the ARM_HYP verified
configurations would fail to install even though they would build
correctly.

We directly address this issue by accounting for the arm_hyp special
case in the installation command where we manually resolve the symlink.
If new arm_hyp symlinks are added in the future, this fix should still
apply providing that the update to the CMake install target uses the
same resolved sel4arch path variable introduced by this change.

There is a longer-term plan to remove the arm_hyp KernelSel4Arch config
value which is expected to remove these sorts of issues.

Signed-off-by: Kent McLeod <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant