[Top][All Lists]

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

[Octave-bug-tracker] [bug #55273] mkfifo returns "Function not implement

From: Andrew Janke
Subject: [Octave-bug-tracker] [bug #55273] mkfifo returns "Function not implemented" error
Date: Wed, 26 Dec 2018 23:33:21 -0500 (EST)
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36

Follow-up Comment #8, bug #55273 (project octave):

I think the REPLACE_MKFIFO might be a red herring: it looks to me like the way
it works is that when activated, instead of defining a `mkfifo` function, it
defines `rpl_mkfifo` function in mkfifo.c, which works in conjunction with a
`mkfifo` macro in gnulib's `sys_stat.h` header, so that you end up calling
that instead of the system mkfifo.

The error we're seeing here looks more symptomatic of HAVE_MKFIFO being set to
0, and thus a mkfifo function defined in gnulib's mkfifo.c, and that's
shadowing the system mkfifo.

Now, I don't see a HAVE_MKFIFO defined in the config.h present after doing a
configure. (I see it in config.status, but not config.h. And it's not in the
lower part of config.status that looks like it generates config.h) Maybe
that's the issue? I don't see how the HAVE_MKFIFO C macro would make its way
down to libgnu's mkfifo.c otherwise.

config.in.h also does not have HAVE_MKFIFO there for substitution. So maybe
the problem boils down to the autoheader step of configure not emitting some
of those names?

Though weirdly, the built mkfifo.o in libgnu does *not* had a mkfifo symbol;
it has a rpl_mkfifo.

$ nm libgnu/.libs/mkfifo.o
                 U ___error
0000000000000000 T _rpl_mkfifo

So I don't know where the error-raising mkfifo implementation is coming from
then. Confusing: after a build, none of the resulting .o files contains a
mkfifo function:

$ for f in $(find . -name '*.o'); do nm $f | grep mkfifo && echo "file: $f";
0000000000002710 T __Z7FmkfifoRK17octave_value_listi
file: ./libinterp/corefcn/.libs/libcorefcn_la-syscalls.o
                 U __Z7FmkfifoRK17octave_value_listi
file: ./libinterp/.libs/liboctinterp_la-builtins.o
0000000000000000 T _rpl_mkfifo
file: ./libgnu/.libs/mkfifo.o
0000000000000010 T _octave_mkfifo_wrapper
                 U _rpl_mkfifo
file: ./liboctave/wrappers/.libs/libwrappers_la-stat-wrappers.o
0000000000001a20 T
0000000000001ac0 T
                 U _octave_mkfifo_wrapper
file: ./liboctave/system/.libs/libsystem_la-file-ops.o


Reply to this item at:


  Message sent via Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]