octave-maintainers
[Top][All Lists]
Advanced

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

Re: gnulib woes & run-octave fails, suggestions?


From: Jarno Rajahalme
Subject: Re: gnulib woes & run-octave fails, suggestions?
Date: Fri, 2 Apr 2010 20:53:08 -0700

Here is the backtrace from gdb.. hoping someone has an idea of what is going 
on..

When I tried to compile with GCC 4.3, run-octave failed due to unresolvable 
symbol, which was also about std::basic_streambuf.. wonder if that rings a bell?

> octave(35888) malloc: *** error for object 0x103b28d60: pointer being freed 
> was not allocated
> *** set a breakpoint in malloc_error_break to debug
> panic: Abort trap -- stopping myself...
> octave(35888) malloc: *** error for object 0x103b28d60: pointer being freed 
> was not allocated
> *** set a breakpoint in malloc_error_break to debug
> panic: attempted clean up apparently failed -- aborting...
> Abort trap
> laptop231:octave rajahalm$ 

same with -g and a breakpoint at malloc_error_break:

(gdb) bt
#0  0x00007fff854899cd in malloc_error_break ()
#1  0x00007fff853b3a63 in free ()
#2  0x00007fff81188eb3 in std::basic_stringbuf<char, std::char_traits<char>, 
std::allocator<char> >::overflow ()
#3  0x00007fff81189c21 in std::basic_streambuf<char, std::char_traits<char> 
>::xsputn ()
#4  0x00000001047f4225 in std::__ostream_insert<char, std::char_traits<char> > 
()
#5  0x00000001047f44fa in std::operator<< <std::char_traits<char> > ()
#6  0x0000000100048ca3 in handle_string (delim=Could not find the frame base 
for "handle_string".
) at lex.ll:2604
#7  0x000000010003d9c8 in octave_lex () at lex.ll:843
#8  0x0000000100068cb9 in octave_parse () at oct-parse.cc:2409
#9  0x00000001000725b8 in parse_fcn_file (ff=Could not find the frame base for 
"parse_fcn_file".
) at oct-parse.yy:3565
#10 0x000000010028fc5f in source_file (file_name=Could not find the frame base 
for "source_file(std::string const&, std::string const&, bool, bool, 
std::string const&)".
) at oct-parse.yy:3887
#11 0x00000001002446f3 in execute_pkg_add_or_del (dir=Could not find the frame 
base for "execute_pkg_add_or_del".
) at load-path.cc:1878
#12 0x0000000100244837 in execute_pkg_add (dir=Could not find the frame base 
for "execute_pkg_add(std::string const&)".
) at load-path.cc:1884
#13 0x0000000100240bd8 in load_path::do_set (this=Could not find the frame base 
for "load_path::do_set(std::string const&, bool)".
) at load-path.cc:585
#14 0x0000000100240813 in load_path::do_initialize (this=Could not find the 
frame base for "load_path::do_initialize(bool)".
) at load-path.cc:513
#15 0x0000000100245a58 in load_path::initialize (set_initial_path=Could not 
find the frame base for "load_path::initialize(bool)".
) at load-path.h:52
#16 0x00000001002f9d51 in octave_main (argc=Could not find the frame base for 
"octave_main".
) at octave.cc:811
#17 0x0000000100000f2b in main (argc=6, argv=0x7fff5fbeff80) at main.c:35
(gdb) 

  Jarno

On Apr 2, 2010, at 4:06 PM, ext Jarno Rajahalme wrote:

> Hi,
> 
> I' trying to compile the development version of Octave, and have encountered 
> some gnulib-related problems:
> 
> 1. My system does not have fchownat, and compilation fails in misc/quit.cc:
> 
> libtool: compile:  /opt/local/bin/g++-mp-4.4 -DHAVE_CONFIG_H -I. -I.. 
> -I/opt/local/include -I../libgnu -I../libgnu -I/opt/local/include -O0 -m64 
> -DHAVE_CONFIG_H -I/opt/local/include -I/opt/local/include/freetype2 
> -I/opt/local/include -I/opt/local/include -Wall -W -Wshadow -Wold-style-cast 
> -Wformat -O0 -m64 -D_THREAD_SAFE -pthread -O0 -m64 -MT 
> misc/libcruft_la-quit.lo -MD -MP -MF misc/.deps/libcruft_la-quit.Tpo -c 
> misc/quit.cc  -fno-common -DPIC -o misc/.libs/libcruft_la-quit.o
> In file included from 
> /opt/local/include/gcc44/c++//x86_64-apple-darwin10/bits/gthr-default.h:42,
>                from 
> /opt/local/include/gcc44/c++//x86_64-apple-darwin10/bits/gthr.h:162,
>                from /opt/local/include/gcc44/c++/ext/atomicity.h:34,
>                from /opt/local/include/gcc44/c++/bits/ios_base.h:41,
>                from /opt/local/include/gcc44/c++/ios:43,
>                from /opt/local/include/gcc44/c++/ostream:40,
>                from /opt/local/include/gcc44/c++/iostream:40,
>                from misc/quit.cc:29:
> ../libgnu/unistd.h:731: error: 'fchownat' was not declared in this scope
> ../libgnu/unistd.h:731: error: invalid type in declaration before ';' token
> 
> I get past this by commenting this line in libgnu/unistd.h:
> 
> _GL_CXXALIASWARN (fchownat);
> 
> Maybe the C++ alias warning should be enabled in unistd.in.h only if 
> @HAVE_FCHOWNAT@ ?? (no point about warning about non-existing function?)
> 
> 
> 2. gnulib:: usage warnings, even if the gnulib:: namespace is used in sources:
> 
> 137 warnings about missing gnulib:: -prefixes, out of which this one was the 
> only one that actually did not have it:
> 
> file-ops.cc: In function 'std::string octave_canonicalize_file_name(const 
> std::string&, std::string&)':
> file-ops.cc:780: warning: call to 'realpath' declared with attribute warning: 
> The symbol ::realpath refers to the system function. Use gnulib::realpath 
> instead.
> 
> I followed the suggestion and changed "::realpath" to "gnulib::realpath". 
> After that this warning does not come again.
> 
> NOTE: only some gnulib:: calls created the warnings, not all of them.
> 
> For example, gnulib::open calls generate no warnings, while gnulib::close 
> calls do. etc.
> 
> 
> 3. Finally the compilation fails at doc/interpreter like this:
> 
> ../../run-octave -f -q -H -p . --eval "geometryimages ('voronoi', 'txt');"
> octave(99458) malloc: *** error for object 0x103b28d60: pointer being freed 
> was not allocated
> *** set a breakpoint in malloc_error_break to debug
> panic: Abort trap -- stopping myself...
> octave(99458) malloc: *** error for object 0x103b28d60: pointer being freed 
> was not allocated
> *** set a breakpoint in malloc_error_break to debug
> panic: attempted clean up apparently failed -- aborting...
> make[3]: *** [voronoi.txt] Abort trap
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
> 
> Same happens by running ./run-octave by itself:
> 
> laptop231:octave rajahalm$ ./run-octave
> GNU Octave, version 3.3.51+
> Copyright (C) 2010 John W. Eaton and others.
> This is free software; see the source code for copying conditions.
> There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
> FITNESS FOR A PARTICULAR PURPOSE.  For details, type `warranty'.
> 
> Octave was configured for "x86_64-apple-darwin10.3.0".
> 
> Additional information about Octave is available at http://www.octave.org.
> 
> Please contribute if you find this software useful.
> For more information, visit http://www.octave.org/help-wanted.html
> 
> Read http://www.octave.org/bugs.html to learn how to submit bug reports.
> 
> For information about changes from previous versions, type `news'.
> 
> octave(35888) malloc: *** error for object 0x103b28d60: pointer being freed 
> was not allocated
> *** set a breakpoint in malloc_error_break to debug
> panic: Abort trap -- stopping myself...
> octave(35888) malloc: *** error for object 0x103b28d60: pointer being freed 
> was not allocated
> *** set a breakpoint in malloc_error_break to debug
> panic: attempted clean up apparently failed -- aborting...
> Abort trap
> laptop231:octave rajahalm$ 
> 
> 
> Anyone seen this kind of failure before? Suggestions?
> 
> I run these environment variable settings before running ./autogen.sh, 
> ./configure, & make:
> 
> prefix=/opt/local
> 
>   export OPTFLAGS="-O2"
>   export CPPFLAGS="-g"
>   export CFLAGS="$CPPFLAGS -mieee-fp -D_REENTRANT $OPTFLAGS -m64"
>   export CXXFLAGS=$CFLAGS
>   export FFLAGS=$CFLAGS
> 
>   export LDFLAGS="-L${prefix}/lib"
> 
>   export CC="gcc-mp-4.4"
>   export CPP="cpp-mp-4.4"
>   export CXX="g++-mp-4.4"
>   export FC="gfortran-mp-4.4"
>   export F77="gfortran-mp-4.4"
>   export F90="gfortran-mp-4.4"
> 
>   export PERL="${prefix}/bin/perl"
>   export AWK="${prefix}/bin/gawk"
>   export SED="${prefix}/bin/gsed"
>   export FLEX="${prefix}/bin/flex"
>   export MAKEINFO="${prefix}/bin/makeinfo"
>   export TEXI2DVI="${prefix}/bin/texi2dvi"
>   export TEXI2PDF="${prefix}/bin/texi2pdf"
>   export LIBTOOLIZE="${prefix}/bin/glibtoolize"
>   export LIBTOOL="${prefix}/bin/glibtool"
> 
> 
> (I tried attaching config.log, but it was too big.)
> 
> Thanks,
> 
>  Jarno
> 
> 




reply via email to

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