From owner-freebsd-ports@FreeBSD.ORG Sat Apr 23 14:11:31 2005 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8A2D216A4CE for ; Sat, 23 Apr 2005 14:11:31 +0000 (GMT) Received: from grummit.biaix.org (86.Red-213-97-212.pooles.rima-tde.net [213.97.212.86]) by mx1.FreeBSD.org (Postfix) with SMTP id 2F63243D5D for ; Sat, 23 Apr 2005 14:11:30 +0000 (GMT) (envelope-from lists-octave@biaix.org) Received: (qmail 30712 invoked by uid 1000); 23 Apr 2005 14:10:22 -0000 Date: Sat, 23 Apr 2005 16:10:22 +0200 From: Joan Picanyol i Puig To: "John W. Eaton" Message-ID: <20050423141022.GA28184@grummit.biaix.org> References: <20050420175047.GB29990@grummit.biaix.org> <42674D94.7070108@gmail.com> <20050421155406.GB86490@grummit.biaix.org> <16999.53351.603626.223836@devzero.bogus.domain> <20050421191441.GB9754@grummit.biaix.org> <16999.65302.366221.91861@devzero.bogus.domain> <20050422130841.GB40624@grummit.biaix.org> <17001.2258.64534.72369@devzero.bogus.domain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <17001.2258.64534.72369@devzero.bogus.domain> User-Agent: Mutt/1.5.6i cc: nectar@freebsd.org cc: help@octave.org cc: freebsd-ports@freebsd.org Subject: octave and heimdal conflict around fnmatch.h (was Re: issues compiling octave-2.1.69 on FreeBSD 5.4) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Apr 2005 14:11:31 -0000 [added heimdal's FreeBSD port mantainer to catch his attention] * John W. Eaton [20050422 16:24]: > On 22-Apr-2005, Joan Picanyol i Puig wrote: > > | > Also, can you determine precisely which fnmatch.h file is being > | > included? > | > | I don't know how to. > > If you are using GCC and add -save-temps to CXXFLAGS, then you will > get .ii files for each .cc file that is compiled. Those files > contain the output from the preprocessor, which should include the > full file names of all the files included. Octave was using /usr/local/include/fnmatch.h, installed by heimdal (an alternative Kerberos implementation required by GNOME). The version of fnmatch.h provided by Heimdal does _NOT_ have it's declarations wrapped for C++ usage as the system's one does. > | My liboctave/glob-match.h does not #include (this is after > | applying your patch to configure.in and running autogen.sh). > > Oops, I meant liboctave/glob-match.cc. It also includes glob.h, so > maybe the lines will need to be changed from > > #include > #include > > to > > extern "C" { > #include > #include > } Making this change allowed Octave to link cleanly. I'm not sure what the proper fix is, I see several options: 1.- fix heimdal to either use the system's fnmatch.h or provide an extern "C" wrapper using the __BEGIN_DECLS macro 2.- make octave use the system's fnmatch.h How should I handle this? What should be fixed in each package? What should be fixed in the ports system? tks -- pica