pkgsrc-Bugs archive

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

Re: firefox and rust build failure



In article <20200707143223.6DF4412AB8%chopper.goathill.org@localhost>,
MLH <mlh%goathill.org@localhost> wrote:
>> kre wrote:
>>> mlh wrote:
>> 
>>> error: process didn't exit successfully: `rustc -vV` (exit code: 2)
>>> --- stderr
>>> /bin/sh: Cannot execute ELF binary /usr/pkgnew/bin/rustc
>
>> That message indicates that sh was trying to run the binary as a
>> script, which means it has 'x' permission, but exec() on it failed.
>> It would be useful to know why.  Try running
>> 
>>         main()
>>         {
>>                 execl("/usr/pkgnew/bin/rustc", "rustc", "-vV", (char *)0);
>>                 perror("execl");
>>                 return 1;
>>         }
>> 
>> (with whatever include files are needed to keep gcc happy), and see
>> what the exec failure is, that might provide a clue.
>> 
>> kre
>
>$ ./test.o
>execl: Exec format error
>
>$ /usr/pkgnew/bin/rustc
>/bin/sh: Cannot execute ELF binary /usr/pkgnew/bin/rustc

The shell tries execve(2), and if that returns ENOEXEC, then it tries to execute
it as a script file. But first it checks if it is a bad elf file so that it
can print the helpful message you have there. Check dmesg if the kernel spat
out the reason, othewise compile a kernel with DEBUG_EXEC and it will tell
you why. I've been debating to add a uprintf() when that happens, but it
is clumsy.

christos




Home | Main Index | Thread Index | Old Index