ddddocr icon indicating copy to clipboard operation
ddddocr copied to clipboard

没有实现彻底的全静态连接,依然有dynamically linked,如何实现statically linked?

Open gowy222 opened this issue 10 months ago • 3 comments

似乎ort官方那边就无法实现全静态?

root@9247a9e79406:/workspace/ddddocr# ldd target/release/ddddocr
        linux-vdso.so.1 (0x00007fff70bc2000)
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1540aec000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1540acc000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f15409ed000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f154080c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f15477d0000)
root@9247a9e79406:/workspace/ddddocr# du -h target/release/ddddocr
113M    target/release/ddddocr
root@9247a9e79406:/workspace/ddddocr# strip target/release/ddddocr
root@9247a9e79406:/workspace/ddddocr# file target/release/ddddocr
target/release/ddddocr: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bfce529143fbe62928033aae5350c700970bd7b, for GNU/Linux 3.2.0, stripped
root@9247a9e79406:/workspace/ddddocr# file target/release/ddddocr | grep "statically linked"
root@9247a9e79406:/workspace/ddddocr# file target/release/ddddocr | grep "pie executable"
target/release/ddddocr: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bfce529143fbe62928033aae5350c700970bd7b, for GNU/Linux 3.2.0, stripped
root@9247a9e79406:/workspace/ddddocr# file target/release/ddddocr | grep "dynamic"
target/release/ddddocr: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bfce529143fbe62928033aae5350c700970bd7b, for GNU/Linux 3.2.0, stripped
root@9247a9e79406:/workspace/ddddocr# 

有解决方案?

gowy222 avatar Feb 23 '25 03:02 gowy222

这确实是个问题,还得好好研究一下

---原始邮件--- 发件人: @.> 发送时间: 2025年2月23日(周日) 中午11:08 收件人: @.>; 抄送: @.***>; 主题: [86maid/ddddocr] 没有实现彻底的全静态连接,依然有dynamically linked,如何实现statically linked? (Issue #25)

似乎ort官方那边就无法实现全静态? @.:/workspace/ddddocr# ldd target/release/ddddocr linux-vdso.so.1 (0x00007fff70bc2000) libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1540aec000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1540acc000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f15409ed000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f154080c000) /lib64/ld-linux-x86-64.so.2 (0x00007f15477d0000) @.:/workspace/ddddocr# du -h target/release/ddddocr 113M target/release/ddddocr @.:/workspace/ddddocr# strip target/release/ddddocr @.:/workspace/ddddocr# file target/release/ddddocr target/release/ddddocr: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bfce529143fbe62928033aae5350c700970bd7b, for GNU/Linux 3.2.0, stripped @.:/workspace/ddddocr# file target/release/ddddocr | grep "statically linked" @.:/workspace/ddddocr# file target/release/ddddocr | grep "pie executable" target/release/ddddocr: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bfce529143fbe62928033aae5350c700970bd7b, for GNU/Linux 3.2.0, stripped @.:/workspace/ddddocr# file target/release/ddddocr | grep "dynamic" target/release/ddddocr: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bfce529143fbe62928033aae5350c700970bd7b, for GNU/Linux 3.2.0, stripped @.:/workspace/ddddocr#
有解决方案?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***> gowy222 created an issue (86maid/ddddocr#25)

似乎ort官方那边就无法实现全静态? @.:/workspace/ddddocr# ldd target/release/ddddocr linux-vdso.so.1 (0x00007fff70bc2000) libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1540aec000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1540acc000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f15409ed000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f154080c000) /lib64/ld-linux-x86-64.so.2 (0x00007f15477d0000) @.:/workspace/ddddocr# du -h target/release/ddddocr 113M target/release/ddddocr @.:/workspace/ddddocr# strip target/release/ddddocr @.:/workspace/ddddocr# file target/release/ddddocr target/release/ddddocr: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bfce529143fbe62928033aae5350c700970bd7b, for GNU/Linux 3.2.0, stripped @.:/workspace/ddddocr# file target/release/ddddocr | grep "statically linked" @.:/workspace/ddddocr# file target/release/ddddocr | grep "pie executable" target/release/ddddocr: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bfce529143fbe62928033aae5350c700970bd7b, for GNU/Linux 3.2.0, stripped @.:/workspace/ddddocr# file target/release/ddddocr | grep "dynamic" target/release/ddddocr: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bfce529143fbe62928033aae5350c700970bd7b, for GNU/Linux 3.2.0, stripped @.:/workspace/ddddocr#
有解决方案?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

86maid avatar Feb 23 '25 03:02 86maid

这确实是个问题,还得好好研究一下

官方回复: you'll have to build ONNX Runtime from source, since the prebuilt binaries target the (dynamically linked) GNU libc.

大佬,musl 彻底编译一个onnx?

gowy222 avatar Feb 23 '25 03:02 gowy222

@86maid 大佬参考下 https://github.com/RapidAI/OnnxruntimeBuilder

gowy222 avatar Feb 23 '25 03:02 gowy222

ok

86maid avatar Oct 19 '25 06:10 86maid