[oe] angstrom-2008.1, uclibc, perl 5.8.8: error: #error It appears you have defined _FILE_OFFSET_BITS=64.

Paul Menzel paulepanter at users.sourceforge.net
Tue Jul 13 13:29:24 UTC 2010


Dear OE folks,


I tried to build angstrom-2008.1 with the OE dev branch using uclibc.

        DISTRO = "angstrom-2008.1"
        
        GLIBC_GENERATE_LOCALES = "en_US.UTF-8 en_GB.UTF-8 de_DE.UTF-8"
        
        MACHINE = "beagleboard"
        BUILD_ARCH = "i686"
        BUILD_OS = "linux"
        ANGSTROMLIBC = "uclibc"

Building perl 5.8.8 I get the following error.

        make[1]: Entering directory `/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
        `sh  cflags "optimize='-O2'" miniperlmain.o` -fPIC miniperlmain.c
        	  CCCMD =  arm-angstrom-linux-uclibceabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -DPERL_CORE -c -isystem/oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb3 -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2  -Wall
        In file included from /oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/sys/types.h:27,
                         from perl.h:420,
                         from miniperlmain.c:36:
        /oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/features.h:416:4: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
        In file included from /oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/stdio.h:72,
                         from perlio.h:65,
                         from iperlsys.h:51,
                         from perl.h:2733,
                         from miniperlmain.c:36:
        /oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/bits/uClibc_stdio.h:61:2: error: #error Sorry... uClibc was built without large file support!
        In file included from perlio.h:65,
                         from iperlsys.h:51,
                         from perl.h:2733,
                         from miniperlmain.c:36:
        /oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/stdio.h:83: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fpos_t'
        In file included from perlio.h:65,
                         from iperlsys.h:51,
                         from perl.h:2733,
                         from miniperlmain.c:36:
        /oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/stdio.h:714: error: expected declaration specifiers or '...' before 'fpos_t'
        /oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/stdio.h:716: error: expected ';', ',' or ')' before '*' token
        In file included from perl.h:3950,
                         from miniperlmain.c:36:
        proto.h:297: error: expected declaration specifiers or '...' before 'off64_t'
        proto.h:299: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Perl_do_sysseek'
        proto.h:300: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Perl_do_tell'
        proto.h:2004: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Perl_PerlIO_tell'
        proto.h:2005: error: expected declaration specifiers or '...' before 'off64_t'

Full compile log is attached. Searching the Web did not turn anything up
and currently it logs like git.openembedded.org is down.

I appreciate any hints.


Thanks,

Paul
-------------- next part --------------
NOTE: make -e MAKEFLAGS= perl LD=arm-angstrom-linux-uclibceabi-gcc
Perl cross-build directory is /srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8/Cross
Target arch is arm-linux-uclibceabi
toolchain: arm-angstrom-linux-uclibceabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp, arm-angstrom-linux-uclibceabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp, arm-angstrom-linux-uclibceabi-gcc, arm-angstrom-linux-uclibceabi-strip, arm-angstrom-linux-uclibceabi-ar, arm-angstrom-linux-uclibceabi-ranlib
Optimizations: -fexpensive-optimizations -fomit-frame-pointer -O2
/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8/Cross/generate_config_sh config.sh-arm-linux-uclibceabi > /srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8/Cross/../config.sh
cd /srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8/Cross/.. ; ./Configure -S ; make depend ; make ; make more
 
Fetching answers from config.sh...
 
Doing variable substitutions on .SH files...
Extracting cflags (with variable substitutions)
Extracting config.h (with variable substitutions)
Extracting makeaperl (with variable substitutions)
Extracting makedepend (with variable substitutions)
Extracting makedir (with variable substitutions)
linux libraries overwritten by cross-compile patches
Extracting Makefile (with variable substitutions)
Extracting myconfig (with variable substitutions)
Extracting pod/Makefile (with variable substitutions)
Extracting Policy.sh (with variable substitutions)
Extracting writemain (with variable substitutions)
Extracting x2p/cflags (with variable substitutions)
Extracting x2p/Makefile (with variable substitutions)
Extraction done.
make[1]: Entering directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
sh ./makedepend MAKE=make
make[2]: Entering directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
sh writemain lib/auto/DynaLoader/DynaLoader.a  > perlmain.c
rm -f opmini.c
cp op.c opmini.c
echo  av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c reentr.c perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c globals.c perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c miniperlmain.c perlmain.c opmini.c | tr ' ' '\n' >.clist
make[2]: Leaving directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
Finding dependencies for av.o.
Finding dependencies for scope.o.
Finding dependencies for op.o.
Finding dependencies for doop.o.
Finding dependencies for doio.o.
Finding dependencies for dump.o.
Finding dependencies for hv.o.
Finding dependencies for mg.o.
Finding dependencies for reentr.o.
Finding dependencies for perl.o.
Finding dependencies for perly.o.
Finding dependencies for pp.o.
Finding dependencies for pp_hot.o.
Finding dependencies for pp_ctl.o.
Finding dependencies for pp_sys.o.
Finding dependencies for regcomp.o.
Finding dependencies for regexec.o.
Finding dependencies for utf8.o.
Finding dependencies for gv.o.
Finding dependencies for sv.o.
Finding dependencies for taint.o.
Finding dependencies for toke.o.
Finding dependencies for util.o.
Finding dependencies for deb.o.
Finding dependencies for run.o.
Finding dependencies for universal.o.
Finding dependencies for xsutils.o.
Finding dependencies for pad.o.
Finding dependencies for globals.o.
Finding dependencies for perlio.o.
Finding dependencies for perlapi.o.
Finding dependencies for numeric.o.
Finding dependencies for locale.o.
Finding dependencies for pp_pack.o.
Finding dependencies for pp_sort.o.
Finding dependencies for miniperlmain.o.
Finding dependencies for perlmain.o.
Finding dependencies for opmini.o.
make[2]: Entering directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
echo Makefile.SH cflags.SH config_h.SH makeaperl.SH makedepend.SH makedir.SH myconfig.SH writemain.SH pod/Makefile.SH | tr ' ' '\n' >.shlist
make[2]: Leaving directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
Updating makefile...
test -s perlmain.c && touch perlmain.c
cd x2p; make depend
make[2]: Entering directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8/x2p'
sh ../makedepend MAKE=make
make[3]: Entering directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8/x2p'
echo hash.c  str.c util.c walk.c | tr ' ' '\n' >.clist
make[3]: Leaving directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8/x2p'
Finding dependencies for hash.o.
Finding dependencies for str.o.
Finding dependencies for util.o.
Finding dependencies for walk.o.
make[3]: Entering directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8/x2p'
echo Makefile.SH cflags.SH | tr ' ' '\n' >.shlist
make[3]: Leaving directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8/x2p'
Updating makefile...
make[2]: Leaving directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8/x2p'
make[1]: Leaving directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
make[1]: Entering directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
`sh  cflags "optimize='-O2'" miniperlmain.o` -fPIC miniperlmain.c
	  CCCMD =  arm-angstrom-linux-uclibceabi-gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -DPERL_CORE -c -isystem/srv/filme/oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb3 -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2  -Wall
In file included from /srv/filme/oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/sys/types.h:27,
                 from perl.h:420,
                 from miniperlmain.c:36:
/srv/filme/oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/features.h:416:4: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
In file included from /srv/filme/oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/stdio.h:72,
                 from perlio.h:65,
                 from iperlsys.h:51,
                 from perl.h:2733,
                 from miniperlmain.c:36:
/srv/filme/oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/bits/uClibc_stdio.h:61:2: error: #error Sorry... uClibc was built without large file support!
In file included from perlio.h:65,
                 from iperlsys.h:51,
                 from perl.h:2733,
                 from miniperlmain.c:36:
/srv/filme/oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/stdio.h:83: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fpos_t'
In file included from perlio.h:65,
                 from iperlsys.h:51,
                 from perl.h:2733,
                 from miniperlmain.c:36:
/srv/filme/oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/stdio.h:714: error: expected declaration specifiers or '...' before 'fpos_t'
/srv/filme/oe/angstrom-dev/sysroots/armv7a-angstrom-linux-uclibceabi/usr/include/stdio.h:716: error: expected ';', ',' or ')' before '*' token
In file included from perl.h:3950,
                 from miniperlmain.c:36:
proto.h:297: error: expected declaration specifiers or '...' before 'off64_t'
proto.h:299: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Perl_do_sysseek'
proto.h:300: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Perl_do_tell'
proto.h:2004: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Perl_PerlIO_tell'
proto.h:2005: error: expected declaration specifiers or '...' before 'off64_t'
make[1]: *** [miniperlmain.o] Error 1
make[1]: Leaving directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
make[1]: Entering directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
make[1]: [extra.pods] Error 1 (ignored)
./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl lib/Config.pm
make[1]: ./miniperl: Command not found
make[1]: *** [lib/Config.pod] Error 127
make[1]: Leaving directory `/srv/filme/oe/angstrom-dev/work/armv7a-angstrom-linux-uclibceabi/perl-5.8.8-r34/perl-5.8.8'
make: *** [perl] Error 2
FATAL: oe_runmake failed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20100713/f6f0ffed/attachment-0002.sig>


More information about the Openembedded-devel mailing list