vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner

Берем большой-большой проект на C++, назвыается plv8. ТО есть сам plv8 не такой уж большой, но он тащит и линкует статически v8 engine - интерпретатор javascipt от Гугля, это более тысячи файлов на C++. Собираем его в дебиановский пакет под ubuntu 20.04, 22.04, debian 10, 11, 12 - работает. В куче rpm-based дистрибутивов тоже работает. Даже в AltLinux 11 и то работает.

Собираем его в Ubuntu 23.10 или 24.04 - с тем же rules-файлом, сводящимся к

make v8
make all PG_CONFIG=где-там-у-нас-сегодня-постгрес/bin/pg_config

При попытке загрузить в постгрес ругается

ERROR: could not load library "/opt/pgpro/std-15/lib/plv8-3.2.2.so": /opt/pgpro/std-15/lib/plv8-3.2.2.so: undefined symbol: _ZTVN2v88internal32WeakCollectionsBuiltinsAssemblerE

Берем so-шку (вернее даже пакет) скомпилированный в Ubuntu 22.04, ставим в 24.04 к собранному в нем постгресу - работает. То есть не просто грузится, а весь regression test suite проходит.

Почему я специально выделил выше AltLinux 11? ДА потому что в Ubuntu 23.10 и 24.04 gcc 13.2.0, в AltLinux 11 - 13.2.1, а во всех прочих поддерживаемых дистрибутивах нечто более старое. Ну 12.2.0, ну 11.4.0 или что-то такое.

Впрочем в Ubuntu 24.04 есть gcc-12. Попробовал прописать в rules CC=gcc-12 CXX=g++-12. После некоторых пинков заработало. Но лучше не стало. То есть дело тут не в версии компилятора. А скорее всего в каких-то его флагах, которые ubuntu по умолчанию подставляет при сборке пакета. Подозревал -fno-rtti. Но явное добавление -frtti не помогло.

Upd: [livejournal.com profile] permea_kra подкинул ссылку на баг в gcc 13 который, возможно, имеет отношение к проблеме. А, возможно, не имеет.

Upd2: Оказывается в Ubuntu noble есть не только gcc-12, но и gcc-14. Вот после сборки v8 им все работает.

Date: 2024-08-16 11:23 am (UTC)
nataraj: (Default)
From: [personal profile] nataraj

Ага... Это хорошо.

Но там не только на удаление... А вообще фиксировать текущее состояние кмк.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

June 2025

S M T W T F S
1 23 4 56 7
89 1011 12 13 14
1516 17 18 192021
2223 2425 2627 28
2930     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 1st, 2025 05:40 am
Powered by Dreamwidth Studios