Glibc not installed or too old - possibly SSE4 support issue

Hi Martin,

I tried to install the Linux urbackupclient v2.4.11. on an Internet client by downloading from the server.
The installation failed with “Glibc not installed or too old”
Here is the terminal output (I have replaced the real hostname and IP address with XXXXXXXX and A.B.C.D):

TF=mktemp && wget “http://XXXXXXXXXXX:55414/x?a=download_client&lang=en&clientid=3&authkey=QIsdHrVzPn&os=linux” -O $TF && sh $TF; rm -f $TF

–2021-07-23 13:35:12-- …XXXXXXXXXXXXXX:55414/x?a=download_client&lang=en&clientid=3&authkey=QIsdHrVzPn&os=linux
Resolving XXXXXXXXXXXX… A.B.C.D
Connecting to XXXXXXXXXXX|A.B.C.D|:55414… connected.
HTTP request sent, awaiting response… 200 ok
Length: 22724321 (22M) [application/octet-stream]
Saving to: “/tmp/tmp.8A8JIYpZxz”

100%[======================================>] 22,724,321 577K/s in 39s

2021-07-23 13:35:54 (573 KB/s) - “/tmp/tmp.8A8JIYpZxz” saved [22724321/22724321]

Verifying archive integrity… All good.
Uncompressing UrBackup Client Installer for Linux 100%
Installation of UrBackup Client 2.4.11 to /usr/local … Proceed ? [Y/n]
Y
Uncompressing install data…
Assuming RedHat (derivative) system
Detected architecture x86_64-linux-glibc
(Glibc not installed or too old. Falling back to Android NDK build…)
Error running executable on this system (x86_64). Stopping installation.

<<<<<<<

I found a similar case in the forum, [Ubuntu] Glibc not installed or too old, [Ubuntu] Glibc not installed or too old
In this case you mentioned that the problem could be that the processor does not support SSE4 instructions.

In my case I tried the installation in a CentOS 6.10 LXD container running on Ubuntu 16 server. The CPU flags of the processor are:

(CPU information in the failing server)

cat /proc/cpuinfo

processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 9
model name : AMD Opteron™ Processor 6128
stepping : 1
microcode : 0x10000d9
cpu MHz : 2000.157
cache size : 512 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 8
apicid : 16
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow consta
nt_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr
hw_pstate vmmcall npt lbrv svm_lock nrip_save pausefilter
bugs : tlb_mmatch fxsave_leak sysret_ss_attrs
bogomips : 4000.31
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

I tried also a second installation on a different hardware with the same OS: CentOS 6.10 LXD container running on Ubuntu 16 server.
That installation worked. The CPU flags in the installation that succeeded are:

cat /proc/cpuinfo

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Pentium(R) CPU G840 @ 2.80GHz
stepping : 7
microcode : 0x2f
cpu MHz : 1600.046
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
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 syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm epb ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts md_clear flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 5587.15
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

The differences regarding SSE4 extensions are:

(1) The server where the installation fails has the flag: sse4a
(2) The server where the installation succeeds has the flags: sse4_1 and sse4_2

Is the problem related to SSE4 extensions ? Do you have a different Linux client that I could try on the failing server ?

Thank you

The linked thread was from when the Android build was relatively new. It’s unlikely to be changed further now, so to fix this problem you’ll have to probably compile the client yourself.

To get a better error message unpack with:

sh installer.sh --target out --noexec
cd out
tar xf install-data.tar.gz
x86_64-linux-android/urbackupclientbackend --version

Hi Martin,
after compiling the urbackup client from the source, it runs.

urbackupclientbackend --version

UrBackup Client Backend v2.4.11.0
Copyright (C) 2011-2019 Martin Raiber

Now I need to configure the headless Linux client.
I tried a command like the following (which I found in a rather old forum post):

urbackupclientctl set-settings -k internet_mode_enabled -v true -k internet_server -v backup.example.com -k internet_server_port -v 55415 -k computername -v “example” -k internet_authkey -v theauthkey

but I get: “Error setting settings”

Do I have to specify some more parameters ?