euler icon indicating copy to clipboard operation
euler copied to clipboard

请问什么时候可以支持MAC安装

Open xuetf opened this issue 5 years ago • 14 comments

在mac上安装时,报了这个错误: OSError: dlopen($HOME/anaconda2/lib/python2.7/site-packages/euler_gl-0.1.0-py2.7.egg/euler/python/libeuler_service.so, 6): image not found

xuetf avatar Feb 20 '19 09:02 xuetf

目前还不支持在mac上通过pip安装, 不过你可以试着在mac上从源码编译

chengenbao avatar Feb 21 '19 02:02 chengenbao

目前还不支持在mac上通过pip安装, 不过你可以试着在mac上从源码编译

您好,上述错误就是我根据源码安装时候报的。已经安装到python环境中了,但是import的时候报了上述错误。libeuler_service.o文件似乎没有生成成功。 MacOS Sierra 10.12.6 请问有什么解决方法吗?

xuetf avatar Feb 21 '19 02:02 xuetf

你编译后的目录是不是这样的, 这里Mac上生成的动态库是后缀名是dylib, 所以你可以重命名成.so, 然后再试试

On 21 Feb 2019, at 10:11 AM, xuetf [email protected] wrote:

目前还不支持在mac上通过pip安装, 不过你可以试着在mac上从源码编译

您好,上述错误就是我根据源码安装时候报的。已经安装到python环境中了,但是import的时候报了上述错误。libeuler_service.o文件似乎没有生成成功。 MacOS Sierra 10.12.6 请问有什么解决方法吗?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/alibaba/euler/issues/39#issuecomment-465833175, or mute the thread https://github.com/notifications/unsubscribe-auth/AD20y9n6Qto-Vle_AZKzEwVjiJws0i02ks5vPgA8gaJpZM4bEz1y.

chengenbao avatar Feb 21 '19 02:02 chengenbao

不好意思, 我邮件回复的图片好像看不到了, euler_ops目录应该是这样:

chengenbao :: CodeReading/euler/build ‹master*› % ls ../tf_euler/python/euler_ops init.py base_test.py feature_ops_test.py libtf_euler.dylib neighbor_ops_test.py sample_ops_test.py type_ops.py util_ops.py walk_ops.py base.py feature_ops.py libclient.dylib neighbor_ops.py sample_ops.py testdata type_ops_test.py util_ops_test.py walk_ops_test.py

chengenbao avatar Feb 21 '19 02:02 chengenbao

我在mac下cmake时候出错: Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES -- failed to compile Performing Test HAVE_STD_REGEX Performing Test HAVE_STD_REGEX -- success Performing Test HAVE_GNU_POSIX_REGEX Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile

看起来是clang的版本原因,我的mac下载的是最新版的,你们clang的版本是多少? 亦或者是其它原因呢?

ichdream avatar Feb 23 '19 09:02 ichdream

不好意思, 我邮件回复的图片好像看不到了, euler_ops目录应该是这样:

chengenbao :: CodeReading/euler/build ‹master*› % ls ../tf_euler/python/euler_ops init.py base_test.py feature_ops_test.py libtf_euler.dylib neighbor_ops_test.py sample_ops_test.py type_ops.py util_ops.py walk_ops.py base.py feature_ops.py libclient.dylib neighbor_ops.py sample_ops.py testdata type_ops_test.py util_ops_test.py walk_ops_test.py

非常感谢!!!按照您说的方法成功安装。 dylib总共涉及到3个文件, ../euler/python/libeuler_service.dylib ../tf_euler/python/euler_ops/libtf_euler.dylib ../tf_euler/python/euler_ops/libclient.dylib。

  1. 首先编译好后,将源代码里头生成的这三个动态库后缀全部改成.so(注意不要隐藏扩展名)
  2. 然后执行python tools/pip/setup.py install安装到全局环境。 这两个步骤不能反了。因为setup.py默认只把.so后缀的动态文件生成到site-packages目录中,如果顺序反了,dylib就不能生成到site-packages中(当然你可以先修改setup.py中package_data={'': ['.so','.dylib']},然后python tools/pip/setup.py install,最后site-packages目录中重命名dylib后缀为so)。

