Date: Sat, 23 Apr 2005 16:10:22 +0200 From: Joan Picanyol i Puig <lists-octave@biaix.org> To: "John W. Eaton" <jwe@bevo.che.wisc.edu> 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) Message-ID: <20050423141022.GA28184@grummit.biaix.org> In-Reply-To: <17001.2258.64534.72369@devzero.bogus.domain> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
[added heimdal's FreeBSD port mantainer to catch his attention] * John W. Eaton <jwe@bevo.che.wisc.edu> [20050422 16:24]: > On 22-Apr-2005, Joan Picanyol i Puig <lists-octave@biaix.org> 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 <fnmatch.h> (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 <fnmatch.h> > #include <glob.h> > > to > > extern "C" { > #include <fnmatch.h> > #include <glob.h> > } 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050423141022.GA28184>