The problem lies when building the PyEClib using pip:
pip-version: pip 20.3.4
```
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../liberasurecode.so: unknown type [0x13] section `.relr.dyn'
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../liberasurecode.so when searching for -lerasurecode
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/lib/liberasurecode.so: unknown type [0x13] section `.relr.dyn'
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: skipping incompatible /usr/lib/liberasurecode.so when searching for -lerasurecode
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
```
For some reason when installing from the alpine package the `ld` deems the library incompatible, but running `file /usr/lib/liberasurecode.so.1.6.3` in both the apk and manually built they seem the same:
Manually built:
/usr/lib/liberasurecode.so.1.6.3: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, with debug_info, not stripped
The problem lies when building the PyEClib using pip:
pip-version: pip 20.3.4
``` lib/gcc/ x86_64- alpine- linux-musl/ 10.3.1/ ../../. ./../x86_ 64-alpine- linux-musl/ bin/ld: /usr/lib/ gcc/x86_ 64-alpine- linux-musl/ 10.3.1/ ../../. ./liberasurecod e.so: unknown type [0x13] section `.relr.dyn' lib/gcc/ x86_64- alpine- linux-musl/ 10.3.1/ ../../. ./../x86_ 64-alpine- linux-musl/ bin/ld: skipping incompatible /usr/lib/ gcc/x86_ 64-alpine- linux-musl/ 10.3.1/ ../../. ./liberasurecod e.so when searching for -lerasurecode lib/gcc/ x86_64- alpine- linux-musl/ 10.3.1/ ../../. ./../x86_ 64-alpine- linux-musl/ bin/ld: /usr/lib/ liberasurecode. so: unknown type [0x13] section `.relr.dyn' lib/gcc/ x86_64- alpine- linux-musl/ 10.3.1/ ../../. ./../x86_ 64-alpine- linux-musl/ bin/ld: skipping incompatible /usr/lib/ liberasurecode. so when searching for -lerasurecode
/usr/
/usr/
/usr/
/usr/
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
```
I was able to make the build work:
- Starting a docker with the python2 alpine version( alpine: 3.15.6) /git.alpinelinu x.org/aports/ tree/testing/ liberasurecode/ APKBUILD? id=33283848034c 9885d984c8e8697 c645c57324938
- Downloading and building the library from scratch following almost all the steps in here: https:/
- Then running the pip install -r requirements.txt
For some reason when installing from the alpine package the `ld` deems the library incompatible, but running `file /usr/lib/ liberasurecode. so.1.6. 3` in both the apk and manually built they seem the same:
Manually built: liberasurecode. so.1.6. 3: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, with debug_info, not stripped
/usr/lib/
Package installation: liberasurecode. so.1.6. 3: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=aabb6c883 dcbfe83c253e173 4437a9d51ea4b25 4, stripped
/usr/lib/
Couldn't figure out why that happens...