octave-maintainers
[Top][All Lists]
Advanced

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

Issues & questions building Octave-3.4.2 MinGW


From: Philip Nienhuis
Subject: Issues & questions building Octave-3.4.2 MinGW
Date: Thu, 07 Jul 2011 23:13:47 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.11) Gecko/20100701 SeaMonkey/2.0.6

Tatsuro,

Using the development files and the clear instructions you uploaded to
  http://www.tatsuromatsuoka.com/octave/Eng/Win/
I was able to build Octave-3.4.2 MinGW, too.

Thank you very much for making this possible!

A few questions & remarks, perhaps some can be included in Readme_octave-3.4.2.txt :

GIT
===
git is needed for ./autogen.sh  (in turn needed for jwe's patch for tmpfile)
Easily solved by downloading the msysgit installer
   http://code.google.com/p/msysgit/
install/unpack it somewhere, let it compile its stuff, and after that copying the newly created git files (7 pieces IIRC) to msys/bin (the msysgit directory can be erased, it's no more needed).
For mercurial => tortoisehg
cygwin can be avoided then.

As to gnulib, snapshots can be downloaded using the trick outlined here:

https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2009-November/017623.html


Next step, configure complained about a few things:

1. Missing Freetype library.
Is it included in your OctaveLibs.zip?
I built freetype-2.4.5 myself, put libfreetype-6.dll in OctaveLibs/bin & libfreetype.dll.a, libfreetype.la and libfreetype.lai in OctaveLibs/lib.
But still configure can't find Freetype :-(


2. In configure.log I get this:
 :
configure:33062: checking for fltk-config
configure:33080: found /x/Programs/OctaveLibs/bin/fltk-config
configure:33093: result: /x/Programs/OctaveLibs/bin/fltk-config
configure:33117: checking for OpenGL support in FLTK
configure:33140: gcc -shared-libgcc -c -g -O2 -I/c/Programs/OctaveLibs/include -mwindows -DWIN32 -DUSE_OPENGL32 -O3 -fomit-frame-pointer -mno-cygwin -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -I/x/Programs/gplibs/include -I/x/Programs/OctaveLibs/include -I/x/programs/GnuWin32/include conftest.c >&5
In file included from x:/Programs/OctaveLibs/include/FL/gl.h:54:0,
                 from conftest.c:323:
x:/Programs/OctaveLibs/include/FL/Enumerations.H:497:29: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fl_define_FL_ROUND_UP_BOX' x:/Programs/OctaveLibs/include/FL/Enumerations.H:500:29: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fl_define_FL_SHADOW_BOX'
<lots more of similar errors>
 :
(watch out for line wrap!)

Comparing Enumerations.h in MinGW and on Linux I can't spot what's wrong here (but admittedly my C++ skills are meager).


3. Here and there, while configure does (e.g., here):
 :
checking for mkdirat... mv: cannot move `conftest.er1' to `conftest.err': Permission denied no
 :

...I get a Windows systray message:
   "conftest.exe: Corrupt file"
and next boot it wants to run chkdsk.
Do you get such error messages too?

configure.log entry on mkdirat:

 :
configure:22668: checking for mkdirat
configure:22668: gcc -shared-libgcc -o conftest.exe -g -O2 -I/x/Programs/gplibs/include -I/x/Programs/OctaveLibs/include -I/x/programs/GnuWin32/include -L/x/Programs/gplibs/lib -L/x/Programs/OctaveLibs/lib -L/x/programs/GnuWin32/lib -Wl,--allow-multiple-definition -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc-v2 conftest.c -lgfortran -llapack >&5
C:\Home\Philip\LOCALS~1\Temp\ccmolfiO.o: In function `main':
X:\programs\msys\home\Philip\octave\octave-3.4.2/conftest.c:233: undefined reference to `mkdirat'
collect2: ld returned 1 exit status
configure:22668: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU Octave"
| #define PACKAGE_TARNAME "octave"
| #define PACKAGE_VERSION "3.4.2"
 :
<snip>
 :
| #define HAVE_SYS_PARAM_H 1
| #define GNULIB_TEST_OPEN 1
| /* end confdefs.h.  */
| /* Define mkdirat to an innocuous variant, in case <limits.h> declares mkdirat.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define mkdirat innocuous_mkdirat
|
 :
(watch out, line wrap)


Next step, running make, I get other little issues, easily solved:

4. Need to #include unistd.h twice
(already outlined in your instructions, in my case only needed for src/oct-hist.cc)

5. "unlink is not a member of gnulib"
Solved by Ole:
http://octave.1599824.n4.nabble.com/MinGW-compile-problems-tc2251930.html#a2252205

After that the build was successful. PASS 7016, FAIL 3.

I hope you can hint me about the freetype library.


Thanks,

Philip


reply via email to

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