Date: Sat, 09 Jan 2010 23:06:48 +0100 From: "O. Hartmann" <ohartman@mail.zedat.fu-berlin.de> To: Pieter de Goeje <pieter@degoeje.nl> Cc: "O. Hartmann" <ohartman@zedat.fu-berlin.de>, freebsd-questions@freebsd.org, freebsd-ports@freebsd.org Subject: Re: ports/devel/protobuf: Segmentation fault in mmap in some applications Message-ID: <4B48FDF8.2070506@mail.zedat.fu-berlin.de> In-Reply-To: <201001071956.35417.pieter@degoeje.nl> References: <4B448CB4.5000105@zedat.fu-berlin.de> <201001070241.18190.pieter@degoeje.nl> <4B45A32C.2070708@zedat.fu-berlin.de> <201001071956.35417.pieter@degoeje.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01/07/10 19:56, Pieter de Goeje wrote: > 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 You're right. Thank you very much. After applying the output of pkg-config --libs protobuf to the proper make file, everythng went as expected! Regards and thanks, Oliver
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B48FDF8.2070506>