[OE-core] sgml-common sstate_task_postfunc failure

Jack Mitchell ml at communistcode.co.uk
Tue Jun 26 12:53:02 UTC 2012


On 26/06/12 13:41, Jack Mitchell wrote:
> On 25/06/12 09:32, Jack Mitchell wrote:
>> On 22/06/12 18:08, Scott Garman wrote:
>>> On 06/22/2012 01:50 AM, Jack Mitchell wrote:
>>>> I have had issues building sgml-common the past few days with oe-core
>>>> master. Could anyone shed any light on the debug messages I am 
>>>> receiving
>>>> and what I could do to go about fixing them.
>>>>
>>>> I don't really understand the recipe, it seems to be some sort of
>>>> surrogate recipe for transferring over specified files.
>>>
>>> The sgml catalog generation process has been plagued with race 
>>> conditions and special cases like requiring SSTATEPOSTINSTFUNCS from 
>>> the start - the problem is that unlike most packages, we're not 
>>> installing static files but need to dynamically update the sgml 
>>> catalog every time a new dtd gets installed.
>>>
>>> If this is reproducible, and you've only been experiencing it for 
>>> the past few days, could you possibly bisect which commit has caused 
>>> this error?
>>>
>>> Scott
>>>
>>>> snip...
>>>>
>>>
>>
>> Unfortunately I had not updated or been building for around a month 
>> so while reproducible on my current build I cannot say when over the 
>> last month the issue turned up! I will keep updating and keep 
>> investigating to see if I can come up with a suggestion.
>>
>> I do have a quite a high parallel build at 12 threads, which has 
>> caused problems in the past.
>>
>> Regards,
>> Jack.
>>
>
> Ok, I think i'm getting somewhere with this, I have started a build 
> from scratch and openjade fails to build, which leads me to think that 
> it wasn't building properly in my old configuration but wasn't 
> flagging up for some reason.
>
> Here is the output of openjade build failure:
>
>    [jack at archHP openjade]$ cat
> /home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/temp/log.do_compile.29301
>    DEBUG: Executing shell function do_compile
>    NOTE: make -j 12 depend
>    make[1]: Entering directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2'
>    make[2]: Entering directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/grove'
>    echo 'LT_OBJS='`echo Node.o LocNode.o|sed 's/\.o/.lo/g'` >Makefile.lt
>    make[2]: Leaving directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/grove'
>    make[2]: Entering directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/grove'
>    g++ -MM
> -isystem/home/jack/Projects/poky-denzil.git/r0005-new/tmp/sysroots/x86_64-linux/usr/include
>    -O2 -pipe -I. -I./../include
> -I/home/jack/Projects/poky-denzil.git/r0005-new/tmp/sysroots/x86_64-linux/usr/include/OpenSP
> -I/home/jack/Projects/poky-denzil.git/r0005-new/tmp/sysroots/x86_64-linux/usr/include/OpenSP/..
>    -DPACKAGE_NAME=\"openjade\" -DPACKAGE_TARNAME=\"openjade\"
>    -DPACKAGE_VERSION=\"1.3.2\" -DPACKAGE_STRING=\"openjade\ 1.3.2\"
>    -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"openjade\"
>    -DVERSION=\"1.3.2\" -DSP_DEFINE_TEMPLATES=1 -DSTDC_HEADERS=1
>    -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
>    -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
>    -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1
>    -DHAVE_LIMITS_H=1 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1
>    -DHAVE_ST_BLKSIZE=1 -DSIZEOF_SIZE_T=8 -DSIZEOF_UNSIGNED_INT=4
>    -DSP_HAVE_LOCALE=1 -DSP_HAVE_WCHAR=1 -DSP_HAVE_GETTEXT=1
>    -DSP_HAVE_BOOL=1 -DSP_ANSI_CLASS_INST=1 -DJADE_MIF=1 -DJADE_HTML=1
>    -DSP_MULTI_BYTE=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"
> -DDEFAULT_SCHEME_BUILTINS=\"/home/jack/Projects/poky-denzil.git/r0005-new/tmp/sysroots/x86_64-linux/usr/share/sgml/openjade-1.3.2/builtins.dsl\"
>    -MM Node.cxx LocNode.cxx \
>       | sed -e 's; \([^/ ][^/ ]*\)/; $(srcdir)/\1/;g' >depend.temp1
>    cat depend.temp1 > depend.temp
>    cat depend.temp1 | sed -e 's/\.o:/.lo:/g' >> depend.temp
>    rm depend.temp1
>    mv depend.temp Makefile.dep
>    make[2]: Leaving directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/grove'
>    make[2]: Entering directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/spgrove'
>    echo 'LT_OBJS='`echo GroveApp.o GroveBuilder.o SdNode.o|sed
>    's/\.o/.lo/g'` >Makefile.lt
>    make[2]: Leaving directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/spgrove'
>    make[2]: Entering directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/spgrove'
>    rm -f grove_inst.cxx
>    /usr/bin/perl ./../instmac.pl grove_inst.m4 >grove_inst.cxx
>    chmod -w grove_inst.cxx
>    g++ -MM
> -isystem/home/jack/Projects/poky-denzil.git/r0005-new/tmp/sysroots/x86_64-linux/usr/include
>    -O2 -pipe -I. -I./../include
> -I/home/jack/Projects/poky-denzil.git/r0005-new/tmp/sysroots/x86_64-linux/usr/include/OpenSP
> -I/home/jack/Projects/poky-denzil.git/r0005-new/tmp/sysroots/x86_64-linux/usr/include/OpenSP/..
>    -I./../grove  -DPACKAGE_NAME=\"openjade\"
>    -DPACKAGE_TARNAME=\"openjade\" -DPACKAGE_VERSION=\"1.3.2\"
>    -DPACKAGE_STRING=\"openjade\ 1.3.2\" -DPACKAGE_BUGREPORT=\"\"
>    -DPACKAGE_URL=\"\" -DPACKAGE=\"openjade\" -DVERSION=\"1.3.2\"
>    -DSP_DEFINE_TEMPLATES=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1
>    -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
>    -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
>    -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1
>    -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 -DHAVE_ST_BLKSIZE=1
>    -DSIZEOF_SIZE_T=8 -DSIZEOF_UNSIGNED_INT=4 -DSP_HAVE_LOCALE=1
>    -DSP_HAVE_WCHAR=1 -DSP_HAVE_GETTEXT=1 -DSP_HAVE_BOOL=1
>    -DSP_ANSI_CLASS_INST=1 -DJADE_MIF=1 -DJADE_HTML=1 -DSP_MULTI_BYTE=1
>    -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"
> -DDEFAULT_SCHEME_BUILTINS=\"/home/jack/Projects/poky-denzil.git/r0005-new/tmp/sysroots/x86_64-linux/usr/share/sgml/openjade-1.3.2/builtins.dsl\"
>    -MM GroveApp.cxx GroveBuilder.cxx SdNode.cxx \
>       | sed -e 's; \ERROR: Function failed: do_compile (see
> /home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/temp/log.do_compile.29301
>    for further information)
>    ([^/ ][^/ ]*\)/; $(srcdir)/\1/;g' >depend.temp1
>    cat depend.temp1 > depend.temp
>    cat depend.temp1 | sed -e 's/\.o:/.lo:/g' >> depend.temp
>    rm depend.temp1
>    mv depend.temp Makefile.dep
>    make[2]: Leaving directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/spgrove'
>    make[2]: Entering directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/style'
>    echo 'LT_OBJS='`echo LangObj.o Collector.o DssslApp.o
>    InterpreterMessages.o DssslSpecEventHandler.o ELObj.o
>    ELObjMessageArg.o Expression.o FOTBuilder.o FlowObj.o InheritedC.o
>    Insn.o Interpreter.o NumberCache.o ProcessContext.o ProcessingMode.o
>    SchemeParser.o Style.o StyleEngine.o primitive.o GroveManager.o
>    Pattern.o MacroFlowObj.o style_inst.o MessageModule.o |sed
>    's/\.o/.lo/g'` >Makefile.lt
>    make[2]: Leaving directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/style'
>    make[2]: Entering directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/style'
>    rm -f style_inst.cxx
>    rm -f FlowObj_inst.cxx
>    rm -f primitive_inst.cxx
>    /usr/bin/perl ./../instmac.pl style_inst.m4 >style_inst.cxx
>    /usr/bin/perl ./../instmac.pl FlowObj_inst.m4 >FlowObj_inst.cxx
>    /usr/bin/perl -w ./../msggen.pl -l jstyleModule 
> InterpreterMessages.msg
>    /usr/bin/perl ./../instmac.pl primitive_inst.m4 >primitive_inst.cxx
>    /usr/bin/perl -w ./../msggen.pl -l jstyleModule DssslAppMessages.msg
>    chmod -w FlowObj_inst.cxx
>    chmod -w primitive_inst.cxx
>    chmod -w style_inst.cxx
>    *Undefined subroutine &main::Getopts called at ./../msggen.pl line 22.
>    make[2]: *** [InterpreterMessages.h] Error 2
>    make[2]: *** Waiting for unfinished jobs....
>    Undefined subroutine &main::Getopts called at ./../msggen.pl line 22.
>    make[2]: *** [DssslAppMessages.h] Error 2*
>    make[2]: Leaving directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2/style'
>    make[1]: *** [style] Error 2
>    make[1]: Leaving directory
> `/home/jack/Projects/poky-denzil.git/r0005-new/tmp/work/x86_64-linux/openjade-native-1.3.2-r4/openjade-1.3.2'
>    make: *** [depend] Error 2
>    ERROR: oe_runmake failed
>    [jack at archHP openjade]$
>
>
> Now this seems to be a perl error, which could very well be related to 
> the differing version of perl I have on my host system to the one 
> built in oe-core. As a quick fix I am going to try using inherit 
> perlnative to see if that solves it.
>
> What could have happened is that Getopts has been depreciated or changed.
>

Ok so adding inherit perlnative fixed it for my new build but not my old 
build which must have some remnants of a package laying about and 
causing it to do odd things I guess? I have tried cleaning the offending 
recipes:

bitbake -c cleansstate openjade sgml-common sgml-common-native

But it still fails to build with the original error message in 
sgml-common. Do any other packages effect it sgml-common that I could 
try cleaning and rebuilding?

-- 

   Jack Mitchell (jack at embed.me.uk)
   Embedded Systems Engineer
   http://www.embed.me.uk

--





More information about the Openembedded-core mailing list