Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#12114 closed enhancement (fixed)

execvpe not implemented

Reported by: miqlas Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: System/POSIX Version: R1/Development
Keywords: execvpe Cc: miqlas@…
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

I got this error message as i tried to compile Nim on the latest Haiku nightly gcc2h:

nimcache/stdlib_osproc.o: In function `startprocessafterfork_145004':
stdlib_osproc.c:(.text+0x2a80): undefined reference to `execvpe'
collect2: error: ld returned 1 exit status
Error: execution of an external program failed

I understand, this is not required for POSIX compatibility, but it would make the port of Nim lot easier. Of course, we can implement it in the Nim patchset, but unfortunately the Nim bootstrap generating some files, what require execpve, so it is not possible to patch these files.

Here is the source from klibc: http://code.metager.de/source/xref/linux/klibc/usr/klibc/execvpe.c

Change History (5)

comment:1 by korli, 4 years ago

Resolution: no change required
Status: newclosed

From https://github.com/nim-lang/Nim/issues/3138, I understand Haiku isn't the only platform without execvpe support, and that a workaround might be in the works.

Good luck with porting and please don't forget to post your findings about nim at Haikuports!

comment:2 by axeld, 4 years ago

Resolution: no change required
Status: closedreopened

I took the liberty to implement it for Haiku, too. It's pretty much a one-liner.

comment:3 by axeld, 4 years ago

Resolution: fixed
Status: reopenedclosed

Implemented in hrev49438.

in reply to:  3 comment:4 by Anarchos, 4 years ago

Replying to axeld:

Implemented in hrev49438.

From http://webcache.googleusercontent.com/search?q=cache:muIVS-aFadIJ:www.freebsd.org/cgi/man.cgi?query=exec&sektion=3

The function exect() executes a file with the program tracing facilitiesenabled (see ptrace(2)).

Cheers.

Last edited 4 years ago by Anarchos (previous) (diff)

comment:5 by axeld, 4 years ago

Thanks! Since we don't support that this way, we should really remove it then (it didn't work anyway, just worked like a normal exec).

Note: See TracTickets for help on using tickets.