FlorianREGAZ / Python-Tls-Client

Advanced HTTP Library
MIT License
660 stars 136 forks source link

Raspberry DLL error: `tls-client-arm64.so: wrong ELF class: ELFCLASS64` #81

Open 0xF7A4C6 opened 1 year ago

0xF7A4C6 commented 1 year ago

Raspberry-pi 4B+ is running under aarch64 arch. This file may not work, and there is no tutorial on how to compile hown arch, or even what you have compiled.

Architecture:                    aarch64
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
Vendor ID:                       ARM
Model:                           3
Model name:                      Cortex-A72
Stepping:                        r0p3
CPU max MHz:                     1500.0000
CPU min MHz:                     600.0000
BogoMIPS:                        108.00
L1d cache:                       128 KiB
L1i cache:                       192 KiB
L2 cache:                        1 MiB
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Not affected
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Vulnerable
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm crc32 cpuid

cf #13, pull-request.

If you wanna build tls_client by yourself.

# clone the repository
git clone https://github.com/bogdanfinn/tls-client.git

# go into build folder
cd tls-client/cffi_dist

# compile
GOOS=linux CGO_ENABLED=1 GOARCH=arm GOARM=7 CC="gcc" go build -buildmode=c-shared -o ./dist/tls-client-arm64.so

# moove it into python
mv ./dist/tls-client-arm64.so /home/pi/.local/lib/python3.9/site-packages/tls_client/dependencies/
mv ./dist/tls-client-arm64.h /home/pi/.local/lib/python3.9/site-packages/tls_client/dependencies/
LovanDog commented 1 year ago

if i wanna build it for rpi0 i should just change build options to arm32?

0xF7A4C6 commented 1 year ago

Probably

if i wanna build it for rpi0 i should just change build options to arm32?