octave-maintainers
[Top][All Lists]
Advanced

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

Re: Issues & questions building Octave-3.4.2 MinGW


From: Tatsuro MATSUOKA
Subject: Re: Issues & questions building Octave-3.4.2 MinGW
Date: Fri, 8 Jul 2011 08:50:37 +0900 (JST)

Hello

--- On Fri, 2011/7/8, Philip Nienhuis wrote:

> 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?
No. 
It is included in gplibs.zip.
And you should modify 'prefix' in ........./gplibs/lib/pkgconfig/*.pc files.
according to your environments ()

In addition the pkg-config.exe is included in ........./gplibs/bin.
You should add to assign here  in the 'PATH'.

Perhaps configure script find freetype library via pkg-config using information 
in ........./gplibslib/pkgconfig/freetype.pc

Oh I have forgotten.  Now Octave uses libtool so that you may need to modify 
libfreetype.la in ........./gplibs/lib.

> 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).

Perhaps you should modify fltk-config.

prefix=/c/Programs/OctaveLibs

according to your environments.

You may have to remove "-mwindows" from CFLAGS.  For octave-3.4.2 build, it has 
been not necessary for build in my case. (Previously I have to remove -mwindows 
flag but in case of 3.4.2 build it has not been required.) 

> 
> 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?

On. WIndows XP. It alwas occur in checking hard link.
However on windows 7, it has not been occurred.
Perhaps checking routine should be modified for windows XP but I cannot find 
the way to correct it.

> 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.


Regards

Tatsuro


reply via email to

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