From owner-freebsd-ports@FreeBSD.ORG Sat Jan 9 22:06:51 2010 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4E591065670; Sat, 9 Jan 2010 22:06:50 +0000 (UTC) (envelope-from ohartman@mail.zedat.fu-berlin.de) Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de [130.133.4.66]) by mx1.freebsd.org (Postfix) with ESMTP id 711B08FC0A; Sat, 9 Jan 2010 22:06:50 +0000 (UTC) Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost1.zedat.fu-berlin.de (Exim 4.69) with esmtp (envelope-from ) id <1NTjSL-0003XJ-5n>; Sat, 09 Jan 2010 23:06:49 +0100 Received: from e178039021.adsl.alicedsl.de ([85.178.39.21] helo=thor.walstatt.dyndns.org) by inpost2.zedat.fu-berlin.de (Exim 4.69) with esmtpsa (envelope-from ) id <1NTjSL-0005uz-0v>; Sat, 09 Jan 2010 23:06:49 +0100 Message-ID: <4B48FDF8.2070506@mail.zedat.fu-berlin.de> Date: Sat, 09 Jan 2010 23:06:48 +0100 From: "O. Hartmann" User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.1.5) Gecko/20091219 Thunderbird/3.0 MIME-Version: 1.0 To: Pieter de Goeje References: <4B448CB4.5000105@zedat.fu-berlin.de> <201001070241.18190.pieter@degoeje.nl> <4B45A32C.2070708@zedat.fu-berlin.de> <201001071956.35417.pieter@degoeje.nl> In-Reply-To: <201001071956.35417.pieter@degoeje.nl> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: 85.178.39.21 Cc: "O. Hartmann" , freebsd-questions@freebsd.org, freebsd-ports@freebsd.org Subject: Re: ports/devel/protobuf: Segmentation fault in mmap in some applications X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2010 22:06:51 -0000 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