Ylianst/MeshAgent

Mesh Agent build in RHEL 5.9

Closed this issue · 7 comments

Hi,

I am trying to compile mesh agent code in RHEL 5.9.

I took meshagent 1.0.75 tag code and setup dev environment in RHEL 5.9 machine. I am able to compile 32bit binary successfully. But when I compile 64bit version, I am getting errors.

Command used to build:
make linux ARCHID=6 FSWATCH_DISABLE=1 LEGACY_LD=1

Error:

jmemmgr.c:(.text+0x439): undefined reference to `__isoc99_sscanf'
openssl/libstatic/linux/x86-64/libcrypto.a(v3_utl.o): In function `ipv6_cb':
v3_utl.c:(.text+0x2b4): undefined reference to `__isoc99_sscanf'
openssl/libstatic/linux/x86-64/libcrypto.a(v3_utl.o): In function `a2i_ipadd':
v3_utl.c:(.text+0x20af): undefined reference to `__isoc99_sscanf'

Similar error reported in this article, but I think that is fox 32 bit.

Any suggestion on this would be appreciated.

This looks like it's because I compiled the 32 bit openssl binaries with CentOS/5.11 but the 64 bit ones with Ubuntu 10. It looks like the glibc you are using for 64 bit is older than the ones the 64 bit libraries were compiled with. I'm out of town at the moment, so it will be a few days before I can recompile openssl with an older distribution, but if you compile openssl with your RHEL/5.9 that will probably resolve your issue as well.

Hi all,

Trying to compile MeshAgent 1.1.0 on CentOS 5.11 32-bit but keep on getting the following:

/root/Source_Codes/MeshAgent-MeshCentral_v1.1.0/microstack/ILibParsers.h:333: undefined reference to __sync_bool_compare_and_swap_4'
/root/Source_Codes/MeshAgent-MeshCentral_v1.1.0/microstack/ILibParsers.h:333: undefined reference to __sync_bool_compare_and_swap_4'
/root/Source_Codes/MeshAgent-MeshCentral_v1.1.0/microstack/ILibParsers.h:333: undefined reference to __sync_bool_compare_and_swap_4'
/root/Source_Codes/MeshAgent-MeshCentral_v1.1.0/microstack/ILibParsers.h:333: undefined reference to __sync_bool_compare_and_swap_4'
/root/Source_Codes/MeshAgent-MeshCentral_v1.1.0/microstack/ILibParsers.h:333: undefined reference to __sync_bool_compare_and_swap_4'
microstack/ILibAsyncSocket.o:/root/Source_Codes/MeshAgent-MeshCentral_v1.1.0/microstack/ILibParsers.h:333: more undefined references to __sync_bool_compare_and_swap_4' follow

I have tried all the suggestions that were mentioned in Issue 19 but none worked, any advise or perhaps the link to the binary that was places on alt.meshcentral.com? The link is no longer working

Build it like this, (I just tested on my CentOS 5.11 test setup):

make linux ARCHID=5 FSWATCH_DISABLE=1 LEGACY_LD=1 BIGCHAINLOCK=1

Build it like this, (I just tested on my CentOS 5.11 test setup):

make linux ARCHID=5 FSWATCH_DISABLE=1 LEGACY_LD=1 BIGCHAINLOCK=1

Hi and thank you for the absolute lightning response, tried but still the same error. I have got a feeling that I am missing some libraries but everything I looked at and read from the above mentioned issue as well as the makefile instructions but can't see what I am missing.

I assume you did a make clean before you tried again with the flags specified above? I know with some of these flags, the compiler won't rebuild the object files if the only thing that changed were some of the build flags. Earlier, when I was testing this, I got the same errors, until I did a make clean first, then built it again.

I assume you did a make clean before you tried again with the flags specified above? I know with some of these flags, the compiler won't rebuild the object files if the only thing that changed were some of the build flags. Earlier, when I was testing this, I got the same errors, until I did a make clean first, then built it again.

Motherf..., god-dam..... No I didn't, of course I didn't how else would I find a way to look like an idiot. Thanks, compiled successfully now testing with my server.

Thanks for the guidance and brilliant application btw!

This looks like it's because I compiled the 32 bit openssl binaries with CentOS/5.11 but the 64 bit ones with Ubuntu 10. It looks like the glibc you are using for 64 bit is older than the ones the 64 bit libraries were compiled with. I'm out of town at the moment, so it will be a few days before I can recompile openssl with an older distribution, but if you compile openssl with your RHEL/5.9 that will probably resolve your issue as well.

Yes, after compiling 64bit openSSL statically, able to compile meshagent successfully and it works perfectly!

Thanks.