Open Begasus opened 2 weeks ago
For reference (64bit R1B4): Original one:
/system/add-ons/Translators> readelf -d EXRTranslator
Dynamic section at offset 0xc6e0 contains 35 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libbe.so]
0x0000000000000001 (NEEDED) Shared library: [libtranslation.so]
0x0000000000000001 (NEEDED) Shared library: [libtextencoding.so]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libIlmImf-2_4.so.24]
0x0000000000000001 (NEEDED) Shared library: [libIlmImfUtil-2_4.so.24]
0x0000000000000001 (NEEDED) Shared library: [libHalf-2_4.so.24]
0x0000000000000001 (NEEDED) Shared library: [libIex-2_4.so.24]
0x0000000000000001 (NEEDED) Shared library: [libIexMath-2_4.so.24]
0x0000000000000001 (NEEDED) Shared library: [libIlmThread-2_4.so.24]
0x0000000000000001 (NEEDED) Shared library: [libImath-2_4.so.24]
0x0000000000000001 (NEEDED) Shared library: [libroot.so]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x000000000000000e (SONAME) Library soname: [EXRTranslator]
0x000000000000000c (INIT) 0x6740
0x000000000000000d (FINI) 0xa0f1
0x0000000000000019 (INIT_ARRAY) 0x20c000
0x000000000000001b (INIT_ARRAYSZ) 16 (bytes)
0x0000000000000004 (HASH) 0x120
0x0000000000000005 (STRTAB) 0x24a8
0x0000000000000006 (SYMTAB) 0x9c0
0x000000000000000a (STRSZ) 8169 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000003 (PLTGOT) 0x20c9d0
0x0000000000000002 (PLTRELSZ) 2808 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x5c48
0x0000000000000007 (RELA) 0x4760
0x0000000000000008 (RELASZ) 5352 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffe (VERNEED) 0x46d0
0x000000006fffffff (VERNEEDNUM) 3
0x000000006ffffff0 (VERSYM) 0x4492
0x000000006ffffff9 (RELACOUNT) 35
0x0000000000000000 (NULL) 0x0
Produced one with haikuporter:
/system/add-ons/Translators> readelf -d EXRTranslator
Dynamic section at offset 0xd6c0 contains 31 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libbe.so]
0x0000000000000001 (NEEDED) Shared library: [libIex-3_2.so.31]
0x0000000000000001 (NEEDED) Shared library: [libIlmThread-3_2.so.31]
0x0000000000000001 (NEEDED) Shared library: [libImath-3_1.so.29]
0x0000000000000001 (NEEDED) Shared library: [libOpenEXR-3_2.so.31]
0x0000000000000001 (NEEDED) Shared library: [libOpenEXRUtil-3_2.so.31]
0x0000000000000001 (NEEDED) Shared library: [libtranslation.so]
0x0000000000000001 (NEEDED) Shared library: [libtextencoding.so]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED) Shared library: [libroot.so]
0x000000000000000e (SONAME) Library soname: [_APP_]
0x000000000000000c (INIT) 0x7a70
0x000000000000000d (FINI) 0xb251
0x0000000000000004 (HASH) 0x120
0x0000000000000005 (STRTAB) 0x2ae8
0x0000000000000006 (SYMTAB) 0xaa8
0x000000000000000a (STRSZ) 10769 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000003 (PLTGOT) 0xd970
0x0000000000000002 (PLTRELSZ) 3432 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x6d08
0x0000000000000007 (RELA) 0x5850
0x0000000000000008 (RELASZ) 5304 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffe (VERNEED) 0x57b0
0x000000006fffffff (VERNEEDNUM) 3
0x000000006ffffff0 (VERSYM) 0x54fa
0x000000006ffffff9 (RELACOUNT) 1
0x0000000000000000 (NULL) 0x0
Linker on Haiku:
/home/korli/githaiku/haiku/generated_gcc13_64/cross-tools-x86_64/bin/x86_64-unknown-haiku-gcc -pipe -fno-strict-aliasing -fno-delete-null-pointer-checks -fno-builtin-fork -fno-builtin-vfork -Xlinker --no-undefined -Xlinker -soname="EXRTranslator" -nostdlib -Xlinker --no-undefined -o "objects/haiku/x86_64/release/add-ons/translators/exr/EXRTranslator" "objects/haiku/x86_64/release/system/glue/arch/x86_64/crti.o" "/home/korli/githaiku/haiku/generated_gcc13_64/cross-tools-x86_64/lib/gcc/x86_64-unknown-haiku/13.3.0/crtbeginS.o" "objects/haiku/x86_64/release/system/glue/start_dyn.o" "objects/haiku/x86_64/release/system/glue/init_term_dyn.o" "objects/haiku/x86_64/release/add-ons/translators/exr/main.o" "objects/haiku/x86_64/release/add-ons/translators/exr/ConfigView.o" "objects/haiku/x86_64/release/add-ons/translators/exr/EXRGamma.o" "objects/haiku/x86_64/release/add-ons/translators/exr/EXRTranslator.o" "objects/haiku/x86_64/release/add-ons/translators/exr/IStreamWrapper.o" \ "objects/haiku/x86_64/release/kits/libbe.so" "objects/haiku/x86_64/release/kits/translation/libtranslation.so" "objects/haiku/x86_64/release/kits/textencoding/libtextencoding.so" "build_packages/gcc_syslibs-13.2.0_2023_08_10-3-x86_64/lib/libstdc++.so" "objects/haiku/x86_64/release/add-ons/translators/shared/libtranslatorsutils.a" "build_packages/openexr-2.4.1-1-x86_64/develop/lib/libIlmImf.so" "build_packages/openexr-2.4.1-1-x86_64/develop/lib/libIlmImfUtil.so" "build_packages/openexr-2.4.1-1-x86_64/develop/lib/libHalf.so" "build_packages/openexr-2.4.1-1-x86_64/develop/lib/libIex.so" "build_packages/openexr-2.4.1-1-x86_64/develop/lib/libIexMath.so" "build_packages/openexr-2.4.1-1-x86_64/develop/lib/libIlmThread.so" "build_packages/openexr-2.4.1-1-x86_64/develop/lib/libImath.so" "objects/haiku/x86_64/release/kits/locale/liblocalestub.a" "objects/haiku/x86_64/release/system/libroot/libroot.so" "build_packages/gcc_syslibs-13.2.0_2023_08_10-3-x86_64/lib/libgcc_s.so.1" "build_packages/gcc_syslibs_devel-13.2.0_2023_08_10-3-x86_64/develop/lib/libgcc.a" "/home/korli/githaiku/haiku/generated_gcc13_64/cross-tools-x86_64/lib/gcc/x86_64-unknown-haiku/13.3.0/crtendS.o" "objects/haiku/x86_64/release/system/glue/arch/x86_64/crtn.o" \
-Xlinker -soname="EXRTranslator"
Added this now in the Makefile, with APP set it builds and works as expected on both arch's
Current situation (64bit)
cc -o "objects.x86_64-cc13-release/EXRTranslator" objects.x86_64-cc13-release/main.o objects.x86_64-cc13-release/ConfigView.o objects.x86_64-cc13-release/EXRGamma.o objects.x86_64-cc13-release/EXRTranslator.o objects.x86_64-cc13-release/IStreamWrapper.o objects.x86_64-cc13-release/BaseTranslator.o objects.x86_64-cc13-release/StreamBuffer.o objects.x86_64-cc13-release/TranslatorSettings.o objects.x86_64-cc13-release/TranslatorWindow.o -Xlinker -soname=_APP_ -L./ -Lobjects.x86_64-cc13-release/ -Lshared/ -lbe -lIex -lIlmThread -lImath -lOpenEXR -lOpenEXRUtil -ltranslation -ltextencoding -llocalestub -lstdc++ -lsupc++ -Xlinker -soname=EXRTranslator
xres -o objects.x86_64-cc13-release/EXRTranslator objects.x86_64-cc13-release/EXRTranslator.rsrc
mimeset -f "objects.x86_64-cc13-release/EXRTranslator"
Pushed latest changes here for a (wip) recipe: https://github.com/Begasus/haikuports/tree/exrtranslator
When using TYPE = APP in the Makefile the addon works fine but produces a wrong SONAME when checking with readelf:
0x000000000000000e (SONAME) Library soname: [_APP_]
When using TYPE = SHARED it produces correct SONAME but the addon doesn't work
0x000000000000000e (SONAME) Library soname: [EXRTranslator]
bash: ./EXRTranslator: cannot execute binary file: Not an executable