compile error: "off64_t"

Khem Raj raj.khem at gmail.com
Wed Jun 29 20:07:30 UTC 2011


On Wed, Jun 29, 2011 at 12:35 PM, Ed W <lists at wildgooses.com> wrote:
> 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
>

compiling perl is non-trivial look into
some of build infra e.g. build root
and openembedded and see what tricks
they play to make perl behave in cross
build.


> 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
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc
>


More information about the uClibc mailing list