Skip to content

Add symlink for system lld #53049

@haampie

Description

@haampie

When building Julia with USE_SYSTEM_LLD:=1, the build system does not create a symlink to system lld in the install prefix. In the build logs I see it attempts to install lld:

$ zgrep -A7 'Install `lld`' .spack/spack-build-out.txt.gz 
# Install `lld` into private_libexecdir
/tmp/src/contrib/install.sh 755 /tmp/src/usr/tools/lld /tmp/install/libexec/julia/
cp: cannot stat '/tmp/src/usr/tools/lld': No such file or directory
chmod: cannot access '/tmp/install/libexec/julia//lld': No such file or directory
# Install `dsymutil` into private_libexecdir/
/tmp/src/contrib/install.sh 755 /tmp/src/usr/tools/dsymutil /tmp/install/libexec/julia/
cp: cannot stat '/tmp/src/usr/tools/dsymutil': No such file or directory
chmod: cannot access '/tmp/install/libexec/julia//dsymutil': No such file or directory

It would be convenient if Julia would create a symlink to lld, since USE_SYSTEM_LLD:=1 does not imply that there's only one lld on the system nor that it's always in PATH.

Edit: I see now that this is the intended behavior. The 7z symlink is created, and it looks like 02574e3 should do the same for lld, but it's just not working?

$ tree $(spack location -i julia)/libexec
/home/harmen/spack/opt/spack/linux-ubuntu23.10-zen2/gcc-13.2.0/julia-1.9.3-btpvx3biyaah65dy46pvc4nlwhehjymp/libexec
└── julia
    └── 7z -> /home/harmen/spack/opt/spack/linux-ubuntu23.10-zen2/gcc-13.2.0/p7zip-17.05-q6deo5fpxy7xncxu62ru4x5ypxhfdgl2/bin/7z

2 directories, 1 file

Also, minor: use which could be potentially be replaced with shell builtin command -v to drop a dependency?

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildingBuild system, or building Julia or its dependencies

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions