Anaconda下编译.pyx文件的问题

问题:在Anaconda的环境下编译.pyx文件时遇到如下错误:

gcc -pthread -shared -B /opt/miniconda3/envs/xxx/compiler_compat -L/opt/miniconda3/envs/xxx/lib -Wl,-rpath=/opt/miniconda3/envs/xxx/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-2.7/xxx.o build/temp.linux-x86_64-2.7/xxx.o -L/opt/miniconda3/envs/xxx/lib -lm -lpython2.7 -o xxx.so
/opt/miniconda3/envs/xxx/compiler_compat/ld: build/temp.linux-x86_64-2.7/xxx.o: unable to initialize decompress status for section .debug_info
...
build/temp.linux-x86_64-2.7/xxx.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

解决方法:产生这个问题的原因是使用Anaconda环境中的compiler_compat造成的,解决方法是改用/usr/bin/:

gcc -pthread -shared -B /usr/bin/ -L/opt/miniconda3/envs/xxx/lib -Wl,-rpath=/opt/miniconda3/envs/xxx/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-2.7/xxx.o build/temp.linux-x86_64-2.7/xxx.o -L/opt/miniconda3/envs/xxx/lib -lm -lpython2.7 -o xxx.so

参考:https://github.com/MTG/sms-tools/issues/85

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。