build - scylladb 构建是否被硬编码为仅适用于 gnu gcc?

标签 build freebsd clang++ scylla

python configure.py 包含一行

gcc_linker_output = subprocess.check_output(['gcc', '-###', '/dev/null', '-o', 't'], stderr=subprocess.STDOUT).decode('utf-8')

此行之前的注释表明 scylladb 使用自定义动态链接器并引用有关 ABI 布局的详细信息。

configure.py 脚本中是否缺少可以在严格的 llvm 环境上构建的代码,或者目前还不可能?

我在使用 clang++ 13.0.0 的 FreeBSD 13 上构建 Scylladb。 我在 branch master 上,提交 0efdc45d5981868b1b6,Setp 8,2022。 我修补了 SCYLLA-VERSION-GEN 以解决日期 --utf 和 USAGE 问题,并修补了 config.py 并添加了一个条目以从 freebsd 读取 ID 以获取 boost 错误消息。 我用

运行 configure.py
./configure.py --mode=release --compiler=clang++ --cflags=-I/usr/local/include

最佳答案

事实上,ScyllaDB 是用 clang 构建的。然而它的依赖 Seastar 非常依赖 Linux。如果你想让它在 FreeBSD 上运行,你必须先移植 Seastar(参见 reactor_backend.{cc,hh})

关于build - scylladb 构建是否被硬编码为仅适用于 gnu gcc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73674863/

相关文章:

android - Qt/Android 中的 APK 文件未对齐是什么意思?

postgresql - FreeBSD: jail 无法设置 security.jail.sysvipc_allowed

c++11 - 为 C++ 标准库配置 clang-check

ios - (iOS) 为 Facebook 创建模拟器构建

android - Android 应用程序的 TFS 自动build设置

api - 使用 REST API 删除 Artifactory 构建 Artifactory

php - 警告 : stream_socket_enable_crypto(): SSL operation failed with code 1

c - 破管错误

c++ - 允许 32 位应用程序在 FreeBSD 下使用超过 4GB 的内存

c++ - Clang Diagnostics,如何忽略编译器特定的扩展