另外,我的clang版本是9.0.0。(10.0.0可能有问题) 安装过程中遇到的几个问题,总结下来:

  1. git clone第三方包下载不下来。git config --global https.proxy 'socks5://127.0.0.1:1086',git config --global http.proxy 'socks5://127.0.0.1:1086' 设置代理解决
  2. 依赖:依次brew install ant, autoconf, autoconf
  3. 这一个命令需要执行:cd third_party/zookeeper; ant compile_jute
  4. numpy版本过低,module compiled against API version 0xc but this version of numpy is 0xb,更新到最新的1.16后解决。

安装是否成功,测试这两句即可:import tf_euler 和 from euler.tools import json2dat

附上ppi_data数据运行和测试示例: 训练: INFO:tensorflow:f1 = 0.5873748, loss = 0.44488785, step = 1861 (1.342 sec) INFO:tensorflow:f1 = 0.58783764, loss = 0.4291097, step = 1881 (1.363 sec) INFO:tensorflow:f1 = 0.58827573, loss = 0.44245383, step = 1901 (1.419 sec) INFO:tensorflow:f1 = 0.58847344, loss = 0.43060806, step = 1921 (1.454 sec) INFO:tensorflow:f1 = 0.58862627, loss = 0.45149276, step = 1941 (1.371 sec) INFO:tensorflow:f1 = 0.5888643, loss = 0.44193667, step = 1961 (1.367 sec) INFO:tensorflow:f1 = 0.5895335, loss = 0.4531585, step = 1981 (1.331 sec) INFO:tensorflow:f1 = 0.5897197, loss = 0.43708852, step = 2001 (1.305 sec) INFO:tensorflow:f1 = 0.5898746, loss = 0.4289494, step = 2021 (1.367 sec) INFO:tensorflow:f1 = 0.58986944, loss = 0.44657096, step = 2041 (1.430 sec) INFO:tensorflow:f1 = 0.5902515, loss = 0.44089198, step = 2061 (1.509 sec) INFO:tensorflow:f1 = 0.59051055, loss = 0.437684, step = 2081 (1.372 sec) INFO:tensorflow:f1 = 0.59100187, loss = 0.4358262, step = 2101 (1.390 sec) INFO:tensorflow:f1 = 0.591177, loss = 0.43552884, step = 2121 (1.491 sec) INFO:tensorflow:f1 = 0.5914414, loss = 0.44804907, step = 2141 (1.387 sec) INFO:tensorflow:f1 = 0.5917822, loss = 0.42907494, step = 2161 (1.352 sec) INFO:tensorflow:f1 = 0.5917725, loss = 0.43855467, step = 2181 (1.310 sec) INFO:tensorflow:f1 = 0.5918812, loss = 0.43418375, step = 2201 (1.389 sec) INFO:tensorflow:Saving checkpoints for 2220 into ckpt/model.ckpt. 测试: f1: 0.623396575451

xuetf avatar Feb 23 '19 12:02 xuetf

😊

On Sat, Feb 23, 2019 at 8:46 PM xuetf [email protected] wrote:

不好意思, 我邮件回复的图片好像看不到了, euler_ops目录应该是这样:

chengenbao :: CodeReading/euler/build ‹master*› % ls ../tf_euler/python/euler_ops init.py base_test.py feature_ops_test.py libtf_euler.dylib neighbor_ops_test.py sample_ops_test.py type_ops.py util_ops.py walk_ops.py base.py feature_ops.py libclient.dylib neighbor_ops.py sample_ops.py testdata type_ops_test.py util_ops_test.py walk_ops_test.py

非常感谢!!!按照您说的方法成功安装。 dylib总共涉及到3个文件, ../euler/python/libeuler_service.dylib ../tf_euler/python/euler_ops/libtf_euler.dylib ../tf_euler/python/euler_ops/libclient.dylib。

  1. 首先编译好后,将源代码里头生成的这三个动态库后缀全部改成.so(注意不要隐藏扩展名)
  2. 然后执行python tools/pip/setup.py install安装到全局环境。 这两个步骤不能反了。因为setup.py默认只把.so http://setup.xn--py-ok6cs86cdp2czcya.so后缀的动态文件生成到site-packages目录中,如果顺序反了,dylib就不能生成到site-packages中(当然你可以先修改setup.py中package_data={'': ['.so','.dylib']},然后python tools/pip/setup.py install,最后site-packages目录中重命名dylib后缀为so)。

