[vbox-dev] VirtualBox-5.1.20a fails to compile - linux 32-bit

Klaus Espenlaub klaus.espenlaub at oracle.com
Thu Apr 27 13:22:21 UTC 2017


Hi John,

you get a lot of

 > /etc/init.d/tc-functions: 72: Syntax error: Bad substitution

I could only find out that this file is related to Tiny Core Linux, but 
not what it does (especially not why the heck it gets executed all the 
time as part of executing kmk recipes - the SHELL variable should be 
pointing to kmk_ash, and I wouldn't see why it would look at this file).

I suspect that this causes a lot of confusion (and it's very obviously 
totally unrelated to VirtualBox)...

Klaus

On 27.04.2017 14:53, John Frankish wrote:
>>>> After adjusting src/libs/xpcom18a4/Makefile.kmk to look for libIDL-config-2, compiling vbox fails with:
>>>>
>>>> kBuild: bin2c iPxeBiosBin - /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/iPxeBiosBin/iPxeBiosBin.rom =>
>>>> /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/iPxeBiosBin/iPxeBiosBin.c
>>>> /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/bin2c/bin2c -min 32 -max 56 -mask 0x1ff -export
>>>> NetBiosBinary /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/iPxeBiosBin/iPxeBiosBin.rom
>>>> /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/iPxeBiosBin/iPxeBiosBin.c
>>>> /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/bin2c/bin2c: size=54171 - Not aligned!
>>>> kmk: *** [/usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/iPxeBiosBin/iPxeBiosBin.c] Error 1
>>>>
>>> Is it possible to perform this step manually with different parameters to fix things?
>>>
>> could you do the following:
>>
>>   $ rm /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/iPxeBiosBin/iPxeBiosBin.rom
>>   $ kmk KBUILD_VERBOSE=2 -j1
>>
>> and post the output? The error you get shouldn't be possible because the .rom image is
>> 512-byte-aligned by calling
>>
>>   src/VBox/Devices/PC/ipxe/src/util/padimg.pl --blksize=512 --byte=0xff path_to_/iPxeBiosBin.rom
>>
> Ah-ha, the first line of padimg.pl contains /usr/bin/perl - after changing it to /usr/bin/env perl that error disappears.
>
> I am still getting many substitution errors, most of which can be cured by copy/pasting the failed command onto one line in the terminal, but the last one cannot be fixed this way - I wonder if this is something to do with bash, my system normally uses busybox.
>
> /usr/src/VirtualBox-5.1.20/kBuild/bin/linux.x86/kmk_sed \
>         -e 's/@VBOX_API_VERSION@/5_1/' \
>         <  /usr/src/VirtualBox-5.1.20/src/VBox/Main/cbinding/VBoxCAPIGlue.h.in >  /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/CAPIHeaders/VBoxCAPIGlue.h

> kmk: *** [/usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/CAPIHeaders/VBoxCAPIGlue.h] Error 2
>
> /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/ipxezbin/ipxezbin \
>     /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/iPxeBiosBin/iPxeBaseBin.rom.bin \
>     /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/iPxeBiosBin/iPxeBaseBin.rom.zinfo \
>     > /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/iPxeBiosBin/iPxeBiosBin.rom
> /etc/init.d/tc-functions: 72: Syntax error: Bad substitution
> kmk: *** [/usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/iPxeBiosBin/iPxeBiosBin.rom] Error 2
>
> /usr/src/VirtualBox-5.1.20/kBuild/bin/linux.x86/kmk_sed -e "s/<NL>/\n/g" \
>         --output /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex.pre1 /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex.pre
> /etc/init.d/tc-functions: 72: Syntax error: Bad substitution
> kmk: *** [/usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex] Error 2
>
> For the one above I had to remove the offending line from src/VBox/Devices/Makefile.kmk
>
> if readelf -S /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/tstLdrObjR0/tstLdrObjR0.r0|grep -q "[cd]tors"; then echo "Found ctors/dtors in /usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/tstLdrObjR0/tstLdrObjR0.r0!"; exit 1; fi
> /etc/init.d/tc-functions: 72: Syntax error: Bad substitution
> kmk: *** [/usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/tstLdrObjR0/tstLdrObjR0.r0] Error 2
> kmk: *** Deleting file `/usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/tstLdrObjR0/tstLdrObjR0.r0'
> kmk: *** [/usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/tstLdrObjR0/tstLdrObjR0.r0] Deleting file `/usr/src/VirtualBox-5.1.20/out/linux.x86/release/obj/tstLdrObjR0/tstLdrObjR0.debug'
>
> I have not been able to fix the one above.


More information about the vbox-dev mailing list