compile error: "off64_t"

Ed W lists at wildgooses.com
Wed Jun 29 19:35:21 UTC 2011


Hi, this is quite possibly not a uclibc problem, but I'm hoping someone
might help point at the problem.

I'm trying to compile perl "GD" (from cpan) and hitting what looks like
some header file problems. The (out of context) compile error is:

    /usr/lib/perl5/5.12.3/i486-linux-thread-multi/CORE/proto.h:692:
error: expected declaration specifiers or '...' before 'off64_t'

This is uclibc head from a couple of days back (about 12 commits newer
than 0.9.32), compiled with large file support on x86 (also nptl if
that's relevant). Perl is 5.12.3, compiled since uclibc

Not obvious from the error, but the relevant line from "proto.h"
actually references the type "Off_t".  Following back to perl.h I see a
bunch of #defines trying to pickup large file support, that define
Off_t=off64_t.  However I'm not clear where off64_t should normally be
defined and why it's not getting picked up here?

The complete compile output is as follows.  Grateful for any thoughts on
a solution?

Thanks

Ed W



 * Using ExtUtils::MakeMaker
 * perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor INSTALLMAN3DIR=none
DESTDIR=/var/tmp/portage/dev-perl/GD-2.44/image/ -options ""
Configuring for libgd version 2.0.35.
Checking for stray libgd header files...none found.

Included Features:          ""
GD library used from:       /usr
Checking if your kit is complete...
Looks good
Writing Makefile for GD
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-perl/GD-2.44/work/GD-2.44 ...
/var/tmp/portage/dev-perl/GD-2.44/temp/environment: line 2212: declare:
mymake: not foun * emake OTHERLDFLAGS=-Wl,-z,relro
make -j4 OTHERLDFLAGS=-Wl,-z,relro
/usr/bin/perl5.12.3 GD/Image.pm.PLS GD/Image.pm
/usr/bin/perl5.12.3 /usr/lib/perl5/vendor_perl/5.12.3/ExtUtils/xsubpp 
-typemap /usr/lib/perl5/5.12.3/ExtUtils/typemap -typemap typemap  GD.xs
> GD.xsc && mv GD.xsc GD.c
Running Mkbootstrap for GD ()
Extracting Image.pm (with variable substitutions)
chmod 644 GD.bs
cp GD.bs blib/arch/auto/GD/GD.bs
chmod 644 blib/arch/auto/GD/GD.bs
cp GD/Polyline.pm blib/lib/GD/Polyline.pm
cp qd.pl blib/lib/qd.pl
cp GD/Image.pm blib/lib/GD/Image.pm
cp GD.pm blib/lib/GD.pm
AutoSplitting blib/lib/GD.pm (blib/lib/auto/GD)
cp GD/Simple.pm blib/lib/GD/Simple.pm
cp GD/Polygon.pm blib/lib/GD/Polygon.pm
cp GD/Group.pm blib/lib/GD/Group.pm
/usr/bin/perl5.12.3 "-Iblib/arch" "-Iblib/lib"
bdf_scripts/bdf2gdfont.PLS bdf_scripts/bdf2gdfont.pl
Extracting bdf2gdfont.pl (with variable substitutions)
cp bdf_scripts/bdf2gdfont.pl blib/script/bdf2gdfont.pl
/usr/bin/perl5.12.3 -MExtUtils::MY -e 'MY->fixin(shift)' --
blib/script/bdf2gdfont.pl
i486-gentoo-linux-uclibc-gcc -c  -I/usr/include -Wformat=0 -march=k6-2
-Os -pipe -fomit-frame-pointer   -DVERSION=\"2.44\"
-DXS_VERSION=\"2.44\" -fPIC
"-I/usr/lib/perl5/5.12.3/i486-linux-thread-multi/CORE"   GD.c
In file included from
/usr/lib/perl5/5.12.3/i486-linux-thread-multi/CORE/perl.h:4947,
                 from GD.xs:6:
/usr/lib/perl5/5.12.3/i486-linux-thread-multi/CORE/proto.h:692: error:
expected declaration specifiers or '...' before 'off64_t'
/usr/lib/perl5/5.12.3/i486-linux-thread-multi/CORE/proto.h:699: error:
expected '=', ',', ';', 'asm' or '__attribute__' before 'Perl_do_sysseek'
/usr/lib/perl5/5.12.3/i486-linux-thread-multi/CORE/proto.h:704: error:
expected '=', ',', ';', 'asm' or '__attribute__' before 'Perl_do_tell'
In file included from
/usr/lib/perl5/5.12.3/i486-linux-thread-multi/CORE/perl.h:4947,
                 from GD.xs:6:
/usr/lib/perl5/5.12.3/i486-linux-thread-multi/CORE/proto.h:6178: error:
expected '=', ',', ';', 'asm' or '__attribute__' before 'Perl_PerlIO_tell'
/usr/lib/perl5/5.12.3/i486-linux-thread-multi/CORE/proto.h:6179: error:
expected declaration specifiers or '...' before 'off64_t'
make: *** [GD.o] Error 1


More information about the uClibc mailing list