Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

build fail: __int128 is not supported on this target #595

Closed
Joe-Gibbon opened this issue Oct 26, 2017 · 5 comments
Closed

build fail: __int128 is not supported on this target #595

Joe-Gibbon opened this issue Oct 26, 2017 · 5 comments

Comments

@Joe-Gibbon
Copy link

Hello fellow eos enthusiasts

I'm unable to build eos locally due to __int128 is not supported on this target. Would appreciate any workaround advice so I can build out, get busy building blocks and making contracts :-)

Kind regards
Joe Gibbon

My snapshot :
commit 6927220 (HEAD -> master, origin/master, origin/HEAD)
Merge: 6969e40 ae5673d
Date: Tue Oct 24 12:35:54 2017 -0500

My machine
~/eos# lscpu
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 42
Model name: Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz
Stepping: 7
CPU MHz: 2691.403
CPU max MHz: 3400.0000
CPU min MHz: 800.0000
BogoMIPS: 5382.80
Virtualisation: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 4096K
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts

My kernel:
:/eos# uname -mrs
Linux 4.13.0-16-generic i686
:
/eos# uname -a
Linux pip 4.13.0-16-generic #19-Ubuntu SMP Wed Oct 11 18:33:49 UTC 2017 i686 i686 i686 GNU/Linux

Build logs:

ARCHITECTURE "ubuntu"
-- Using custom FindBoost.cmake
-- Boost version: 1.64.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- system
-- filesystem
-- program_options
-- signals
-- serialization
-- chrono
-- unit_test_framework
-- context
-- locale
-- Using custom FindBoost.cmake
-- Boost version: 1.64.0
-- Found the following Boost libraries:
-- coroutine
-- Configuring Eos on Linux


-- No WASM compiler could be found ... (skipping building of contracts)


