conda package binutils-or1k-linux request nix loader #72

Closed
opened 2021-11-04 21:22:48 +08:00 by jordens · 0 comments

The binaries in the binutils-or1k-linux conda package want the loader in the nix path (/nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/ld-linux-x86-64.so.2) and don't find the lsb location loader (which is the one present on conda installations on linux). Hacking the binaries with patchelf works around it but I guess this is a generic issue that needs some fix in nix-scripts building the binutils.

(artiq-stable) rj@sherry:~/Downloads (master)$ ~/src/conda/bin/conda install --force-reinstall -c https://conda.m-labs.hk/artiq binutils-or1k-linux
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/rj/src/conda/envs/artiq-stable

  added / updated specs:
    - binutils-or1k-linux



Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(artiq-stable) rj@sherry:~/Downloads (master)$ which or1k-linux-ld
/home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld
(artiq-stable) rj@sherry:~/Downloads (master)$ /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld
-bash: /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld: No such file or directory
(artiq-stable) rj@sherry:~/Downloads (master)$ ldd /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld
        linux-vdso.so.1 (0x00007ffe667b0000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f59b6d8b000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f59b6b63000)
        /nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f59b6db3000)
(artiq-stable) rj@sherry:~/Downloads (master)$ patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld
(artiq-stable) rj@sherry:~/Downloads (master)$ ldd /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld
        linux-vdso.so.1 (0x00007ffceb382000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f94f2e9f000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f94f2c77000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f94f2ec7000)
(artiq-stable) rj@sherry:~/Downloads (master)$ /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld
/home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld: no input files

Or am I doing something wrong?

The binaries in the binutils-or1k-linux conda package want the loader in the nix path (/nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/ld-linux-x86-64.so.2) and don't find the lsb location loader (which is the one present on conda installations on linux). Hacking the binaries with `patchelf` works around it but I guess this is a generic issue that needs some fix in `nix-scripts` building the binutils. ``` (artiq-stable) rj@sherry:~/Downloads (master)$ ~/src/conda/bin/conda install --force-reinstall -c https://conda.m-labs.hk/artiq binutils-or1k-linux Collecting package metadata (current_repodata.json): done Solving environment: done ## Package Plan ## environment location: /home/rj/src/conda/envs/artiq-stable added / updated specs: - binutils-or1k-linux Preparing transaction: done Verifying transaction: done Executing transaction: done (artiq-stable) rj@sherry:~/Downloads (master)$ which or1k-linux-ld /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld (artiq-stable) rj@sherry:~/Downloads (master)$ /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld -bash: /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld: No such file or directory (artiq-stable) rj@sherry:~/Downloads (master)$ ldd /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld linux-vdso.so.1 (0x00007ffe667b0000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f59b6d8b000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f59b6b63000) /nix/store/jsp3h3wpzc842j0rz61m5ly71ak6qgdn-glibc-2.32-54/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f59b6db3000) (artiq-stable) rj@sherry:~/Downloads (master)$ patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld (artiq-stable) rj@sherry:~/Downloads (master)$ ldd /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld linux-vdso.so.1 (0x00007ffceb382000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f94f2e9f000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f94f2c77000) /lib64/ld-linux-x86-64.so.2 (0x00007f94f2ec7000) (artiq-stable) rj@sherry:~/Downloads (master)$ /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld /home/rj/src/conda/envs/artiq-stable/bin/or1k-linux-ld: no input files ``` Or am I doing something wrong?
sb10q closed this issue 2021-11-05 11:33:16 +08:00
Sign in to join this conversation.
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/nix-scripts#72
There is no content yet.