LINUX.ORG.RU

Избранные сообщения LongLiveUbuntu

GCC 15 ломает код сишникам

Форум — Development

Привет, ЛОР!

Из-за того, что GCC по умолчанию переходит на стандарт C23 для компилируемого кода, возникли некоторые интересные нюансы. Так например, начиная с C23 пустой список аргументов у функции теперь будет считаться объявлением с void. То есть, следующие два объявления будут эквивалентными:

void f1() { }
void f2(void) { }

Это крохотное изменение внезапно сломало вагон и маленькую тележку программ под Linux, где используется этот трюк для передачи в функцию по указателю различных аргументов:

typedef int (*fptr)();

int f1(void) { return 1; }
int f2(int a) { return 2 + a; }

int main(void) {
  fptr f;
  int r = 0;
  f = f1;
  r += f();
  f = f2;
  r += f(1);

  return r;
}

Подобный код больше не будет собираться. Сломанными оказались такие программы как: Linux (ядро), bash, iwd, samba, bluez, rustc, gnupg, vde2, sudo, gdb, postgresql, guile, w3m, freeglut, neovim, dnsmasq и куча других.

Бонусом к этому будет добавленный в mbedtls (и не только) баг, вызванный иным порядком инициализации union.

int main() {
  union {
    int dummy;
    struct { int fs[4]; } s;
  } v = { 0 };
  printf("%d\n", v.s.fs[3]);
  return 0;
}

В gcc 14 и ранее код выведет 0, начиная с gcc 15 – мусор.

Плюс ко всему, bool, true и false теперь ключевые слова, что тоже ломает кучу кода. В общем, сишников ждут интересные времена и много работы по исправлению костылей. Возрадуемся же!

За наводку можно поблагодарить забавнишегося @sf:

 , ,

hateyoufeel
()

СИ++ параллельные вычисления (многопоточность)

Форум — Development

имеется программа, которая работает в однопоточном режиме, однако отказывается делиться на потоки.

классы Card, Hand, Deck не описал в данном примере, потому что и так уже громоздко получилося. Если необходимо их описать, добавлю.

данная программа выдает ошибку:

/usr/include/c++/8.2.1/thread:120:17: error: static assertion failed: std::thread arguments must be invocable after conversion to rvalues
  static_assert( __is_invocable<typename decay<_Callable>::type,
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           typename decay<_Args>::type...>::value,
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


не пойму, что хочет оно? какие аргументы он имеет ввиду, как преобразованые в rvalue?

весь проект

 , ,

safocl
()

Не всегда есть звук в TLauncher Minecraft (не кидайте тапками)

Форум — Games

Добрый день, господа. Я люблю иногда сыграть в Майнкрафт. Моя ось - Убунту 22.04. И обычно когда я играю в какие-то игры, то я фоном включаю на ПК какой-нибудь фильм или сериал, либо слушаю музыку. Но я столкнулся с такой проблемой, что я должен выбирать, либо я слушаю что-то фоном, но без звуков игры, либо я ничего не могу слушать (музыка, видео просто не проигрываются дальше, то есть, они просто встают и «грузятся»), но слышу звуки из игры. Наверное, это связано с каналами звука. Пробовал с Римворлд и Факторио, но они не мешали вочпроизведению звука. Версия TLauncher последняя, Майнкрафт, если важно, 1.19.2. Джава тоже самой последней версии. Я не смотрел, что будет с, допустим, дискордом при таких условиях (будет ли слышно собеседника и наоборот). Голосовые сообщения в Телеграм записывать я не могу, пока запущена игра.

 , , ,

Diphenylamin
()

почему банковские карты такое решето?

Форум — Talks

Как мне видится безопасная карта: это криптопроцессор, разблокируемый по пинкоду и подписывающий транзакцию. Подглядывание пинкода без кражи карты ничего не даст, скопировать криптопроцессор тоже не выйдет у мошенников. Единственный способ украсть деньги с карты остается подсмотреть пинкод и украсть саму карту, что довольно сложно сделать незаметно. Кража карты без пинкода или пинкода без карты ничего не даст.

По поводу безопасности платежей в интернете, видится безопасным обязательного ввода одноразового пароля. Тогда кража данных карты ничего не даст, без одноразового пароля все равно ничего не оплатить.

Итого, сплошные профиты в плане безопасности.

Почему так не делают, предлагая вместо этого в случае чего писать жалобу в банк, оспаривать оплату итд? Ведь известно же, что профилактика куда лучше лечения.

Ведь когда я хочу залогиниться на компе, мне же предлагают ввести пароль, а не спрашивают «а ты точно cvs-255? если нет, не логинься»

 

cvs-255
()

gtk2 сам себя не форкнет

Форум — Development

Что ж, этот день настал. Будем делать gtk 2.26.

Минимальный план работ такой:

  • Обеспечить масштабирование заданных в настройках тулкита размеров иконок в соответствии с DPI.
  • Обеспечить масштабирование заданных темой пиксельных размеров в соответствии с DPI.
  • Предоставить для приложения API для масштабирования размеров из условных пикселей (под 96 DPI) в реальные в соответствии с DPI.
  • Исправить мелкие косяки в теме Redmond, которые остались с тех пор, как отрисовка темы была переведена на cairo.
  • Дополнить дефолтный пакет тем стилями для gtk3, максимально приближенно имитирующими классические темы.
  • Бэкпортировать из gtk3 некоторые улучшения в диалогах открытия/сохранения файлов.

Приглашаются все желающие. Пишите ваши соображения.

Разные частичные наработки у меня есть, но я их пока нигде не публиковал. Причешу немного и выложу на гитхаб.

P.S. @hobbit, верни тэг gtk2 в БД сайта!!!

 , , ,

wandrien
()

Как с помощью yt-dlp скачивать музыку с Youtube music сразу с метаданными о названии трека, альбома, имени исполнителя?

Форум — General

Можно ли это как-то сделать? можно ли как-то сделать чтобы обложка автоматически в внутри mp3 была?

 

vetyna
()

Фикс yt-dlp dzen.ru который сломался 2024-04-10

Форум — Multimedia

В инете ничего по этому поводу не нашёл, сделал фикс сам.

Сам патч https://firk.cantconnect.ru/yt-dlp/yt-dlp-fix-dzen.patch

Пропатченая версия последнего (2024.04.09) yt-dlp если кому лень: https://firk.cantconnect.ru/yt-dlp/yt-dlp-2024.04.09.patched

Как патчить вручную:

Кладём yt-dlp в текущую директорию

7z x yt-dlp # unzip ругается на шебанг, поэтому 7z
patch -p0 < yt-dlp-fix-dzen.patch
zip -r yt-dlp.patched.zip __main__.py yt_dlp
echo '#!/usr/bin/env python3' > yt-dlp.patched
cat yt-dlp.patched.zip >> yt-dlp.patched 
chmod +x yt-dlp.patched

Отправить им патч не могу - они всё принимают только через гитхаб а я там региться не собираюсь. А так может кому пригодится.

 , ,

firkax
()

ZFS дома на один диск для share/media

Форум — Linux-hardware

zfs на несколько физических дисков в связке или на один надежный HDD (скажем, WD-Red-Pro) + UDIMM-ECC (+M/B +CPU с поддержкой ECC) вполне самодостаточно должно быть для сохранности файлов?

Идея такая: GPT -> 1LUKS_раздел -> 1Блок_zfs

И пользуясь случаем, нет ли у кого-нибудь руководства, лога, gist, примера настройки zfs+ecc на одном устройстве?

 , , , ,

NK
()

Ревью кода или психология мидла

Форум — Development

Всем привет!

В общем такое дело, есть мидл в условном подчинение т.е. формально мы на одном уровне, но взяли его в помощь моему проекту.

И любит он делать херовый код (плохой нейминг, непонятные и ненужные абстракции, каша в логике). Если пнуть, то обычно исправляет. Но я уже заманался его пинать, одни и те же ошибки в каждом МР. Уволить?! Как говорит начальство — не можем, бюджет не позволяет платить больше кому-то, а найти нового человека сейчас очень сложно.

Стараюсь дать ему возможность подумать и самому сделать так, чтобы было красиво, но получается все равно какая-то каша которую по 3-4 часа ревьювишь и пишешь куски кода для того чтобы он порефакторил правильно.

Но и видимо он сам устал от того что я его постоянно пинаю и пытается затягивать тимлидов на обсуждение ревью и затащить говнокод таким образом, пока безуспешно, но это еще несколько часов на созвоны в довесок к потраченному времени на ревью. Итого на один его мерж я могу потратить практически рабочий день.

Что обычно делают в таких ситуациях? Писать что все фигня, давай по новой и закрывать мерж? Или есть какие-то техники? Подскажите или тыкните что почитать?

 ,

AntonyRF
()

Вышел Godot Engine 4.2

Новости — Open Source
Группа Open Source

Вышел Godot Engine 4.2 с AMD FSR 2.2 и множеством новых функций.

Godot Engine (читается «Годо», от фр. Godot) – игровой движок с открытым исходным кодом.

( читать дальше... )

Видео с иллюстрацией возможностей движка

>>> Источник

 , ,

Kapusha
()

Зря некоторые думали, будто Китай застрял на 90нм в полностью отечественном техпроцессе. Обещают 28нм.

Форум — Talks

Сабж

Напомню, некоторые сомневались в том, что Китай сумеет создать отечественный техпроцесс менее чем в 90нм. Однако, появились обнадёживающие новости:

Строго говоря, откровения некоторых источников о способности китайской компании SMIC выпускать чипы, по своим свойствам мало уступающим 7-нм продукции TSMC, уже подготовили отрасль к новым прорывам в этой сфере, но публикации в китайских СМИ на этой неделе всё равно взбудоражили фондовый рынок слухами о готовности одного из китайских поставщиков оборудования начать отгрузку машин для выпуска 28-нм чипов до конца текущего года.

Как сообщает опирающийся на вторичные источники информации Bloomberg, в понедельник китайский ресурс Security Daily сообщил о готовности местной компании Shanghai Micro Electronics Equipment Group до конца года поставить клиентам первую систему для производства 28-нм продукции без использования зарубежных технологий и компонентов. При этом не уточнялось, насколько массовыми будут эти поставки и как скоро такое оборудование начнут повсеместно использовать китайские производители чипов.

В любом случае, акции китайских производителей оптики Mloptic, Kinsgsemi и Castech выросли в цене на 5–15 %, как сообщает Bloomberg. Инвесторы поверили в появление у китайской полупроводниковой отрасли новых перспектив по обеспечению собственного технологического суверенитета. Конечно, по мировым меркам 28-нм техпроцесс нельзя назвать передовым, но даже в структуре услуг тайваньской TSMC он занимает 11 % выручки, а на китайском рынке пользуется гораздо более высоким спросом. Как правило, санкции США и их внешнеполитических союзников пока не распространяются на поставки в Китай оборудования, предназначенного для выпуска именно 28-нм чипов, но нельзя исключать, что дальнейшая эскалация противостояния сделает импортозамещение актуальным и в этой сфере.

 , , ,

tiinn
()

Продам AMD Ryzen 7 2700

Форум — Talks

https://www.avito.ru/moskva/tovary_dlya_kompyutera/protsessor_amd_ryzen_7_270...

Если с лора, могу немного скинуть.

 ,

K50
()

Что происходит в тестах на разных CPU?

Форум — Linux-hardware

Наткнулся на статью про сравнение языков: https://habr.com/ru/articles/532432/ Там на разных языках проверка числа на простое.

Получаю какие-то странные результаты (моя локальная машина и два разных VPS)

testAMD Ryzen 5 PRO 4650G (bogomips 7389.19)AMD EPYC 7763 (bogomips 4890.81)Intel Xeon CPU E5-2650 v2 (bogomips 5187.65)
go run test32.go4.154385519s1.823679616s3.120310686s
go run test64.go4.148815286s2.0692464s9.031017128s
node test.js4.1382.0365.387
./test-cpp4.16982 sec2.19747 sec3.18896 sec
  1. Почему рабочая машина так здорово проигрывает явно более слабым ЦПУ на VPS’ках? Энергосбережение? Не успевает разогнаться в MHz?

  2. Почему на процессорах AMD почти не играет роли int32/int64 в Go, а на Intel заметно играет?

 ,

Toxo2
()

Вопрос к разработчикам python

Форум — Development

Постоянно сталкиваюсь с проблемой 8 из 10 программ на питоне не запускаются без интима головного мозга с гуглением и установкой зависимосте питона которые капризные как принцесса на горошине,
то ему версия пакета не та, то он дружить не хочет с каким то пакетом и рамсит с ним, быть на одной системе с пакетом которого он не любит не хочет. То вобще ему система ненравится и вызывает дискомфорт и нежелание работать то еще че небуть. Почему юзер френдли не просто отсутсвует, а матом только описать можно.
Впечетление что программы для питона пишутся для разработчиков питона которые могуд разобраться в коде и зависимостях под него.

вот для примера 3 ПО

OpenSnitch (most active)
Fireprompt (empty website, binary .deb package only)
Douane (seems to be dead)

ни одну не смог запустить на ubuntu1~22.04, причина в основном что старые пакеты им надо.

 

Regacar
()

Неудачный пример локализации CDE на OpenBSD

Галерея — Скриншоты

Здравствуйте, уважаемые разработчики.
Символы кириллицы отображаются, пусть и пока вместе с японским. Символы деванагари пока - нет, как я ни пыталась их впихнуть.
Ну и только что собранный Xephem 3.7.7. Пусть и не ясно пока, зачем он мне нужен. :)

