luminous 早起记录

主要问题是从svn下载的最新版的luminous分支, 编译时报这个错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
undefined reference to OSD::HeartbeatInfo::HEARTBEAT_MAX_CONN
``


这条修复了这个问题[osd: make OSD::HEARTBEAT\_MAX\_CONN inline by tchaikov · Pull Request \#23424 · ceph/ceph](https://github.com/ceph/ceph/pull/23424)

但是只合入了`master`分支, luminos分支没有合入.

但是上面这个好像是高版本解决的问题

`static constexpr int`.

[C\+\+ Linker Error With Class static constexpr \- Stack Overflow](https://stackoverflow.com/questions/8452952/c-linker-error-with-class-static-constexpr)

好像是c++17才修复的问题,

最后我参照下面这个, 在常量外侧加一层int转换. 原理目前不懂

``` c++
return std::min(int(S::X), 0);

pacific分支记录

rpmbuild src.rpm归档

1
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib64 -DCMAKE_INSTALL_LIBEXECDIR=/usr/libexec -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_MANDIR=/usr/share/man -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/ceph -DCMAKE_INSTALL_INCLUDEDIR=/usr/include -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=/usr/lib/systemd/system -DWITH_MANPAGE=ON -DWITH_PYTHON3=3.10 -DWITH_MGR_DASHBOARD_FRONTEND=OFF -DWITH_SELINUX=ON -DWITH_LTTNG=ON -DWITH_BABELTRACE=ON -DWITH_OCF=ON -DWITH_LIBRADOSSTRIPER=ON -DWITH_RADOSGW_AMQP_ENDPOINT=ON -DWITH_RADOSGW_KAFKA_ENDPOINT=ON -DBOOST_J=2 -DWITH_GRAFANA=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=on 

linux macros定义位置/usr/lib/rpm/macros.d/macros.python