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 им все работает.

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

August 2025

S M T W T F S
     1 2
3456789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 3rd, 2025 08:13 pm
Powered by Dreamwidth Studios