另外,我的clang版本是9.0.0。(高版本) 安装过程中遇到的几个问题,总结下来:

  1. git clone第三方包下载不下来。git config --global https.proxy 'socks5://127.0.0.1:1086',git config --global http.proxy 'socks5:// 127.0.0.1:1086' 设置代理解决
  2. 依赖:依次brew install ant, autoconf, autoconf
  3. 这一个命令需要执行:cd third_party/zookeeper; ant compile_jute
  4. numpy版本过低,module compiled against API version 0xc but this version of numpy is 0xb,更新到最新的1.16后解决。

安装是否成功,测试这两句即可:import tf_euler 和 from euler.tools import json2dat

附上ppi_data数据运行和测试示例: 训练: INFO:tensorflow:f1 = 0.5873748, loss = 0.44488785, step = 1861 (1.342 sec) INFO:tensorflow:f1 = 0.58783764, loss = 0.4291097, step = 1881 (1.363 sec) INFO:tensorflow:f1 = 0.58827573, loss = 0.44245383, step = 1901 (1.419 sec) INFO:tensorflow:f1 = 0.58847344, loss = 0.43060806, step = 1921 (1.454 sec) INFO:tensorflow:f1 = 0.58862627, loss = 0.45149276, step = 1941 (1.371 sec) INFO:tensorflow:f1 = 0.5888643, loss = 0.44193667, step = 1961 (1.367 sec) INFO:tensorflow:f1 = 0.5895335, loss = 0.4531585, step = 1981 (1.331 sec) INFO:tensorflow:f1 = 0.5897197, loss = 0.43708852, step = 2001 (1.305 sec) INFO:tensorflow:f1 = 0.5898746, loss = 0.4289494, step = 2021 (1.367 sec) INFO:tensorflow:f1 = 0.58986944, loss = 0.44657096, step = 2041 (1.430 sec) INFO:tensorflow:f1 = 0.5902515, loss = 0.44089198, step = 2061 (1.509 sec) INFO:tensorflow:f1 = 0.59051055, loss = 0.437684, step = 2081 (1.372 sec) INFO:tensorflow:f1 = 0.59100187, loss = 0.4358262, step = 2101 (1.390 sec) INFO:tensorflow:f1 = 0.591177, loss = 0.43552884, step = 2121 (1.491 sec) INFO:tensorflow:f1 = 0.5914414, loss = 0.44804907, step = 2141 (1.387 sec) INFO:tensorflow:f1 = 0.5917822, loss = 0.42907494, step = 2161 (1.352 sec) INFO:tensorflow:f1 = 0.5917725, loss = 0.43855467, step = 2181 (1.310 sec) INFO:tensorflow:f1 = 0.5918812, loss = 0.43418375, step = 2201 (1.389 sec) INFO:tensorflow:Saving checkpoints for 2220 into ckpt/model.ckpt. 测试: f1: 0.623396575451

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/alibaba/euler/issues/39#issuecomment-466645579, or mute the thread https://github.com/notifications/unsubscribe-auth/AD20y8cd-GsbeT0_cOTizwLkBaA575MLks5vQTgXgaJpZM4bEz1y .

-- Regards

chengenbao

Email: [email protected] Mobile: (+86) 186 177 7183 2311 Address: DaXing District, Beijing, China

chengenbao avatar Feb 23 '19 12:02 chengenbao

请问这个问题解决了吗 @F36

我在mac下cmake时候出错: Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES -- failed to compile Performing Test HAVE_STD_REGEX Performing Test HAVE_STD_REGEX -- success Performing Test HAVE_GNU_POSIX_REGEX Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile

看起来是clang的版本原因,我的mac下载的是最新版的,你们clang的版本是多少? 亦或者是其它原因呢?

gzkai avatar Feb 24 '19 13:02 gzkai

我的gcc版本是这样的:

chengenbao :: ~ % gcc --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1 Apple LLVM version 10.0.0 (clang-1000.11.45.5) Target: x86_64-apple-darwin18.2.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin chengenbao :: ~ %

