run_erl / Erlang configure script broken?
Thu Aug 20 11:11:33 CEST 2009
We're running R13B01 on a Solaris 10 machine (10/08 s10x_u6wos_07b X86, at a customer's site, configured in a non-standard way).
When trying to use run_erl we see the error:
run_erl:351  Wed Aug 19 13:34:15 2009
errno=2 'No such file or directory'
Could not open pty master
We see that the run_erl code tries a few different approaches to get a pty, and falls back to hard-coded paths if everything else fails. These paths aren't valid for Solaris, which keeps the pseudo-terminal files in /dev/pts. However, Solaris has a working posix_openpt() function -- which isn't getting called, because the HAVE_WORKING_POSIX_OPENPT macro is undefined. This is a result of the Erlang configure script being unable to detect that function. When running ./configure on a fresh copy of the R13B01 source on our system, we see the following message:
checking for working posix_openpt implementation... no
The C code that tests for posix_openpt() compiles on our system only when the -std=c99 flag is given. It's simple enough to force the configure script to use that flag:
CFLAGS="-std=c99 $CFLAGS" ./configure
checking for working posix_openpt implementation... yes
But this breaks the build in other places.
Has anyone seen this problem before? Any pointers on a fix or work around would be much appreciated.
Sean & Mietek.
More information about the erlang-questions