![]() liboctave/system/.libs/libsystem_la-file-ops.o liboctave/wrappers/.libs/libwrappers_la-stat-wrappers.oĠ000000000001a20 T _ZN6octave3sys6mkfifoERKNSt3_112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEtĠ000000000001ac0 T _ZN6octave3sys6mkfifoERKNSt3_112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEtRS7_įile. libinterp/corefcn/.libs/libcorefcn_la-syscalls.oįile. U _ZN6octave3sys6mkfifoERKNSt3_112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEtRS7_įile. Confusing: after a build, none of the resulting. So I don't know where the error-raising mkfifo implementation is coming from then. Though weirdly, the built mkfifo.o in libgnu does not had a mkfifo symbol it has a rpl_mkfifo. So maybe the problem boils down to the autoheader step of configure not emitting some of those names? ![]() 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.Ĭonfig.in.h also does not have HAVE_MKFIFO there for substitution. (I see it in config.status, but not config.h. ![]() Now, I don't see a HAVE_MKFIFO defined in the config.h present after doing a configure. 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. 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. In the meantime, Octave can work around this by adding to configure.ac:Ĭan someone check whether CPPFLAGS=-DHAVE_MKFIFO fixes this bug? I think this is probably worth reporting to the gnulib project for a fix. This breaks the gnulib mkfifo.c source file. With AC_CHECK_FUNC no longer called, HAVE_MKFIFO is no longer declared as a preprocessor macro to be listed in config.h. Since my system has a fully functional mkfifo, REPLACE_MKFIFO is false, and libgnu/mkfifo.c is not compiled at all. I think this is most likely the piece that is missing. I have just compared my config.h from 4.4.1 against config.h from 5.0.1, and HAVE_MKFIFO is no longer declared in config.h. Thank you for the details and confirmation that on macOS, Octave should be using the gnulib mkfifo shim function. bin/sh: line 1: 55438 Segmentation fault: 11 /bin/sh run-octave -norc -silent -no-history -path /Users/janke/local/repos/octave-BUILD/build/././octave/doc/interpreter/ -eval "geometryimages ('doc/interpreter/', 'convhull', 'txt') "īut when I apply patch from #50025, they go away. bin/sh: line 1: 55441 Segmentation fault: 11 /bin/sh run-octave -norc -silent -no-history -path /Users/janke/local/repos/octave-BUILD/build/././octave/doc/interpreter/ -eval "geometryimages ('doc/interpreter/', 'delaunay', 'txt') "
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |