octave-maintainers
[Top][All Lists]
Advanced

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

Question


From: John W. Eaton
Subject: Question
Date: Fri, 15 May 1998 16:28:17 -0500 (CDT)

On 15-May-1998, Chuck Robey <address@hidden> wrote:

| I just got around to actually running a new octave script on my newly
| ported 2.0.12, and I saw it was core-dumping on startup.  The specific
| point it core-dumps (with a bus error) on is in the GNU stdc++ header
| file bastring.h, line 69: 
| 
|   charT* data () { return reinterpret_cast<charT *>(this + 1); }
|   charT& operator[] (size_t s) { return data () [s]; }
|   charT* grab () { if (selfish) return clone (); ++ref; return data (); }
|   void release () { if (--ref == 0) delete this; }  <== HERE
| 
|   inline static void * operator new (size_t, size_t);
|   inline static Rep* create (size_t);
| 
| This seems to me to be kicked off from octave.cc line 414, where:
| 
|   initialize_error_handlers ();
| 
|   initialize_globals (argv[0]);  <== HERE
|   
|   initialize_pathsearch ();
| 
| initialize_globals is supposed to be called with a string class
| argument, not just any string, isn't it?  You're casting argv[0] as a 
| class string, but it's a simple C string, right?  I'm not totally at
| home with c++, so I can't be trusted on this, but it seems you want a
| constructor here ... I did check, and argv[0] is a pointer to a good
| full octave path.

The compiler is supposed to insert the string constructor
automatically.  I'd suspect that at least that part is correct.

| I can and will perform any tests you can imagine, and would in fact be
| pleased to work off any guesses you can come up with.  The platform is
| FreeBSD-current, using gcc 2.7.2.1.

My guess is that the copy of libstdc++ you have is out of sync with
the version of the compiler or include files that you used to build
Octave.

jwe



reply via email to

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