From octave-maintainers-request at bevo dot che dot wisc dot edu Fri May 15 22:01:14 1998 Subject: Re: Question From: "John W. Eaton" To: Chuck Robey Cc: octave-maintainers at bevo dot che dot wisc dot edu Date: Fri, 15 May 1998 21:58:57 -0500 (CDT) On 15-May-1998, Chuck Robey wrote: | On Fri, 15 May 1998, John W. Eaton wrote: | | > The compiler is supposed to insert the string constructor | > automatically. I'd suspect that at least that part is correct. | | When I ran gdb, and tried to read the passed variable, it told me | incomplete type. That's why I thought maybe it had been constructed | wrong, and the ref value was wrong (it might be trying to free a class | instance that hadn't been created). The constructor is NOT called, | according to gdb. What version of gdb are you using? When gdb says incomplete type, it usually means that for some reason it doesn't have enough information. Was your libstdc++ compiled with debugging symbols? You probably don't see a call to the constructor because it was probably inlined. | > | 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. | | It's the libg++ 2.7.2, and there wasn't a libg++ 2.7.2.1 (2.7.2 was the | one that covered that release). Does your software require something | more recent? The compiler were using is 2.7.2.1, and we're not going to | be upgrading real quick here. Currently, you should be able to build Octave with g++ 2.7.2, g++ 2.8.x, or egcs 1.0.x (I use all three at various times). Fairly soon, you may have to have egcs or 2.8.x to build the development version (2.1.x). Are the C++ header files consistent with the library that you have installed? jwe