Intel® Software Guard Extensions (Intel® SGX)
Discussion board focused on hardware-based isolation and memory encryption to provide extended code protection in solutions.

configure errors when build sgx-sdk on 32-bit machine

张__志强
Beginner
1,243 Views

Hi,buddies,

I had met a complier error when build linux-sgx sdk on 32-bit ubuntu machine. 

It's a error when configuring package linux-sgx-master/sdk/cpprt/linux/libunwind', as the config.log says, bad register name `%rax' are used.

Here is part of config.log. Thanks any suggestions.

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by libunwind configure 1.3.1, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ ./configure -n

## --------- ##
## Platform. ##
## --------- ##

hostname = zhang-VirtualBox
uname -m = i686
uname -r = 4.15.0-45-generic
uname -s = Linux
uname -v = #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:19 UTC 2019

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /home/zhang/bin
PATH: /home/zhang/.local/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/games
PATH: /usr/local/games
PATH: /snap/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2859: checking build system type
configure:2873: result: i686-pc-linux-gnu
configure:2893: checking host system type
configure:2906: result: i686-pc-linux-gnu
configure:2926: checking target system type
configure:2939: result: i686-pc-linux-gnu
configure:2981: checking for a BSD-compatible install
configure:3049: result: /usr/bin/install -c
configure:3060: checking whether build environment is sane
configure:3115: result: yes
configure:3266: checking for a thread-safe mkdir -p
configure:3305: result: /bin/mkdir -p
configure:3312: checking for gawk
configure:3342: result: no
configure:3312: checking for mawk
configure:3328: found /usr/bin/mawk
configure:3339: result: mawk
configure:3350: checking whether make sets $(MAKE)
configure:3372: result: yes
configure:3401: checking whether make supports nested variables
configure:3418: result: yes
configure:3545: checking whether to enable maintainer-specific portions of Makefiles
configure:3554: result: no
configure:3620: checking for gcc
configure:3636: found /usr/bin/gcc
configure:3647: result: gcc
configure:3876: checking for C compiler version
configure:3885: gcc --version >&5
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
Copyright (C) 2015 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.

configure:3896: $? = 0
configure:3885: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/5/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.12' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --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 --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --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 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 
configure:3896: $? = 0
configure:3885: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3896: $? = 1
configure:3885: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:3896: $? = 1
configure:3921: checking whether the C compiler works
configure:3943: gcc    conftest.c  >&5
conftest.c: Assembler messages:
conftest.c:22: Error: bad register name `%rax'
configure:3947: $? = 1
configure:3985: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libunwind"
| #define PACKAGE_TARNAME "libunwind"
| #define PACKAGE_VERSION "1.3.1"
| #define PACKAGE_STRING "libunwind 1.3.1"
| #define PACKAGE_BUGREPORT "libunwind-devel@nongnu.org"
| #define PACKAGE_URL ""
| #define PACKAGE "libunwind"
| #define VERSION "1.3.1"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
| #pragma GCC push_options
| #pragma GCC optimize ("-fomit-frame-pointer")
| void __x86_return_thunk(){__asm__("ret\n\t");}
| void __x86_indirect_thunk_rax(){__asm__("jmp *%rax\n\t");}
| #pragma GCC pop_options
configure:3990: error: in `/home/zhang/code/linux-sgx-master/sdk/cpprt/linux/libunwind':
configure:3992: error: C compiler cannot create executables
See `config.log' for more details

 

0 Kudos
2 Replies
Francisco_C_Intel
1,243 Views

Hi.

The supported OSes listed in https://github.com/intel/linux-sgx/ are all 64bit. 32bit OSes are not supported in Linux.

Thanks,

Francisco

0 Kudos
张__志强
Beginner
1,243 Views

Francisco C. (Intel) wrote:

Hi.

The supported OSes listed in https://github.com/intel/linux-sgx/ are all 64bit. 32bit OSes are not supported in Linux.

Thanks,

Francisco

okay, understand that. Thanks for your nice reply~

0 Kudos
Reply