octave-maintainers
[Top][All Lists]
Advanced

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

Success [WAS: Building Octave w MXE-built dependencies (2)]


From: Philip Nienhuis
Subject: Success [WAS: Building Octave w MXE-built dependencies (2)]
Date: Fri, 21 Jun 2013 22:58:43 +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

John D wrote:


-----Original Message-----
From: Philip Nienhuis [mailto:address@hidden
Sent: Friday, June 21, 2013 9:14 AM
To: John D
Cc: 'John W. Eaton'; 'Octave Maintainers List'
Subject: Re: Building Octave w MXE-built dependencies (2)

John D wrote:


-----Original Message-----
From: Philip Nienhuis [mailto:address@hidden
Sent: Friday, June 21, 2013 8:49 AM
To: John D
Cc: John W. Eaton; Octave Maintainers List
Subject: Building Octave w MXE-built dependencies (2)

John D, did I read you correctly that:
Also, just for info, I created a script in tools/set_mxe_env.sh you
can
run as source tools/set_mxe_env.sh, that sets all the bin/lib/config
paths that may help.
I created it for compiling the octave_hg versions of code in mingw
after having a working mxe-octave.
It isn't much use for anything except for native mingw builds.
... that script is meant to aid exactly that purpose?

Yes the script is for that - I have successfully built octave checked
out from octave hg a few times now.
All you need to do is check out the sources, source the
set_mxe_env.sh script, and then run run bootstrap, configure, make
like you normally would have to on a unix system.

It will build octave, but fail at generating all the documentation,
but the ./run-octave script in the build directory will run the
latest and greatest from the octave hg repo!

Here a fresh clone (parent: 16793:cc1657be1ee7 tip) fails while
building the
parser:

:
/bin/sh ../../octave/build-aux/ylwrap
../../octave/libinterp/parse-tree/lex.ll lex.octave_.c
parse-tree/lex.cc
-- flex -I -I
gperf -t -C -D -G -L C++ -Z octave_kw_hash
../../octave/libinterp/parse-tree/octave.gperf>
parse-tree/oct-gperf.h-t1 /bin/sed 's,lookup\[,gperf_lookup[,'<
parse-tree/oct-gperf.h-t1>  parse-tree/oct-gperf.h-t mv
parse-tree/oct-gperf.h-t parse-tree/oct-gperf.h rm -f
parse-tree/oct-gperf.h-t1 case "" in \
             *quote*) quote='"' ;; \
             *) quote="" ;; \
           esac; \
           case "" in \
             *dash*) decl="%define api.push-pull ${quote}both${quote}"; ;;
\
             *underscore*) decl="%define api.push_pull
${quote}both${quote}"; ;; \
           esac; \
           /bin/sed "s/%PUSH_PULL_DECL%/$decl/"
../../octave/libinterp/parse-tree/oct-parse.in.yy>
parse-tree/oct-parse.yy-t mv parse-tree/oct-parse.yy-t
parse-tree/oct-parse.yy /bin/sh ../../octave/build-aux/ylwrap
parse-tree/oct-parse.yy y.tab.c parse-tree/oct-parse.cc y.tab.
h parse-tree/oct-parse.h y.output parse-tree/oct-parse.output --   -dv
../../octave/build-aux/ylwrap: line 108: -dv: command not found
make[2]: *** [parse-tree/oct-parse.cc] Error 1


I've experimented a bit but I couldn't spot where the offending "-dv"
came from.
The isolated "--" comes from libinterp/Makefile (L. 9053).

Any suggestions?

Philip

-------------

Not sure if it has anything to do with it, but when running each of
the following, what versions are they?
bison --version
flex --version
gperf --version

FYI, flex comes from mingw-get (after updating&  upgrading so I suppose it
should be up-to-date).
bison and gperf have been built using mxe as build-bison and build-gperf


address@hidden ~/octave
$ bison --version
bison (GNU Bison) 2.7.12-4996
Written by Robert Corbett and Richard Stallman.

Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

address@hidden ~/octave
$ flex --version
flex 2.5.35

address@hidden ~/octave
$ gperf --version
GNU gperf 3.0.4
Copyright (C) 1989-1998, 2000-2004, 2006-2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Douglas C. Schmidt and Bruno Haible.

-------------


Ok - I mentioned in a  previous email the other day about bison that gets
built with mxe - at least in native mingw - not sure of why it doesn't work,
but the fix is:

Delete usr/bin/bison.exe from the mxe build
Run Mingw-get install msys-bison  to get the msys version of bison
Bison --version should the give 2.4.2
Rerun the configure and make again

OK, after starting in a new empty build dir and then rerunning configure & make, the build completes, that is, with having to finally run make -i due to missing tex.

make -i check:

  PASS     10872
  FAIL        11
  XFAIL        4
  SKIPPED     19

AFAICS the 11 FAILs contain the usual MinGW-specific ones:

- data.cc-tst: Inf vs Nan) (3 X)
- stemleaf "epstool binary is not available ... etc"
- speed.m "All running times were zero"
- error.tst "dir2: No such file or directory"
- system.tst "expected ---------- but got -r--r--r--"
and
- quadgk.m "max_recursion_depth exceeded" - ???
- bug-38236.tst "vr' undefined near line 1 column 36" (also fails on Linux)
- bug-38691.tst "expected 1 but got 0" - I'll investigate
- bug-38576.tst "ls: command exited abnormally with status 127" (looks MinGW-specific as well)

make -j1 is required initially, once the build has gone past 'cruft' one can interrupt and restart with make -j2 (or whatever nr of CPU cores available). (Don't ask why - it just works)

Philip


reply via email to

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