This is a test version of Biostars. For the public version, visit https://www.biostars.org.
_uint128_t’ was not declared in this scope

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

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

Hi,

Thank you a lot ...

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

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

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

2 answers

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.

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)

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

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?

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

Absolutely no worries! :)

Hello drezen

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

Thank you

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

THANK YOU FOR YOUR ANSWER

Log in to answer this question.