Да, и спасибо большое тем, кто давал советы.

Операционная система - OpenBSD 7.3. Среда рабочего стола: CDE.

>>> Просмотр (1600x900, 527 Kb)

 , , xephem, ,

aza_turajeva
()

Добавление поддержки кириллицы (русификация) в CDE в OpenBSD

Форум — Desktop

Добрый день, уважаемый разработчик. Я - слесарь, а не программист, поэтому приношу прощения за откровенно идиотские вопросы.

Я сумела собрать и запустить CDE (Common Deskton Environment) на OpenBSD 7.3, следуя Вашим инструкциям. Я хотела бы уточнить, как провести поддержку символов деванагари(хинди) и кириллицы, и возможно ли это вообще.

И не подскажите каким образом можно вообще русифицировать или непализировать консоль (/dev/ttyC0..ttyC6), т.е. включить поддержку символов Unicode. А то на другом окружении рабочего стола (i3) у меня есть поддержка хотя бы кириллицы, а в CDE - только японского (собирала именно версию под японский в надежде разобраться, где лежит поддержка), а в терминале - только английского. Символы кириллицы отображаются в двух последних случаях некорректно. А что делать с символами деванагари я вообще не могу елка.

Насколько я поняла, необходима именно поддержка шрифтов в CDE, и, похоже, их можно вязть от xenodm (?), вот только где их прописать и взять?

