Date: Thu, 7 Jan 2010 19:56:35 +0100 From: Pieter de Goeje <pieter@degoeje.nl> To: "O. Hartmann" <ohartman@zedat.fu-berlin.de> Cc: freebsd-questions@freebsd.org, freebsd-ports@freebsd.org Subject: Re: ports/devel/protobuf: Segmentation fault in mmap in some applications Message-ID: <201001071956.35417.pieter@degoeje.nl> In-Reply-To: <4B45A32C.2070708@zedat.fu-berlin.de> References: <4B448CB4.5000105@zedat.fu-berlin.de> <201001070241.18190.pieter@degoeje.nl> <4B45A32C.2070708@zedat.fu-berlin.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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 Regards, Pieter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001071956.35417.pieter>