run_erl / Erlang configure script broken?

Sean McEvoy sean.mcevoy@REDACTED
Thu Aug 20 11:11:33 CEST 2009

Hello List,

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 [13847] 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 mailing list