—————————————————————————————————————————————————— cmake 版本是这样的(通过官网下载dmg安装的)

chengenbao :: ~ % cmake --version cmake version 3.9.4

CMake suite maintained and supported by Kitware (kitware.com/cmake).

On 24 Feb 2019, at 9:18 PM, kai [email protected] wrote:

请问这个问题解决了吗

我在mac下cmake时候出错: Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES -- failed to compile Performing Test HAVE_STD_REGEX Performing Test HAVE_STD_REGEX -- success Performing Test HAVE_GNU_POSIX_REGEX Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile

看起来是clang的版本原因,我的mac下载的是最新版的,你们clang的版本是多少? 亦或者是其它原因呢?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/alibaba/euler/issues/39#issuecomment-466774466, or mute the thread https://github.com/notifications/unsubscribe-auth/AD20yygOz45L-zIU9v_Mz-dxhcBgjM4Jks5vQpFCgaJpZM4bEz1y.

chengenbao avatar Feb 25 '19 02:02 chengenbao

请问这个问题解决了吗 @F36

我在mac下cmake时候出错: Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES -- failed to compile Performing Test HAVE_STD_REGEX Performing Test HAVE_STD_REGEX -- success Performing Test HAVE_GNU_POSIX_REGEX Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile 看起来是clang的版本原因,我的mac下载的是最新版的,你们clang的版本是多少? 亦或者是其它原因呢?

解决了,中途也折腾了很久,最后定位的源头还是编译器的问题。 image

首先,感谢@xuetf 同学👨‍🎓一起费力的排查。 官方版本cmake出来的编译是用cc,cc默认的是使用clang; 我们尝试用cc单独编译这个文件,就会出问题。 然后将cc改成gcc后编译成功。 那MAC下cc跟gcc的区别是什么呢? 我们定位了下,发现mac下cc和gcc都是用的是clang,只不过gcc提前设置了prefix,这个我还没有弄明白是做什么用途?(欢迎懂行的朋友指出)

最后,我在makefile文件里将设置编译器为gcc和g++,问题得到解决。

ichdream avatar Feb 26 '19 03:02 ichdream

据我所知一般cc都是一个链接,指向gcc或者clang(在linux上好像有个命令可以改变这个指向,不是ln哈),我感觉是mac上的gcc可能是包了下clang,并且设置了一些环境变量

chengenbao :: Coding/Python/test % gcc --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1 Apple LLVM version 10.0.0 (clang-1000.11.45.5) Target: x86_64-apple-darwin18.2.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin chengenbao :: Coding/Python/test % cc --version Apple LLVM version 10.0.0 (clang-1000.11.45.5) Target: x86_64-apple-darwin18.2.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin chengenbao :: Coding/Python/test %

这个大概能解释吧

On 26 Feb 2019, at 11:02 AM, Charles [email protected] wrote:

gcc

chengenbao avatar Feb 26 '19 04:02 chengenbao

据我所知一般cc都是一个链接,指向gcc或者clang(在linux上好像有个命令可以改变这个指向,不是ln哈),我感觉是mac上的gcc可能是包了下clang,并且设置了一些环境变量 chengenbao :: Coding/Python/test % gcc --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1 Apple LLVM version 10.0.0 (clang-1000.11.45.5) Target: x86_64-apple-darwin18.2.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin chengenbao :: Coding/Python/test % cc --version Apple LLVM version 10.0.0 (clang-1000.11.45.5) Target: x86_64-apple-darwin18.2.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin chengenbao :: Coding/Python/test % 这个大概能解释吧 On 26 Feb 2019, at 11:02 AM, Charles @.***> wrote: gcc

是的。

ichdream avatar Feb 27 '19 09:02 ichdream

dylib总共涉及到3个文件, ../euler/python/libeuler_service.dylib ../tf_euler/python/euler_ops/libtf_euler.dylib ../tf_euler/python/euler_ops/libclient.dylib。

没有生成这三个文件怎么办

zhengchu1994 avatar Jul 20 '20 09:07 zhengchu1994

@zhengchu1994 你好,我在mac下编译后,也没有找到这三个文件,请问您是否已经解决这个问题了

FocusK avatar Apr 30 '21 06:04 FocusK