ports/devel/protobuf: Segmentation fault in mmap in some
Pieter de Goeje
pieter at degoeje.nl
Thu Jan 7 18:56:46 UTC 2010
On Thursday 07 January 2010 10:02:36 O. Hartmann wrote:
> On 01/07/10 01:41, Pieter de Goeje wrote:
> > On Wednesday 06 January 2010 14:14:28 O. Hartmann wrote:
> >> Dear Sirs,
> >> We use a software package for scientific imagery processing from USGS,
> >> ISIS3 (http://isis.astrogeology.usgs.gov/). The most recent version is
> >> 3.1.21 and since this version, the software intensively uses
> >> libprotobuf.so.
> >> While we can use ISIS 3.1.20 very well under FreeBSD 8.0/amd64, it is
> >> impossible to use the software with version no. 3.1.21, which seems to
> >> have some issues wih libprotobuf.so. Every client out of this ISIS3
> >> package crashes with a segmentation fault and as far as I can judge the
> >> situation, there is a problem with libprotobuf.so, against which all
> >> clients out of ISIS 3.1.21 are linked.
> > Perhaps the ISIS package was developed using a different (older?) version
> > of Google's protocol buffers. Compiling protobuf from source is quite
> > easy on FreeBSD. You can find the source here:
> > http://code.google.com/p/protobuf/downloads/list
> > I would start by trying version 2.1.0 and 2.2.0a.
> >> I searched for help on the ISIS3-support forum and realised that some
> >> Apple OS X guys have had similar problems, but those threads where
> >> closed immediately or got relative senseless response.
> >> In our case, we compile every necessary library and prerequisite
> >> software package (mostly Qt4 libs) from ports. This works great with
> >> some tweaks for FreeBSD in make/config.freebsd (which I derived from
> >> some linux and/or OS X config files).
> >> Now I'm floating like a dead man i the water. Below I provide q gdb
> >> output of the qview-client (the same is with all other clients, like
> >> photrim etc. for those familiar with the software package).
> > A backtrace ('bt' at the gdb prompt) might contain more useful
> > information.
> >> Additionaly, I provide a truss-output, that stops at mmap issues.
> >> Well, if someone could provide me with some advance debugging hints I
> >> would appreaciate them. I'm pretty sure he problem is located within the
> >> libprotobuf library or the way it is treated, but this is a guess of a
> >> non-developer.
> >> Thanks very much in advance.
> >> Please reply also to this email address, since I'm not subscriber of the
> >> list I post to.
> >> Oliver
> > - Pieter
> Hello Pieter,
> ISIS3 utilises the very same revision of libprotobuf as FreeBSD has in
> the ports repositorium (libprotobuf.so.4.0.0, aka protobuf-2.2.0). The
> backtrace follows, it is a little bit lengthy ...
Ok, I can reproduce this locally. The cause is incorrect compiler flags.
Basically one must use `pkg-config --cflags protobuf` to get the correct
CFLAGS and `pkg-config --libs protobuf` for the correct libraries.
Most likely one or both of the following were missing during the
compilation/linking of ISIS: -D_THREAD_SAFE -pthread
More information about the freebsd-ports