NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: compat_linux failures due to execve, openat, etc.



Kevin Bloom <ktnb%posteo.net@localhost> wrote:
>Robert Swindells <rjs%fdy2.co.uk@localhost> wrote:
>
>> Kevin Bloom <ktnb%posteo.net@localhost> wrote:
>> > I've been wanting to try out NetBSD compat_linux(8) for a long time
>> > and I've finally had a situation that seems like a good candidate for
>> > testing it out. I've done the setup as explained in the man page,
>> > however, it appears that there is some issue with finding some key
>> > functions, specifically: execve, access, open, stat64, statfs,
>> > and connect. When I view the ktrace(1) dump
>> > I see lines like:
>> >
>> > 13390  13390 nix-env  CALL execve(0x7f7fffffdec0, 0x7f7fff223a90, 0x7f7fff223ab0)
>> > 13390  13390 nix-env  NAMI "/nix/store/${hash1}-nix-2.32.2/bin/nix-env"
>> > 13390  13390 nix-env  NAMI "/emul/linux"
>> > 13390  13390 nix-env  NAMI "/emul/linux/nix/store/${hash2}-glibc-2.40-66/lib/ld-linux-x86-64.so.2"a
>> > 13390  13390 nix-env  NAMI "/nix/store/${hash2}-glibc-2.40-66/lib/ld-linux-x86-64.so.2"
>> > 13390  13390 nix-env  EMUL "linux"
>> > 13390  13390 nix-env  RET execve -1 errno -2 No such file or directory
>> >
>> > When I look in the glibc directory I do see that shared lib in there
>> > so I'm confused why it's saying it's missing.
>> >
>> > I honestly don't no much about how the compat layer works other than
>> > what is in the wiki and man page. Any ideas to debug this more?
>> >
>> > PS: I know that nix doesn't work on NetBSD but I have a situation
>> > where being able to ues nix on NetBSD for _linux_ programs would be
>> > handy.
>> 
>> What is the hash1 & hash2 for?
>
> I'm not totally sure why nix does that. Every program in nix is given
> a hash. My guess would be to avoid confusion with the naming of the
> program or something.

I think you will need to find out if you want your application to work.

>> Are they really part of the names of actual files or is some part of
>> the nix environment expected to expand them to something else?

> I'm nix will just symlink in $HOME/.nix-profile/bin to the
> /nix/store/ hashed version of /bin. In other words, if you had a
> program called foo you'd have:
> $ ls -l $HOME/.nix-profile/bin
> $HOME/.nix-profile/bin/foo -> /nix/store/hash-foo-1.2.3/bin/foo

You still haven't answered whether the strings listed in each NAMI line
of the ktrace(1) output match real files on your machine or not.


Home | Main Index | Thread Index | Old Index