Проблема с C++
Aug. 15th, 2024 09:49 pmБерем большой-большой проект на 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: permea_kra подкинул ссылку на баг в gcc 13 который, возможно, имеет отношение к проблеме. А, возможно, не имеет.
Upd2: Оказывается в Ubuntu noble есть не только gcc-12, но и gcc-14. Вот после сборки v8 им все работает.
Прикупил новый ноутбук
Jun. 2nd, 2024 09:29 pmА то в старом Thinkpad L14 за 4 года использования в качестве рабочего места в деревне и в Питере клавиши протерлись до дыр. НУ не совсе до дыр но до прозрачных окошек. И вообще скоро уже вторая четверь XXI века, а у меня в ноутбуке 8Гб памяти. Ну и экран 14" для рабочего ноутбука который постоянно с собой не таскаешь маловат.
Купил теперь Е16. Памяти - 40Гб, восьмиядерный Ryzen 7 (cpu family 25) гипертредингом. 16 логических процессоров.
Начал сетапить и тут же оказалось что Debian Stable его wifi не видит. Вот каждый раз как ноутбук покупаю, такая история. Нашел драйвер rtw8852be на гитхабе.
К счастью, автор драйвера знает что дакое DKMS, и предоставляет готовую возможность собрать свой драйвер в dkms-пакеты, что позволяет надеяться что несколько апгрейдов ядра этот драйвер переживат. А там выйдет trixie, и у него в ядре оно будет готовенькое.
Можно бы было конечно ядро 6.7 с бэкпортов попробовать. но что-то я не рискнул.
К сожалению автор драйвера - убунтувод, а между пакетировочным инструментарием Debian и ubuntu есть много мелких различий. Но установки из ubuntu пакета dh-modalias и установки не прописанного в Build-Depends пакета dh-dkms хватило, чтобы собралось и заработало.
Назвал машинку Хара в честь Беты Гончих Псов.. У меня все машинки именами звезд называются - Антарес, Ахирд, Алкаид, Ицар, Елтанин,Тубан.
Upd: В ядре 6.7 с бэкпортов драйвер rtw8852be.ko - есть.
Намбата не видно, но он есть
Apr. 23rd, 2024 03:41 pmДо выхода ubuntu 24.04 еще два дня, а у нас уже есть первый сервер с этой ОС. Потому что ставить interim release mantic minotaur на сервер как-то некошерно. А поставить туда debian не получается, так как архитектура riscv64 пока отсутствует даже в testing - есть только в sid-е. И у альта - только в Sisyphus. Поэтому зоопарк разрастается по следующему принципу - x86_64 и aarch64 - debian, e2k - alt, riscv - ubuntu. Хотя целевая ОС там конечно alt. Но это еще пока мы портируем наш софт, глядишь у альта в 11 платформе уже эта арихтектура будет.
VS Code и Ubyntu 18.04
Feb. 4th, 2024 05:10 pmМикрософт тут ругают что их VS Code последней версии перестал поддержвать ubuntu 16.04.
Как я микрософту в этом плане сочувствую. Меня тоже достало поддерживать 7-й редхат, 12-й sles и тому подобную компьютерную археологию. Слава богу, убунту 18 года мы прекратили поддерживать еще год назад, через пять лет после его выхода.
Маленький необитаемый остров Эндербери
Oct. 27th, 2023 03:27 pmВот какого черта?
set timezone_abbreviations = 'India';
select count(distinct utc_offset) >= 24 as ok from pg_timezone_abbrevs;
ERROR: time zone "Pacific/Enderbury" not recognized
Где Индия, а где маленький необитаемый остров Эндербери в архипелаге Феникс? Почему из-за того, что этот остров в связи с необитаемостью снесли из timezone database в ubuntu 23.10, у меня в постгресе не прохоит тест на индийские таймзоны?
Главное мейнтейнеры timezone database уже два года как написали в файле News, что поскольку на этом острове уже 80 лет никто не живет, они его скоро выкинут.
24.04 Noble Nobody
Oct. 26th, 2023 03:53 pmUbuntu 23.10 уже две недели как вышло, а какой зверь будет тотемом следующего релиза еще неизветсно Обещают в начале ноября объявить. А прилагательное уже есть - "noble". И репозиторий есть. Сегодня уже два контейнера отсетапил amd64 и arm64.
И второй из этих контейнеров прописан в DNS как noble-arm.
Бегемотное
Mar. 10th, 2021 01:55 pmНедавно читал где-то недоуменный вопрос "Почему мохнатые слоны - мамонты бывают, шерстистые носороги тоже, а вот волосатые бегемоты - нет?"
Так вот, ребята, это ужасный зоологический пробел заполнен.
Ubuntu 21.04 будет иметь коденейм "hirsute hippo" - "волосатый гиппопотам".
Вот бы правда ее еще debootstrap-ом раскрутить. А то оно одновременно пытается ставить librem5-tweaks м pinephone-tweaks, при том что ни то, ни другое мне в серверном контейнере не нать.