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

Bug#117513: openc++: segfault or "Error 139" compiling anything, even empty file



My comments are interespersed below...

> --- Yann Dirson
> reassign 117513 g++-2.95
> thanks
> 
> On Mon, Oct 29, 2001 at 02:01:55AM -0800, robert@prometheus.thatsnice.org wrote:
> > The version of openc++ in unstable will segfault.
> 
> Yep.
> :(
> 
> This happens in driver2.cc::RunSoCompiler(), which:
> 
> 1. gets a char* pointer from a func that allocates it with "char*
> result = new char[...]" (and although it does not test the return
> value from "new", this is not the problem here - added check
> nevertheless)
> 
> 2. use "delete [] " to free the storage.  This is the delete causing
> the segfault.
> 
> I higly suspect this to be a g++ bug.  I tried with g++ 3.0, but it
> simply won't compile - any hint to fix it will be appreciated :)

I would be tempted to agree with you, except that it works when built
against libgc5.  I'm not saying you're wrong, and I'm not saying that
the bug is with libgc6.  If I could say that, I would have filed the bug
against that package in the first place.  I'm just saying it's not so
clear-cut as you say.  Also, I don't remember well now, but my original
report points out that this bug requires g++, not g++-2.95, so at the
least it should be assigned to the right compiler...

> > Also, there's no need to Depends: on the -dev package.  Openc++ is
> > built against libgc, but only needs the libs (not the headers) to run.
> > One can dpkg --force-depends install the 2.5.10 package and use it
> > without difficulty, even if one doesn't have the libgc5-dev package.
> 
> $ grep gc/ /usr/include/openc++/*
> /usr/include/openc++/types.h:#include <gc/gc_cpp.h>
> 
> IIRC I added this depend because a bug was reported - someone got hit
> when it was missing.  Changelog says it was #100536.

Yes, the bug you mention says that because openc++ depends on
libgc5-dev, it cannot be installed in unstable.  The solution is not to
depend on libgc6-dev, but to depend on libgc5.  openc++ doesn't need the
libgc-dev package to run, only to build.  You can't have libgc5-dev and
libgc6-dev on the same system, but you can have the libraries
themselves.

The original bug was correct in asserting that the dependancy caused the
problem described, but the solution is just to take the -dev off.
Should I re-open #100536 to amend it and have this changed, or would you
like to persue another solution, perhaps revolving around libgc and g++?

Incedentally, note that the openc++ sources include libgc4 for building
against, suggesting that vers 5 and 6 might not be recommended.  Some
input from upstream would be useful.

Thanks,
Robert de Forest

> 
> -- 
> Yann Dirson    <ydirson@altern.org> |    Why make M$-Bill richer & richer ?
> Debian-related: <dirson@debian.org> |   Support Debian GNU/Linux:
> Pro:    <yann.dirson@fr.alcove.com> |  Freedom, Power, Stability, Gratuity
>      http://ydirson.free.fr/        | Check <http://www.debian.org/>
> 

-- 
 /"\  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
 \ /   ASCII Ribbon Campaign    | Robert de Forest
  X   - NO HTML/RTF in e-mail   | System Administrator
 / \  - NO Word docs in e-mail  | Got.net



Reply to: