Douglas Mencken wrote:
I have a problem with building SAGE 4.3.1 for linux-powerpc32:
checking lex output file root... configure: error: cannot find output
from flex; giving up
My distro is Fedora 12 Constantine, I have flex 2.5.35 installed by
package management system (Package flex-2.5.35-7.fc12.ppc already
installed and latest version) and there's also lex symlink to flex:
$ ls -l `which lex`
lrwxrwxrwx 1 root root 4 2009-11-18 18:57 /usr/bin/lex -> flex
Full output from make:
----------
$ make
cd spkg && ./install all 2>&1 | tee -a ../install.log
make[1]: Entering directory `/home/douglas/Desktop/SAGE/sage-4.3.1/spkg'
base/dir-0.1-install
../data/
../local/
../local/etc
../local/lib
../local/bin
../local/include
../tmp/
/home/douglas/Desktop/SAGE/sage-4.3.1/spkg/build
installed/
base/prereq-0.6-install
Starting prerequisite check.
Machine: Linux localhost 2.6.31.12-174.2.3.fc12.ppc #1 Mon Jan 18
19:36:45 UTC 2010 ppc ppc ppc GNU/Linux
prereq-0.6/
prereq-0.6/configure
prereq-0.6/configure.ac
<SNIP>
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C preprocessor... gcc -E
checking for flex... flex
checking lex output file root... configure: error: cannot find output
from flex; giving up
ERROR: You do not have all of the prerequisites needed
to build Sage from source. See the errors above.
make[1]: *** [installed/prereq-0.6] Error 1
make[1]: Leaving directory `/home/douglas/Desktop/SAGE/sage-4.3.1/spkg'
real 0m21.657s
user 0m2.805s
sys 0m2.803s
Error building Sage.
----------
That is odd. flex is not specifically checked for in Sage - by that, I mean the
word "flex" does not appear in the configure.ac file used to create the
configure script you are running. I suspect autoconf automatically tests for flex.
On my own system, which does not have flex, but has lex, I see:
checking for flex... no
checking for lex... lex
checking lex output file root... lex.yy
checking lex library... none needed
checking whether yytext is a pointer... no
checking for bison... no
checking for byacc... no
You could make a backup of the file spkg/base/prereq-0.6/configure, then edit
out the following lines:
if test -f lex.yy.c; then
ac_cv_prog_lex_root=lex.yy
elif test -f lexyy.c; then
ac_cv_prog_lex_root=lexyy
else
as_fn_error "cannot find output from $LEX; giving up" "$LINENO" 5
fi
and see what happens. We might find the build environment is broken in some
other way, and flex is just a red herring.
Did you install 'flex' from source? Did you run any self-tests it may have? If
not, I'd try both. It may be your flex is broken, and you do not know it.
Dave
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org