octave-maintainers
[Top][All Lists]
Advanced

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

Re: mxe-octave: build fails with ".../unistd-wrappers.h:56:8: error: 'pi


From: Philip Nienhuis
Subject: Re: mxe-octave: build fails with ".../unistd-wrappers.h:56:8: error: 'pid_t' does not name a type"
Date: Wed, 22 Jun 2016 21:26:40 +0200
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:43.0) Gecko/20100101 Firefox/43.0 SeaMonkey/2.40

John W. Eaton wrote:
On 06/21/2016 12:36 PM, Philip Nienhuis wrote:
John W. Eaton wrote:
On 06/20/2016 05:56 PM, Philip Nienhuis wrote:

Exact same error :-(

g++ -o src/i686-w64-mingw32-mkoctfile -Dgnulib='' -Doctave_idx_type=int
-I.
-I/home/philip/devel/octdev/mxe/mxe_32b_20160620/tmp-default-octave/octave-4.1.0+



-O2 -g
-I/home/philip/devel/octdev/mxe/mxe_32b_20160620/tmp-default-octave/octave-4.1.0+/src



src/i686-w64-mingw32-mkoctfile.cc
src/i686-w64-mingw32-mkoctfile.cc:38:29: fatal error:
unistd-wrappers.h:
No such file or directory
  #include "unistd-wrappers.h"
                              ^
compilation terminated.

What configure options did you use for mxe-octave?

The usual ones for me:

--enable-octave=default --enable-windows-64 --enable-devel-tools
--enable-binary-packages.

(For the 32-bit build --enable-windows-64 was of course dropped.)


BTW I tried the gross kludge of copying over initially
unistd-wrappers.h, later on all .h files, from liboctave/wrappers into
src/. That brought the build a bit further (finally beyond missing
include file errors) until other type-related errors popped up.
As far as my build system insights go I surmise that once the build
reaches src/, the liboctave/wrappers subdir is not in an include path.
All stuff in src/ are built in the final stage, isn't it?

It's the cross-compiler version of mkoctfile that is failing to build.

That can't link with the version of libgnu built for Windows (it runs
natively on the build system).  I checked in a simple-minded fix here:

http://hg.savannah.gnu.org/hgweb/octave/rev/307a2d7ff29b

I didn't see the failure earlier because I wasn't building with
--enable-binary-packges.

Thanks.

With that patch applied, I now get "undefined reference to 'rpl_gethostname':

:
libtool: link: x86_64-w64-mingw32-ranlib libgui/graphics/.libs/libgui-graphics.a libtool: link: x86_64-w64-mingw32-g++ -std=gnu++11 -pthread -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -Wl,-rpath-link -Wl,/home/philip/devel/octdev/mxe/mxe_64b_20160617/usr/x86_64-w64-mingw32/lib -Wl,--export-all-symbols -o src/.libs/mkoctfile.exe src/src_mkoctfile-mkoctfile.o -L/home/philip/devel/octdev/mxe/mxe_64b_20160617/usr/x86_64-w64-mingw32/lib liboctave/wrappers/.libs/libwrappers.a libgnu/.libs/libgnu.a -lgdi32 -lws2_32 -luser32 -lkernel32 -pthread liboctave/wrappers/.libs/libwrappers.a(liboctave_wrappers_libwrappers_la-unistd-wrappers.o): In function `octave_gethostname_wrapper': /home/philip/devel/octdev/mxe/mxe_64b_20160617/tmp-default-octave/octave-4.1.0+/liboctave/wrappers/unistd-wrappers.c:320: undefined reference to `rpl_gethostname'
collect2: error: ld returned 1 exit status
Makefile:14562: recipe for target 'src/mkoctfile.exe' failed
make[4]: *** [src/mkoctfile.exe] Error 1


Grepping to the source tree I see that rpl_gethostname comes from gnulib and seems to be defined in libgnu. That's as far as I can track it.

Philip




reply via email to

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