octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: build problem on fclose


From: John W. Eaton
Subject: Re: build problem on fclose
Date: Thu, 28 Jul 2011 11:57:53 -0400

On 28-Jul-2011, Daniel Kraft wrote:

| -----BEGIN PGP SIGNED MESSAGE-----
| Hash: SHA1
| 
| On 07/28/11 14:22, Marco atzeri wrote:
| > has someone the same build problem ?
| > 
| > libtool: compile:  g++-4 -DHAVE_CONFIG_H -I.
| > -I../../octave/liboctave -I.. -I../libgnu -I../../octave/libgnu
| > -I../../octave/libcruft/misc -g -O2 -DHAVE_CONFIG_H -mieee-fp
| > -I/usr/include/freetype2 -Wall -W -Wshadow -Wold-style-cast -Wformat
| > -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -g
| > -O2 -MT liboctave_la-oct-md5.lo -MD -MP -MF 
| > .deps/liboctave_la-oct-md5.Tpo -c ../../octave/liboctave/oct-md5.cc 
| > -DDLL_EXPORT -DPIC -o .libs/liboctave_la-oct-md5.o 
| > ../../octave/liboctave/oct-md5.cc: In function 'std::string 
| > oct_md5_file(std::string)': ../../octave/liboctave/oct-md5.cc:73:
| > error: 'fclose' is not a member of 'gnulib' make[3]: ***
| > [liboctave_la-oct-md5.lo] Error 1 make[3]: Leaving directory
| > `/pub/hg/octave_build/liboctave'
| 
| Yes, I did face the same problem -- presumably related to the gnulib
| change with respect to the undefined FCLOSE autoconf macro?  At least it
| turned up for me after that change.
| 
| You can bypass the problems by changing every 'gnulib::fclose' back into
| 'fclose' (at least for me it worked), but that doesn't sound like the
| correct fix.

In the last few minutes I updated gnulib and ran make in an existing
build directory and saw problems with fclose and fcntl (but not the
one you are seeing).

Then I ran the autogen.sh script in the source tree, followed by
configure and make in my build tree and then I hit the error you are
seeing.

I think fclose should still be a member of the gnulib namespace, but
looking the libgnu/stdio.in.h file, that is not going to happen unless
@GNULIB_FCLOSE@ is substituted as 1, and at least in my sources, that
is not happening.  Grepping for GNULIB_FCLOSE in the gnulib sources
shows that it is used in the fclose and stdio modules, which we are not
using.  I guess we were getting this to work in the past because of
some gnulib module dependency.  Adding the fclose and stdio modules to
Octave's build-aux/bootstrap.conf file, then running autogen.sh,
configure, and make seems to fix the problem for me.

I'll check in a change for this on the stable branch, then merge
stable to default so that the change will also appear on that branch.

jwe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]