Paddle2ONNX icon indicating copy to clipboard operation
Paddle2ONNX copied to clipboard

libpaddle2onnx.dylib (which was built for Mac OS X 12.0)

Open ANDROIDTODO opened this issue 2 years ago • 7 comments

Hi, 我使用最新2.3.0的paddle inference在mac x64平台上。最新的2.3.0的paddle inference动态库包含libpaddle2onnx.dylib `

@rpath/libpaddle_inference.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/libonnxruntime.1.10.0.dylib (compatibility version 0.0.0, current version 1.10.0)
@rpath/libpaddle2onnx.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1300.23.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.100.3)

`

但是当我执行时,报错 dyld: Symbol not found: __ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv Referenced from: /Users/wangshuai/资料夹/Git/OCR/projects/paddle_inference_2.3.0/third_party/install/paddle2onnx/lib/libpaddle2onnx.dylib (which was built for Mac OS X 12.0) Expected in: /usr/lib/libc++.1.dylib

我使用的系统是MAC OS 10.15.7 X64. 你们一定要使用这么高的版本吗? 请问这个我这个在10.x的版本怎么去使用呢?

ANDROIDTODO avatar May 23 '22 07:05 ANDROIDTODO

你好,这个问题你是使用2.3才有的吗,还是在2.2.2版本也有这个问题呢? https://paddle-inference-lib.bj.bcebos.com/2.2.2/cxx_c/MacOS/CPU/x86-64_clang_avx_openb/paddle_inference_c_install_dir.tgz

jiangjiajun avatar May 23 '22 09:05 jiangjiajun

请问你是怎么使用和链接预测库的? 最新2.3的预测库需要额外链接paddle2onnx + onnxruntime的库, 具体链接可以参考inference的demo: https://github.com/PaddlePaddle/Paddle-Inference-Demo/blob/d6c1aac35fa8a02271c9433b0565ff0054a5a82b/c%2B%2B/lib/CMakeLists.txt#L43

也可以直接运行这个demo试试: https://github.com/PaddlePaddle/Paddle-Inference-Demo/tree/d6c1aac35fa8a02271c9433b0565ff0054a5a82b/c%2B%2B/paddle-onnxruntime

heliqi avatar May 23 '22 09:05 heliqi

你好,这个问题你是使用2.3才有的吗,还是在2.2.2版本也有这个问题呢? https://paddle-inference-lib.bj.bcebos.com/2.2.2/cxx_c/MacOS/CPU/x86-64_clang_avx_openb/paddle_inference_c_install_dir.tgz

paddle inference 2.2.2,因为不包含paddle2onnx + onnxruntime,所以是没有这个问题的,当我更新2.3.0之后才出现这个问题

ANDROIDTODO avatar May 23 '22 09:05 ANDROIDTODO

请问你是怎么使用和链接预测库的? 最新2.3的预测库需要额外链接paddle2onnx + onnxruntime的库, 具体链接可以参考inference的demo: https://github.com/PaddlePaddle/Paddle-Inference-Demo/blob/d6c1aac35fa8a02271c9433b0565ff0054a5a82b/c%2B%2B/lib/CMakeLists.txt#L43

也可以直接运行这个demo试试: https://github.com/PaddlePaddle/Paddle-Inference-Demo/tree/d6c1aac35fa8a02271c9433b0565ff0054a5a82b/c%2B%2B/paddle-onnxruntime

Hi,我已经通过link_directories进行链接了。所以不是因为缺少库的问题,而是系统的/usr/lib/libc++.1.dylib不包含某个函数导致的

编译的中途有一条warning: ld: warning: dylib (/Users/wangshuai/jerome/ocr/projects/paddle_inference_2.3.0/paddle/lib/libpaddle_inference.dylib) was built for newer macOS version (12.3) than being linked (12.0)

1653299054533

ANDROIDTODO avatar May 23 '22 09:05 ANDROIDTODO

@heliqi 你好,请问这个问题应该怎么解决啊,我已经用你提供的CMakeLists.txt 去编译了,还是提示上面的问题

ANDROIDTODO avatar May 24 '22 08:05 ANDROIDTODO

@heliqi 你好,请问这个问题应该怎么解决啊,我已经用你提供的CMakeLists.txt 去编译了,还是提示上面的问题

非常感谢你反馈这个问题。 2.3版本的打包环境从OS 10.14升级到12.0, 确实存在不兼容10.x环境的情况。

  1. 可以先使用2.2.2版本(mac os 10.14),等我们2.3.1修复后再使用2.3版本
  2. 从源码自己编译 https://www.paddlepaddle.org.cn/inference/user_guides/source_compile.html#macosx-10-14

heliqi avatar May 24 '22 08:05 heliqi

@heliqi 好的。谢谢你的回复

ANDROIDTODO avatar May 24 '22 09:05 ANDROIDTODO