_uint128_t’ was not declared in this scope
2
1
Entering edit mode
10.5 years ago
amal_zine ▴ 10

Hello,

I'm trying to use GATB but a get the error

/usr/include/gatb/tools/math/LargeInt2.pri:34:58: erreur: '__uint128_t' was not declared in this scope

I'm using "g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3".

Please help me

Thank you

gatb • 9.6k views
ADD COMMENT
0
Entering edit mode

I've emailed the main GATB developer (edrezen) about this

ADD REPLY
0
Entering edit mode

Hi,

Thank you a lot ...

ADD REPLY
0
Entering edit mode

Thank you for your answer

My system is 64 bit. When I type on terminal grep flags /proc/cpuinfo I get

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 tm pbe nx lm constant_tsc up arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm dtherm

lm is corresponding to 64 bit !!!

THANK YOU

ADD REPLY
0
Entering edit mode

To make 100% sure, what's the output of the uname -a command?

ADD REPLY
0
Entering edit mode

That gives

3.2.0-67-generic-pae #101-Ubuntu SMP Tue Jul 15 18:04:54 UTC 2014 i686 i686 i386 GNU/Linux

Thanks

ADD REPLY
1
Entering edit mode

That is a 32 bits Linux even though your CPU supports 64 bits (see http://stackoverflow.com/questions/246007/how-to-determine-whether-a-given-linux-is-32-bit-or-64-bit).

ADD REPLY
1
Entering edit mode
10.5 years ago

If your system is 32-bit, I don't think that type (uint128_t) is available. You might email the developers of GATB with a bug report containing more details about your system.

ADD COMMENT
1
Entering edit mode
10.5 years ago
edrezen ▴ 730

Hello,

GATB uses cmake for building its software, and in your case, it seems that the uint128 availibility is wrongly set to true by cmake. After that, when the "make" command is launched, the compiler tries to use something not present which causes the compilation issue you got.

Just to be sure, could you please launch the cmake command and give us the console output? Note: if you have already launched the cmake command, it should be better to remove all its generated files (like CMakeCache.txt for instance). A simple way is to delete the "build" directory, create a new "build" directory and go into it, and then launch "cmake .."

Erwan Drézen (GATB team)

ADD COMMENT
0
Entering edit mode

Hello drezen,

Thank you for your answer but I didn't use cmake because I used binary code. Rayan proposed that it's because I have a 32-bits system

amal

ADD REPLY
0
Entering edit mode

That was probably a misunderstanding, I don't recall proposing to use the binary release in that case.. I recall advising to develop on a 64 bits machine. Although, in light of Erwan's comment, maybe it will be possible to use a 32 bits machine after all, in case this is a bug related to cmake?

ADD REPLY
0
Entering edit mode

oops!!! c'est un malentendu , je n'ai jamais voulu dire que tu m'as proposé d'utiliser le binaire mais je voulais dire que tu m'as conseillé le 64 bit. je me suis mal exprimée et j'ai pas relu ce que j'avais écrit.

je suis désolée

merci

amal

ADD REPLY
0
Entering edit mode

Absolutely no worries! :)

ADD REPLY
0
Entering edit mode

Hello drezen

I've tried to build it from source code. The cmake .. gives:

-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.56.0
-- CppUnit: found headers but not the library...
-- CppUnit NOT FOUND
-- Found Perl: /usr/bin/perl
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of __uint128
-- Check size of __uint128 - failed
-- Check size of __uint128_t
-- Check size of __uint128_t - failed
-------------------------------------------------------------------------------------
-- GCC VERSION IS NOT ENOUGH TO HAVE C++ EXTENSIONS... SOME EXAMPLES CAN'T COMPILE...
-------------------------------------------------------------------------------------
-- Options: -O3 -Wno-invalid-offsetof -Wno-ambiguous-member-template
CMake Warning (dev) at CMakeLists.txt:147 (set):
Cannot set "gatb-core-flags": current scope has no parent.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:148 (set):
Cannot set "gatb-core-includes": current scope has no parent.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:149 (set):
Cannot set "gatb-core-libraries": current scope has no parent.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:150 (set):
Cannot set "gatb-core-cmake": current scope has no parent.
This warning is for project developers. Use -Wno-dev to suppress it.
-- SUPPORTED KMER SIZES ARE 32 64 96 128
-- ---------- GATB TOOLS ----------
-- SOVERSION: 8.0.0
-- Check for STD namespace
-- Check for STD namespace - found
-- Looking for ceil in m;
-- Looking for ceil in m; - found
-- Looking for dlopen in dl;m
-- Looking for dlopen in dl;m - found
-- Looking for WSAStartup in ws2_32;m;dl
-- Looking for WSAStartup in ws2_32;m;dl - not found
-- Looking for gethostbyname in wsock32;m;dl
-- Looking for gethostbyname in wsock32;m;dl - not found
-- Looking for gethostname in ucb;m;dl
-- Looking for gethostname in ucb;m;dl - not found
-- Looking for connect in socket;m;dl
-- Looking for connect in socket;m;dl - not found
-- Looking for gethostbyname in c
-- Looking for gethostbyname in c - found
-- Check if the system is big endian
-- Searching 16 bit integer
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Performing Other Test STDC_HEADERS - Success
-- Looking for difftime
-- Looking for difftime - found
-- Looking for clock_gettime
-- Looking for clock_gettime - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for clock_gettime in posix4
-- Looking for clock_gettime in posix4 - not found
-- Looking for include files H5_HAVE_SYS_RESOURCE_H
-- Looking for include files H5_HAVE_SYS_RESOURCE_H - found
-- Looking for include files H5_HAVE_SYS_TIME_H
-- Looking for include files H5_HAVE_SYS_TIME_H - found
-- Looking for include files H5_HAVE_UNISTD_H
-- Looking for include files H5_HAVE_UNISTD_H - found
-- Looking for include files H5_HAVE_SYS_IOCTL_H
-- Looking for include files H5_HAVE_SYS_IOCTL_H - found
-- Looking for include files H5_HAVE_SYS_STAT_H
-- Looking for include files H5_HAVE_SYS_STAT_H - found
-- Looking for include files H5_HAVE_SYS_SOCKET_H
-- Looking for include files H5_HAVE_SYS_SOCKET_H - found
-- Looking for include files H5_HAVE_SYS_TYPES_H
-- Looking for include files H5_HAVE_SYS_TYPES_H - found
-- Looking for include files H5_HAVE_STDDEF_H
-- Looking for include files H5_HAVE_STDDEF_H - found
-- Looking for include files H5_HAVE_SETJMP_H
-- Looking for include files H5_HAVE_SETJMP_H - found
-- Looking for include files H5_HAVE_FEATURES_H
-- Looking for include files H5_HAVE_FEATURES_H - found
-- Looking for include files H5_HAVE_DIRENT_H
-- Looking for include files H5_HAVE_DIRENT_H - found
-- Looking for include files H5_HAVE_STDINT_H
-- Looking for include files H5_HAVE_STDINT_H - found
-- Looking for C++ include stdint.h
-- Looking for C++ include stdint.h - found
-- Looking for include files H5_HAVE_MACH_MACH_TIME_H
-- Looking for include files H5_HAVE_MACH_MACH_TIME_H - not found.
-- Looking for include files H5_HAVE_IO_H
-- Looking for include files H5_HAVE_IO_H - not found.
-- Looking for include files H5_HAVE_WINSOCK2_H
-- Looking for include files H5_HAVE_WINSOCK2_H - not found.
-- Looking for include files H5_HAVE_SYS_TIMEB_H
-- Looking for include files H5_HAVE_SYS_TIMEB_H - found
-- Looking for include files H5_HAVE_GLOBUS_COMMON_H
-- Looking for include files H5_HAVE_GLOBUS_COMMON_H - not found.
-- Looking for include files H5_HAVE_PDB_H
-- Looking for include files H5_HAVE_PDB_H - not found.
-- Looking for include files H5_HAVE_PTHREAD_H
-- Looking for include files H5_HAVE_PTHREAD_H - found
-- Looking for include files H5_HAVE_SRBCLIENT_H
-- Looking for include files H5_HAVE_SRBCLIENT_H - not found.
-- Looking for include files H5_HAVE_STRING_H
-- Looking for include files H5_HAVE_STRING_H - found
-- Looking for include files H5_HAVE_STRINGS_H
-- Looking for include files H5_HAVE_STRINGS_H - found
-- Looking for include files H5_HAVE_TIME_H
-- Looking for include files H5_HAVE_TIME_H - found
-- Looking for include files H5_HAVE_STDLIB_H
-- Looking for include files H5_HAVE_STDLIB_H - found
-- Looking for include files H5_HAVE_MEMORY_H
-- Looking for include files H5_HAVE_MEMORY_H - found
-- Looking for include files H5_HAVE_DLFCN_H
-- Looking for include files H5_HAVE_DLFCN_H - found
-- Looking for include files H5_HAVE_INTTYPES_H
-- Looking for include files H5_HAVE_INTTYPES_H - found
-- Looking for include files H5_HAVE_NETINET_IN_H
-- Looking for include files H5_HAVE_NETINET_IN_H - found
-- Performing TEST_LFS_WORKS... yes
-- Performing Other Test HAVE_OFF64_T - Success
-- Looking for lseek64
-- Looking for lseek64 - found
-- Looking for fseeko64
-- Looking for fseeko64 - found
-- Looking for ftello64
-- Looking for ftello64 - found
-- Looking for ftruncate64
-- Looking for ftruncate64 - found
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for ftello
-- Looking for ftello - found
-- Performing Other Test HAVE_STAT64_STRUCT - Success
-- Looking for fstat64
-- Looking for fstat64 - found
-- Looking for stat64
-- Looking for stat64 - found
-- Check size of char
-- Check size of char - done
-- Check size of short
-- Check size of short - done
-- Check size of int
-- Check size of int - done
-- Check size of unsigned
-- Check size of unsigned - done
-- Check size of long
-- Check size of long - done
-- Check size of long long
-- Check size of long long - done
-- Check size of __int64
-- Check size of __int64 - failed
-- Check size of float
-- Check size of float - done
-- Check size of double
-- Check size of double - done
-- Check size of long double
-- Check size of long double - done
-- Check size of int8_t
-- Check size of int8_t - done
-- Check size of uint8_t
-- Check size of uint8_t - done
-- Check size of int_least8_t
-- Check size of int_least8_t - done
-- Check size of uint_least8_t
-- Check size of uint_least8_t - done
-- Check size of int_fast8_t
-- Check size of int_fast8_t - done
-- Check size of uint_fast8_t
-- Check size of uint_fast8_t - done
-- Check size of int16_t
-- Check size of int16_t - done
-- Check size of uint16_t
-- Check size of uint16_t - done
-- Check size of int_least16_t
-- Check size of int_least16_t - done
-- Check size of uint_least16_t
-- Check size of uint_least16_t - done
-- Check size of int_fast16_t
-- Check size of int_fast16_t - done
-- Check size of uint_fast16_t
-- Check size of uint_fast16_t - done
-- Check size of int32_t
-- Check size of int32_t - done
-- Check size of uint32_t
-- Check size of uint32_t - done
-- Check size of int_least32_t
-- Check size of int_least32_t - done
-- Check size of uint_least32_t
-- Check size of uint_least32_t - done
-- Check size of int_fast32_t
-- Check size of int_fast32_t - done
-- Check size of uint_fast32_t
-- Check size of uint_fast32_t - done
-- Check size of int64_t
-- Check size of int64_t - done
-- Check size of uint64_t
-- Check size of uint64_t - done
-- Check size of int_least64_t
-- Check size of int_least64_t - done
-- Check size of uint_least64_t
-- Check size of uint_least64_t - done
-- Check size of int_fast64_t
-- Check size of int_fast64_t - done
-- Check size of uint_fast64_t
-- Check size of uint_fast64_t - done
-- Check size of size_t
-- Check size of size_t - done
-- Check size of ssize_t
-- Check size of ssize_t - done
-- Check size of ptrdiff_t
-- Check size of ptrdiff_t - done
-- Check size of off_t
-- Check size of off_t - done
-- Check size of off64_t
-- Check size of off64_t - done
-- Performing Other Test DEV_T_IS_SCALAR - Success
-- Looking for CLOCK_MONOTONIC
-- Looking for CLOCK_MONOTONIC - not found
-- Performing Other Test HAVE_TM_GMTOFF - Success
-- Performing Other Test HAVE___TM_GMTOFF - Failed
-- Performing Other Test HAVE_STRUCT_TIMEZONE - Success
-- Performing Other Test GETTIMEOFDAY_GIVES_TZ - Success
-- Performing Other Test TIME_WITH_SYS_TIME - Success
-- Performing Other Test HAVE_TM_ZONE - Success
-- Performing Other Test HAVE_STRUCT_TM_TM_ZONE - Success
-- Performing Other Test HAVE_TIMEZONE - Success
-- Performing Other Test HAVE_STAT_ST_BLOCKS - Success
-- Looking for ioctl
-- Looking for ioctl - found
-- Performing Other Test HAVE_STRUCT_VIDEOCONFIG - Failed
-- Performing Other Test HAVE_STRUCT_TEXT_INFO - Failed
-- Looking for _getvideoconfig
-- Looking for _getvideoconfig - not found
-- Looking for gettextinfo
-- Looking for gettextinfo - not found
-- Looking for _scrsize
-- Looking for _scrsize - not found
-- Looking for GetConsoleScreenBufferInfo
-- Looking for GetConsoleScreenBufferInfo - not found
-- Looking for TIOCGWINSZ
-- Looking for TIOCGWINSZ - found
-- Looking for TIOCGETD
-- Looking for TIOCGETD - found
-- Looking for alarm
-- Looking for alarm - found
-- Looking for fork
-- Looking for fork - found
-- Looking for frexpf
-- Looking for frexpf - found
-- Looking for frexpl
-- Looking for frexpl - found
-- Looking for gethostname
-- Looking for gethostname - found
-- Looking for getpwuid
-- Looking for getpwuid - found
-- Looking for getrusage
-- Looking for getrusage - found
-- Looking for lstat
-- Looking for lstat - found
-- Looking for rand_r
-- Looking for rand_r - found
-- Looking for random
-- Looking for random - found
-- Looking for setsysinfo
-- Looking for setsysinfo - not found
-- Looking for signal
-- Looking for signal - found
-- Looking for longjmp
-- Looking for longjmp - found
-- Looking for setjmp
-- Looking for setjmp - found
-- Looking for siglongjmp
-- Looking for siglongjmp - found
-- Looking for sigsetjmp
-- Looking for sigsetjmp - not found
-- Looking for sigaction
-- Looking for sigaction - found
-- Looking for sigprocmask
-- Looking for sigprocmask - found
-- Looking for snprintf
-- Looking for snprintf - found
-- Looking for srandom
-- Looking for srandom - found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for symlink
-- Looking for symlink - found
-- Looking for system
-- Looking for system - found
-- Looking for vasprintf
-- Looking for vasprintf - found
-- Looking for waitpid
-- Looking for waitpid - found
-- Looking for vsnprintf
-- Looking for vsnprintf - found
-- Performing Other Test VSNPRINTF_WORKS - Success
-- Looking for sigsetjmp
-- Looking for sigsetjmp - found
-- Looking for tzname
-- Looking for tzname - found
-- Performing Other Test LONE_COLON - Success
-- Performing Other Test HAVE_ATTRIBUTE - Success
-- Performing Other Test HAVE_C99_FUNC - Success
-- Performing Other Test HAVE_FUNCTION - Success
-- Performing Other Test HAVE_C99_DESIGNATED_INITIALIZER - Success
-- Performing Other Test SYSTEM_SCOPE_THREADS - Success
-- Performing Other Test HAVE_SOCKLEN_T - Success
-- Performing Other Test CXX_HAVE_OFFSETOF - Success
-- Performing CXX Test OLD_HEADER_FILENAME - Failed
-- Performing CXX Test H5_NO_NAMESPACE - Failed
-- Performing CXX Test H5_NO_STD - Failed
-- Performing CXX Test BOOL_NOTDEFINED - Failed
-- Performing CXX Test NO_STATIC_CAST - Failed
-- Performing TEST_DIRECT_VFD_WORKS... no
-- Performing Other Test INLINE_TEST_inline - Success
-- Performing Other Test INLINE_TEST___inline__ - Success
-- Performing Other Test INLINE_TEST___inline - Success
-- Checking for appropriate format for 64 bit long:
-- Checking for apropriate format for 64 bit long: found "ll"
-- checking IF converting from long double to integers is accurate... yes
-- Checking IF converting from long double to integers works... yes
-- checking IF accurately converting from integers to long double... yes
-- Checking IF accurately converting unsigned long to float values... yes
-- Checking IF accurately converting unsigned long long to floating-point values... no
-- Checking IF accurately roundup converting floating-point to unsigned long long values... yes
-- Checking IF correctly converting long double to unsigned int values... yes
-- Checking IF compiling unsigned long long to floating-point typecasts work... yes
-- Checking IF compiling long long to floating-point typecasts work... yes
-- Checking IF converting unsigned long long to long double with precision... yes
-- Checking IF overflows normally converting floating-point to integer values... yes
-- Checking IF your system converts long double to (unsigned) long values with special algorithm... no
-- Checking IF your system can convert (unsigned) long to long double values with special algorithm... no
-- Checking IF correctly converting long double to (unsigned) long long values... yes
-- Checking IF correctly converting (unsigned) long long to long double values... yes
-- Checking IF your system generates wrong code for log2 routine... no
-- Checking IF alignment restrictions are strictly enforced... yes
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- ---------- GATB EXAMPLES ----------
-- WARNING !!! Some examples won't be compiled (use of lambda expressions)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/amal/Bureau/gatb-core-1.0.4-Source/build

Thank you

ADD REPLY
0
Entering edit mode

Ok, so cmake seems to correctly detect that 32 bits system can't use uint128.

By the way, is it possible for you to compile the code on your 32 bits system and tell me if it works ?

Actually, we don't generate GATB binaries for 32 bits systems, so it would useful for us to know if it works.

Erwan

ADD REPLY

Login before adding your answer.

Traffic: 2525 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6