До того следовала инструкциям с сайта [opennet.ru](http://www.opennet.ru/base/rus/cyr_openbsd.txt.html) Но нигде нет инструкции для текущей версии OpenBSD.

Команда wsfontload выдает wsfontload: WSDISPLAYIO_LDFONT: Invalid argument. Я почитала форумы и попробовала отключить inteldrm, но тогда не добилась не то, что наличия кириллицы, вообще резко упало разрешение экрана и не запустился ни xenodm, ни dtlogin.

.profile file:{

# $OpenBSD: dot.profile,v 1.8 2022/08/10 07:40:37 tb Exp $
#
# sh/ksh initialization

PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
export PATH HOME TERM

export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
export LC_MESSAGES=ru_RU.UTF-8

set -o vim

}

rc.conf.local{

pkg_scripts=
localhost$ cat /etc/rc.conf.local
#pkg_scripts=dtlogin cmsd
ftpd_flags=
inetd_flags=
pkg_scripts=cmsd
portmap_flags=
sndiod_flags=-s default -m play,mon -s mon

xenodm_flags=YES     ##NO for dtlogin; now I started xenodm, so.
#pkg_scripts=dtlogin ##for dtlogin
[/cut]

}

Характеристики моего компьютера и системы.
{
model:"HP Compaq 100eu",
cpuspeed:1666,
cpu: "Intel(R) Atom(TM) CPU D410 @ 1.66GHz",
ram_capacity:2048 /*Mb*/,
ram_type:"DDR2",

}

Вывод df -h{

Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sd1a      986M   130M    806M    14%    /
/dev/sd1k     87.5G   51.9G   31.3G    63%    /home
/dev/sd1d      3.9G    6.6M    3.7G     1%    /tmp
/dev/sd1f     14.8G    1.4G   12.7G    11%    /usr
/dev/sd1g      986M    324M    613M    35%    /usr/X11R6
/dev/sd1h     19.4G    6.5G   11.9G    36%    /usr/local
/dev/sd1j      5.8G    2.0K    5.5G     1%    /usr/obj
/dev/sd1i      2.9G    339M    2.4G    13%    /usr/src
/dev/sd1e      6.6G   85.3M    6.2G     2%    /var

}

 , , , ,

aza_turajeva
()

std::string length возвращает 16777215

Форум — Development

)) как такое может быть??? с чего вдруг пустая строка может возвращать такую длину

уже все проверил, вроде ничего память не переписывает

 

wolverin
()

Rust был отфоркан

Форум — Development

Привет, ЛОР!

Язык Rust был подвергнут обфоркиванию, продукт этого действа называется CrabLang. Наблюдать можно здесь: https://crablang.org/

Cargo был также переименован в Crabgo. В остальном, крабовая тематика сохраняется.

Среди причин для форка отмечено повышенное влияние корпораций и возникшая бюрократия вокруг языка, препятствующие быстрому внесению изменений.

 ,

hateyoufeel
()

The Register: сравнение потребления ресурсов различных DE под Ubuntu

Новости — Ubuntu Linux
Группа Ubuntu Linux

Издание The Register произвело сравнение потребление сред рабочего стола в 2022 году на примере дистрибутива Ubuntu 22.04. В забеге участвовали:

( читать дальше... )

>>> Подробности на сайте The Register

 , , ,

anonymous
()

Gentoo. Игнорируются LLVM_TARGETS

Форум — General

Время обновлять LLVM, LLVM сам себя не обновит!

В portage стабилизировали четырнадцатую версию, решил обновиться. И был крайне удивлён набором архитектур, планирующихся к установке.

LLVM_TARGETS="(AArch64) (AMDGPU) (ARM) (AVR) (BPF) (Hexagon) (Lanai) (MSP430) (Mips) (NVPTX) (PowerPC) (RISCV) (Sparc) (SystemZ) (VE*) (WebAssembly) (X86) (XCore) (-ARC) (-CSKY) (-M68k)

Рядовому пользователю из этого многообразия чаще всего нужны llvm_targets_X86 и llvm_targets_AMDGPU либо llvm_targets_NVPTX. А остальное никак не используется, но неплохо так увеличивает время сборки.

Флаги прописаны в package.use, и не трогались уже очень давно. Задаём вручную, непосредственно как префикс для emerge — ноль реакции.

Ага! Если оно так себя ведёт — идём грепать профили (/usr/portage/profiles) на предмет наличия llvm_targets в use.force либо в package.use.force. Где и находим следующее непотребство:

/usr/portage/profiles/base/package.use.force

# Michał Górny <mgorny@gentoo.org> (2021-11-04)
# Enable all LLVM targets unconditionally.  Unfortunately, disabling
# targets tend to break reverse dependencies (e.g. Rust) and we are yet
# to find a clean way of resolving that.  Compared to the damage
# potential, the increase of build time is a minor problem.  Users who
# really insist of building a smaller system can un-force the flags
# at their own responsibility.
>=sys-devel/clang-13.0.1_rc llvm_targets_AArch64 llvm_targets_AMDGPU
>=sys-devel/clang-13.0.1_rc llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF
>=sys-devel/clang-13.0.1_rc llvm_targets_Hexagon llvm_targets_Lanai
>=sys-devel/clang-13.0.1_rc llvm_targets_MSP430 llvm_targets_Mips
>=sys-devel/clang-13.0.1_rc llvm_targets_NVPTX llvm_targets_PowerPC
>=sys-devel/clang-13.0.1_rc llvm_targets_RISCV llvm_targets_Sparc
>=sys-devel/clang-13.0.1_rc llvm_targets_SystemZ llvm_targets_WebAssembly
>=sys-devel/clang-13.0.1_rc llvm_targets_X86 llvm_targets_XCore
>=sys-devel/clang-14 llvm_targets_VE
>=sys-devel/llvm-13.0.1_rc llvm_targets_AArch64 llvm_targets_AMDGPU
>=sys-devel/llvm-13.0.1_rc llvm_targets_ARM llvm_targets_AVR llvm_targets_BPF
>=sys-devel/llvm-13.0.1_rc llvm_targets_Hexagon llvm_targets_Lanai
>=sys-devel/llvm-13.0.1_rc llvm_targets_MSP430 llvm_targets_Mips
>=sys-devel/llvm-13.0.1_rc llvm_targets_NVPTX llvm_targets_PowerPC
>=sys-devel/llvm-13.0.1_rc llvm_targets_RISCV llvm_targets_Sparc
>=sys-devel/llvm-13.0.1_rc llvm_targets_SystemZ llvm_targets_WebAssembly
>=sys-devel/llvm-13.0.1_rc llvm_targets_X86 llvm_targets_XCore
>=sys-devel/llvm-14 llvm_targets_VE

Очень странное решение, честно говоря, учитывая что Rust по умолчанию тянет свою собственную LLVM. Первый раз, за всё время общения с Gentoo, приходится вообще трогать package.use.force.

Отключается просто: (НА СВОЙ СТРАХ И РИСК!) прописываем в /etc/portage/profile/package.use.force всё вышеупомянутое, но флаги предваряем знаком «минус».

Наслаждаемся ощущением отстреленной ноги, несобирающегося Rust (не проверял) и сократившимся временем сборки LLVM и Clang.

 , , , ,

Quote
()