gensim 请不要硬编码libc++,

7cwmlq89  于 4个月前  发布在  其他
关注(0)|答案(4)|浏览(38)

当前,-stdlib=libc++标志在macOS上是无条件传递的。
参考:https://github.com/piskvorky/gensim/blob/develop/setup.py
这是不理想的,因为尽管苹果确实从10.7开始使用libc++,但不必要的硬编码会破坏对libstdc++的编译。

fv2wmkja

fv2wmkja1#

应该使用哪个相关行来在大多数地方工作?你能在PR中提出一个拟合吗?

gkl3eglg

gkl3eglg2#

@gojomo 能否将其设置为在Clang被使用(即不是GCC)的情况下生效?这样就可以解决问题,因为macOS上的Clang总是使用libc++,而且据我所知,它总是支持-stdlib=标志,而GCC默认情况下不支持-stdlib=,可能链接到libstdc++libc++(前者是默认行为,后者可以在GCC使用-stdlib=支持构建时使用)。

我可以确认,使用GCC构建的程序不需要传递-stdlib=

h5qlskok

h5qlskok3#

我不是MacOS构建选项方面的Maven,尽管MacOS是我的主要系统,但在使用/构建Gensim时,我几乎总是在Linux虚拟机上进行。所以我无法想象你的建议在更改的文件中意味着什么,也无法用自己的判断来评估它。但是,一个具体的PR可以自动验证为仍然通过测试,仍然创建成功的官方MacOS wheel构建,然后(通过你自己和其他人的意见)推荐为在不常见/非官方wheel构建环境中也更好的选择。

ibps3vxo

ibps3vxo4#

@gojomo 我会看看如何让它有条件。

相关问题