octave-maintainers
[Top][All Lists]
Advanced

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

RE: Building Octave w MXE-built dependencies (2)


From: John D
Subject: RE: Building Octave w MXE-built dependencies (2)
Date: Fri, 21 Jun 2013 13:24:40 -0400

Did you rerun configure before make?

-----Original Message-----
From: Philip Nienhuis [mailto:address@hidden 
Sent: Friday, June 21, 2013 10:36 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 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

Gives this:

libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../octave/libinterp -I.. 
-I../../octave/liboctave/cruft/misc -I../../octave/liboctave/array
-I../liboctave/numeric -I../../octave/liboctave/numeric -I..
/liboctave/operators -I../../octave/liboctave/operators
-I../../octave/liboctave/system -I../../octave/liboctave/util
-I../../octave/libinterp/octave-value -I../../octave/libinterp/operators
-Iparse-tree -I../../octave/libinterp/parse-tree -Iinterp-core
-I../../octave/libinterp/interp-core -Iinterpfcn
-I../../octave/libinterp/interpfcn -Icorefcn -I../libgnu
-I../../octave/libgnu -I/home/Philip/mxe-octave/usr/i686-pc-mingw32/include
-mieee-fp -I/home/Philip/mxe-octave/usr/i686-pc-mingw32/include
-IX:/MinGW/msys/1.0/home/Philip/mxe-octave/usr/i686-pc-mingw32/include/freet
ype2
-IX:/MinGW/msys/1.0/home/Philip/mxe-octave/usr/i686-pc-mingw32/include
-IX:/MinGW/msys/1.0/home/Philip/mxe-octave/usr/i686-pc-mingw32/include
-Wall -W -Wshadow -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align
-Wcast-qual -g -O2 -pthread -MT
parse-tree/parse_tree_libparser_la-oct-parse.lo -MD -MP -MF parse-tree/.d
eps/parse_tree_libparser_la-oct-parse.Tpo -c parse-tree/oct-parse.cc
-DDLL_EXPORT -DPIC -o parse-tree/.libs/parse_tree_libparser_la-oct-parse.o
oct-parse.yy: In destructor 'octave_push_parser::~octave_push_parser()':
oct-parse.yy:3208:32: error: expected type-specifier before 'yypstate'
oct-parse.yy:3208:32: error: expected '>' before 'yypstate'
oct-parse.yy:3208:32: error: expected '(' before 'yypstate'
oct-parse.yy:3208:32: error: 'yypstate' was not declared in this scope
oct-parse.yy:3208:42: error: expected primary-expression before '>' token
oct-parse.yy: In member function 'void octave_push_parser::init()':
oct-parse.yy:3214:32: error: 'yypstate_new' was not declared in this scope
oct-parse.yy: In member function 'int octave_push_parser::run(const string&,
bool)':
oct-parse.yy:3244:7: error: 'yypstate' was not declared in this scope
oct-parse.yy:3244:17: error: 'pstate' was not declared in this scope
oct-parse.yy:3244:38: error: expected type-specifier before 'yypstate'
oct-parse.yy:3244:38: error: expected '>' before 'yypstate'
oct-parse.yy:3244:38: error: expected '(' before 'yypstate'
oct-parse.yy:3244:48: error: expected primary-expression before '>' token
oct-parse.yy:3244:64: error: expected ')' before ';' token
oct-parse.yy:3246:62: error: 'octave_push_parse' was not declared in this
scope
oct-parse.yy:3248:20: error: 'YYPUSH_MORE' was not declared in this scope
make[3]: *** [parse-tree/parse_tree_libparser_la-oct-parse.lo] Error 1
make[3]: Leaving directory `/home/Philip/oct375/libinterp'


On the bright side:
I just found that on MinGW you can actually spawn multiple make jobs, once
the Octave build gets beyond the initial stuff (what looks to me like
Fortran). Just Ctrl-C and re-start with e.g., "make -j2".

Philip

-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2013.0.2904 / Virus Database: 3199/6406 - Release Date: 06/12/13
Internal Virus Database is out of date.



reply via email to

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