-- Found Secp256k1: /usr/local/lib/libsecp256k1.a
-- Configuring fc to build on Unix/Apple
-- zlib found
-- bzip2 found
-- Using custom FindBoost.cmake
-- Boost version: 1.64.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- system
-- filesystem
-- chrono
-- unit_test_framework
-- locale
-- Configuring ChainBase on Linux
-- egenesis: /app/data/eos/genesis.json
-- embed_genesis_args: -t/app/data/eos/libraries/egenesis/egenesis_brief.cpp.tmpl---/app/data/eos/build/libraries/egenesis/egenesis_brief.cpp-t/app/data/eos/libraries/egenesis/egenesis_full.cpp.tmpl---/app/data/eos/build/libraries/egenesis/egenesis_full.cpp--genesis-json/app/data/eos/genesis.json
-- Using custom FindBoost.cmake
-- Boost version: 1.64.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- system
-- filesystem
-- chrono
-- program_options
-- unit_test_framework
-- locale
-- Configuring ChainBase on Linux
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Doxygen not found. Contract documentation will not be generated.
-- Configuring done
-- Generating done
-- Build files have been written to: /app/data/eos/build
[ 2%] Built target Platform
[ 3%] Built target Logging
[ 5%] Built target IR
[ 7%] Built target appbase
[ 8%] Built target chainbase
[ 10%] Built target WASM
[ 15%] Built target Runtime
[ 16%] Built target Emscripten
[ 21%] Built target WAST
[ 22%] Built target appbase_example
[ 23%] Built target Disassemble
[ 24%] Built target Assemble
[ 27%] Built target chainbase_test
[ 27%] Built target wavm
[ 28%] Built target Test
[ 29%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/uint128.cpp.o
[ 29%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/real128.cpp.o
[ 29%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/io/console.cpp.o
[ 30%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/filesystem.cpp.o
[ 30%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/interprocess/file_mapping.cpp.o
[ 31%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/interprocess/mmap_struct.cpp.o
[ 31%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/log/log_message.cpp.o
In file included from /app/data/eos/libraries/fc/src/uint128.cpp:1:
/app/data/eos/libraries/fc/include/fc/uint128.hpp:35:34: error: __int128 is not supported on this target
explicit uint128( unsigned __int128 i ):hi( i >> 64 ), lo(i){ }
^
/app/data/eos/libraries/fc/include/fc/uint128.hpp:40:34: error: __int128 is not supported on this target
explicit operator unsigned __int128()const {
^
/app/data/eos/libraries/fc/include/fc/uint128.hpp:41:19: error: __int128 is not supported on this target
unsigned __int128 result(hi);
^
/app/data/eos/libraries/fc/include/fc/uint128.hpp:132:35: error: __int128 is not supported on this target
void to_variant( const unsigned __int128& var, variant& vo );
^
/app/data/eos/libraries/fc/include/fc/uint128.hpp:133:52: error: __int128 is not supported on this target
void from_variant( const variant& var, unsigned __int128& vo );
^
/app/data/eos/libraries/fc/src/uint128.cpp:379:36: error: __int128 is not supported on this target
void to_variant( const unsigned __int128& var, variant& vo ) { to_variant( ((uint128)var), vo); }
^
In file included from /app/data/eos/libraries/fc/src/real128.cpp:1:
In file included from /app/data/eos/libraries/fc/include/fc/real128.hpp:2:
/app/data/eos/libraries/fc/include/fc/uint128.hpp:35:34: error: __int128 is not supported on this target
explicit uint128( unsigned __int128 i ):hi( i >> 64 ), lo(i){ }
^
/app/data/eos/libraries/fc/include/fc/uint128.hpp:40:34: error: __int128 is not supported on this target
explicit operator unsigned __int128()const {
^
/app/data/eos/libraries/fc/include/fc/uint128.hpp:41:19: error: __int128 is not supported on this target
unsigned __int128 result(hi);
^
/app/data/eos/libraries/fc/include/fc/uint128.hpp:132:35: error: __int128 is not supported on this target
void to_variant( const unsigned __int128& var, variant& vo );
^
/app/data/eos/libraries/fc/include/fc/uint128.hpp:133:52: error: __int128 is not supported on this target
void from_variant( const variant& var, unsigned __int128& vo );
^
/app/data/eos/libraries/fc/src/uint128.cpp:380:53: error: __int128 is not supported on this target
void from_variant( const variant& var, unsigned __int128& vo ) { from_variant( var, ((uint128)&vo)); }
^
7 errors generated.
5 errors generated.
libraries/fc/CMakeFiles/fc.dir/build.make:62: recipe for target 'libraries/fc/CMakeFiles/fc.dir/src/uint128.cpp.o' failed
make[2]: *** [libraries/fc/CMakeFiles/fc.dir/src/uint128.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
libraries/fc/CMakeFiles/fc.dir/build.make:86: recipe for target 'libraries/fc/CMakeFiles/fc.dir/src/real128.cpp.o' failed
make[2]: *** [libraries/fc/CMakeFiles/fc.dir/src/real128.cpp.o] Error 1
CMakeFiles/Makefile2:127: recipe for target 'libraries/fc/CMakeFiles/fc.dir/all' failed
make[1]: *** [libraries/fc/CMakeFiles/fc.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

@LonRock
Copy link

LonRock commented Jan 4, 2018

I get exactly same problem. My OS is ubuntu 17.10 . I'm looking for resolution as well.

@LonRock
Copy link

LonRock commented Jan 6, 2018

I think the reason is because 32bit OS, compiler cannot support both amd64 and i386. I changed to 64bit ubuntu 17.10 the problem is gone. Though there're some other problems.

@ganioc
Copy link

ganioc commented Dec 14, 2018

I'm compiling EOS fc library on Raspberry Pi 1b, having the same __int28 problem for uint128.cpp.

Raspberry Pi 1b is a 32bit ARM CPU.

@PublicWorld
Copy link

PublicWorld commented Apr 29, 2019

@ganioc 道友你好,关于 int128 不支持 x86 的问题,请问最后如何解决的?
我们目前也是在 iPhone 5C 上遇到这个问题,5C是 x86 架构,不支持 64位。

@shatanyumi
Copy link

I'm compiling EOS fc library on Raspberry Pi 1b, having the same __int28 problem for uint128.cpp.

Raspberry Pi 1b is a 32bit ARM CPU.

请问解决了么?(手动狗头

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants