Error build virtualbox on 32bit Debian Buster system: unsupported size for integer register

Discussions related to using VirtualBox on Linux hosts.
Post Reply
itmag.pro
Posts: 2
Joined: 8. Jun 2020, 06:06

Error build virtualbox on 32bit Debian Buster system: unsupported size for integer register

Post by itmag.pro »

Hello!

Code: Select all

$ gcc --version
gcc (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/8/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=i686-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 8.3.0 (Debian 8.3.0-6) 

$ c++ --version
c++ (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ g++ --version
g++ (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ uname -a
Linux falian 4.19.0-9-686 #1 SMP Debian 4.19.118-2 (2020-04-29) i686 GNU/Linux
I try build VirtualBox-5.2.42 on 32bit Debian Buster system, but get this error:

Code: Select all

# kmk all
...
kBuild: Compiling tstRTMemEf - /opt/src/VirtualBox-5.2.42/src/VBox/Runtime/testcase/tstRTMemEf.cpp
/opt/src/VirtualBox-5.2.42/src/VBox/Runtime/testcase/tstRTMemEf.cpp: In function ‘int main()’:
/opt/src/VirtualBox-5.2.42/src/VBox/Runtime/testcase/tstRTMemEf.cpp:84:1: error: unsupported size for integer register
 }
 ^
/opt/src/VirtualBox-5.2.42/include/iprt/asm.h: Сообщения ассемблера:
/opt/src/VirtualBox-5.2.42/include/iprt/asm.h:4135: Ошибка: плохое имя регистра: «%sil»
kmk: *** [/opt/src/VirtualBox-5.2.42/out/linux.x86/release/obj/tstRTMemEf/tstRTMemEf.o] Error 1
The failing command:
@g++ -c -O2 -g -pipe -pedantic -Wshadow -Wall -Wextra -Wno-missing-field-initializers -Wno-unused -Wno-trigraphs -fdiagnostics-show-option -Wno-unused-parameter     -Wlogical-op   -Wno-variadic-macros -Wno-long-long -Wunused-variable -Wunused-function -Wunused-label -Wunused-parameter  -Wno-overloaded-virtual -Wno-ignored-qualifiers -Wno-variadic-macros -march=i586 -O2 -mtune=generic -fno-omit-frame-pointer -fno-strict-aliasing -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fvisibility-inlines-hidden   -m32 -I/opt/src/VirtualBox-5.2.42/out/linux.x86/release/obj/tstRTMemEf/dtrace -I/opt/src/VirtualBox-5.2.42/include -I/opt/src/VirtualBox-5.2.42/out/linux.x86/release -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_REM -DVBOX_WITH_RAW_MODE -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_X86 -D__X86__ -DVBOX_WITH_DEBUGGER -DIN_RING3 -DHC_ARCH_BITS=32 -DGC_ARCH_BITS=64 -DVBOX_WITH_DTRACE -DVBOX_WITH_DTRACE_R3 -Wp,-MD,/opt/src/VirtualBox-5.2.42/out/linux.x86/release/obj/tstRTMemEf/tstRTMemEf.o.dep -Wp,-MT,/opt/src/VirtualBox-5.2.42/out/linux.x86/release/obj/tstRTMemEf/tstRTMemEf.o -Wp,-MP -o /opt/src/VirtualBox-5.2.42/out/linux.x86/release/obj/tstRTMemEf/tstRTMemEf.o /opt/src/VirtualBox-5.2.42/src/VBox/Runtime/testcase/tstRTMemEf.cpp
this error also get if try build VirtualBox-6.1.8:

Code: Select all

# kmk
...
kBuild: Compiling tstRTMemEf - /opt/src/VirtualBox-6.1.8/src/VBox/Runtime/testcase/tstRTMemEf.cpp
/opt/src/VirtualBox-6.1.8/src/VBox/Runtime/testcase/tstRTMemEf.cpp: In function ‘int main()’:
/opt/src/VirtualBox-6.1.8/src/VBox/Runtime/testcase/tstRTMemEf.cpp:84:1: error: unsupported size for integer register
 }
 ^
/opt/src/VirtualBox-6.1.8/include/iprt/asm.h: Сообщения ассемблера:
/opt/src/VirtualBox-6.1.8/include/iprt/asm.h:4159: Ошибка: плохое имя регистра: «%sil»
kmk: *** [/opt/src/VirtualBox-6.1.8/kBuild/footer-pass2-compiling-targets.kmk:277: /opt/src/VirtualBox-6.1.8/out/linux.x86/release/obj/tstRTMemEf/tstRTMemEf.o] Error 1
The failing command:
@g++ -c -O2 -g -pipe -pedantic -Wshadow -Wall -Wextra -Wno-missing-field-initializers -Wno-unused -Wno-trigraphs -fdiagnostics-show-option -Wno-unused-parameter     -Wlogical-op   -Wno-variadic-macros -Wno-long-long -Wunused-variable -Wunused-function -Wunused-label -Wunused-parameter  -Wno-overloaded-virtual -Wno-array-bounds -Wno-ignored-qualifiers -Wno-variadic-macros -march=i586 -O2 -mtune=generic -fno-omit-frame-pointer -fno-strict-aliasing -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fvisibility-inlines-hidden   -m32 -I/opt/src/VirtualBox-6.1.8/out/linux.x86/release/obj/tstRTMemEf/dtrace -I/opt/src/VirtualBox-6.1.8/include -I/opt/src/VirtualBox-6.1.8/out/linux.x86/release -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_X86 -D__X86__ -DVBOX_WITH_DEBUGGER -DIN_RING3 -DGC_ARCH_BITS=64 -DVBOX_WITH_DTRACE -DVBOX_WITH_DTRACE_R3 -DHC_ARCH_BITS=32 -Wp,-MD,/opt/src/VirtualBox-6.1.8/out/linux.x86/release/obj/tstRTMemEf/tstRTMemEf.o.dep -Wp,-MT,/opt/src/VirtualBox-6.1.8/out/linux.x86/release/obj/tstRTMemEf/tstRTMemEf.o -Wp,-MP -o /opt/src/VirtualBox-6.1.8/out/linux.x86/release/obj/tstRTMemEf/tstRTMemEf.o  /opt/src/VirtualBox-6.1.8/src/VBox/Runtime/testcase/tstRTMemEf.cpp
How to fix this?
itmag.pro
Posts: 2
Joined: 8. Jun 2020, 06:06

Re: Error build virtualbox on 32bit Debian Buster system: unsupported size for integer register

Post by itmag.pro »

self asked, self answered :) How to build and fix "unsupported size for integer register":
  1. Сборка VirtualBox v5.2.42 (32bit) на Debian 10 (Buster) x86 (i686) платформе
Post Reply