The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Обновление Postfix 3.10.7 с устранением проблемы со сборкой в новых дистрибутивах Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Обновление Postfix 3.10.7 с устранением проблемы со сборкой в новых дистрибутивах Linux"  +/
Сообщение от opennews (??), 08-Дек-25, 09:31 
Опубликованы корректирующие выпуски поддерживаемых веток почтового сервера Postfix 3.x -  3.10.7, 3.9.8, 3.8.14 и 3.7.19. В новых версиях устранена проблема со сборкой из исходного кода, возникающая в новых версиях дистрибутивов Linux, перешедших на набор компиляторов GCC 15, по умолчанию переведённого на использование стандарта С23...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=64393

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

2. Сообщение от Аноним (2), 08-Дек-25, 09:41   +2 +/
> Проблема в том, что в стандарте С23 определено новое зарезервированное ключевое слово "bool", которое сопоставлено с типом, имеющим размер 1 байт.

Ну наконец-то. Пол века прошло...

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #8, #20

3. Сообщение от Аноним (2), 08-Дек-25, 09:43   +1 +/
> Так как связанное с поддержкой нового типа "bool" изменение охватывает много строк кода, решено не переносить его в стабильные ветки

Норм так проблемы на этом поле.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

4. Сообщение от Аноним (4), 08-Дек-25, 09:50   +/
В книжке BLFS 12.4 инструкция по сборке Postfix с поддержкой GCC 15 еще с сентября прописана.
Ответить | Правка | Наверх | Cообщить модератору

5. Сообщение от Аноним (5), 08-Дек-25, 10:10   +/
>в стандарте С23 определено новое зарезервированное ключевое слово "bool", которое сопоставлено с типом, имеющим размер 1 байт

Сие есть кpетинизм

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #12

6. Сообщение от Аноним (6), 08-Дек-25, 10:12   +/
При сборке нельзя указать стандарт? Нужно обязательно менять код под самый новый gcc?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7

7. Сообщение от Аноним (7), 08-Дек-25, 10:16   +6 +/
А последнюю строку прочитать не судьба?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

8. Сообщение от Анонисссм (?), 08-Дек-25, 10:18   +2 +/
>Пол века прошло...

ещё через полвека догадаются на bool один бит потрптить )

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

10. Сообщение от 1 (??), 08-Дек-25, 10:29   +/
Странно, что ни в postfix ни в gcc нет что-то типа пространства имен, что бы исключить пресечения.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #13, #24

11. Сообщение от Аноним (11), 08-Дек-25, 10:33   +/
Как вы себе это представляете?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #15

12. Сообщение от Аноним (12), 08-Дек-25, 10:37   +/
Сие есть стандарт. Ты или поддерживаешь код в соответствии со стандартами, или нет. Если не поддерживаешь, объективно твой код перестает следовать стандарту.

Зачем существуют стандарты, надеюсь, объяснять не нужно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #14

13. Сообщение от Аноним (7), 08-Дек-25, 10:52   +/
Покажи как?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

14. Сообщение от User (??), 08-Дек-25, 10:56   –1 +/
Нет, прошу обьясните нам!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #22, #23

15. Сообщение от Аноним (-), 08-Дек-25, 11:11   –1 +/
Префиксы, например как в GLib: gchar, gint, gsize, gboolean.
Язык созданный для написания хелловордов, другого пространства имён там нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #18

16. Сообщение от 12yoexpert (ok), 08-Дек-25, 11:35   +/
> В коде Postfix определён собственный тип "bool",

нафига? <stdbool.h> с какого года существует? 98-99? поотбивать руки

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17

17. Сообщение от Аноним (17), 08-Дек-25, 11:54   +/
> нафига? <stdbool.h> с какого года существует? 98-99?

Ну как нафига? Уважающие себя сишочники всегда писали код так, чтобы он собирался на воображаемых некросистемах системах с воображаемыми некрокомпиляторми, поддерживающими лишь C89. Ну а потом через десятки лет уже другим людям приходит понимание, что страдать такой глупостью больше нецелесообразно - и приходится выпиливать все эти бесполезные костыли.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #19

18. Сообщение от ZloySergant (ok), 08-Дек-25, 12:29   +/
>Язык созданный для написания хелловордов, другого пространства имён там нет.

Чёт ты херню несёшь.

Префиксы - понятно, указал, но можно ещё через struct сделать, если уж шибко надо.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

19. Сообщение от 12yoexpert (ok), 08-Дек-25, 12:32   –1 +/
ifdef-ам в школе не учили? 25 лет назад можно было добавить
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #21

20. Сообщение от нах. (?), 08-Дек-25, 12:44   +/
Угу, и результат - поцфикс не собирается.

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

Думать головами прежде чем пихать в стандарты нужное необходимое и полезное (нет) - у современных тяпляперов не принято.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #26, #28

21. Сообщение от Аноним (17), 08-Дек-25, 12:48   +/
> ifdef-ам в школе не учили?

Ты спросил, зачем они добавляли свой bool - я тебе ответил. Вопросы про ifdef-ы задавай уже авторам кода.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

22. Сообщение от Аноним (22), 08-Дек-25, 13:18   +/
он не знает, что бул еще может быть 8-ми байтовым :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

23. Сообщение от Аноним (23), 08-Дек-25, 13:20    Скрыто ботом-модератором+1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

24. Сообщение от Аноним (24), 08-Дек-25, 14:42   +1 +/
>Странно, что ни в postfix ни в gcc нет что-то типа пространства имен

Скажите, а пространства имен в пространствах имен должны быть? А то нам слишком просто трассировать проблемы и выявлять закладки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

25. Сообщение от freehck (ok), 08-Дек-25, 14:56   –1 +/
> Так как связанное с поддержкой нового типа "bool" изменение охватывает много строк кода, решено не переносить его в стабильные ветки, а добавить при вызове gcc и clang флаг компиляции "-std=gnu17" для использования стандарта C17.

Они конечно авторы и сами вправе решать, но ума не приложу, почему они просто не переименовали автозаменой bool в boolean.

Ответить | Правка | Наверх | Cообщить модератору

26. Сообщение от Аноним (-), 08-Дек-25, 15:14   –1 +/
> Угу, и результат - поцфикс не собирается.

Возможно умственно отсталым разработчикам похфикса не нужно было использовать общепринятое ключевое слово?
Сделали бы свой pBool.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #30

28. Сообщение от Аноним (-), 08-Дек-25, 15:57   +/
> нужное необходимое и полезное (нет)

Тут позорище как раз в том, что в этом так называемом "стандарте" bool появился только с С23. С другой стороны, что еще ожидать от переносимого ассемблера, где каждый проект вынужден городить свои bool.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #31

29. Сообщение от Аноним (-), 08-Дек-25, 15:59   +/
Смешно.
В fortran добавили LOGICAL еще в 1962 году.
В ALGOL 60 есть BOOLEAN! В Pascal есть Boolean. В куче других языков древнее сишки есть логический тип.

Но dыpяшечники они особенные...
В убожестве под названием сишечка stdbool появился только в С99 и не как тип, а как макросовый костыль. А нормальный тип пришлось ждать аж до С23.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #32, #34

30. Сообщение от нах. (?), 08-Дек-25, 16:01   +/
ничего что стандарт языка на котором этот постфикс написан тридцать лет назад - не содержит подобных "ключевых слов"?

Потому что те кто этот язык придумали - совершенно намеренно не пихали туда абстракций, не имеющих аппаратной поддержки процессором. Предоставив желающим сделать это самостоятельно если тем так хочется называть int - bool. (интересный конечно bool к которому можно добавить ну например... 42? От чего бы и не добавить к true - 42? При этом он останется bool. Ну а что поделать, нет же в процессоре никаких булей.)

А вот модные комитетные работнички - решили поулучшайкать в очередной раз для своих хеловротов.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #37

31. Сообщение от нах. (?), 08-Дек-25, 16:05   +/
> Тут позорище как раз в том, что в этом так называемом "стандарте"
> bool появился только с С23. С другой стороны, что еще ожидать
> от переносимого ассемблера, где каждый проект вынужден городить свои bool.

именно. Потому что такому языку этот бул нахрен был не нужен. В нем все равно нет механизма проверки что ты не пытаешься добавить к нему 42. Это просто синтаксический сахарок - который каждый мог реализовать для себя (и даже реализовали общепринятым образом... спустя лет десять после того как уже БЫЛ написан postfix)

А если в кои-то веки кто-то придумает такой процессор в котором есть аппаратный bool - вероятно, придется придумать к нему какой-то другой язык низкоуровнего программирования. Потому что там еще много чего не будет иметь подходящих механизмов в языке.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

32. Сообщение от нах. (?), 08-Дек-25, 16:07   +/
> Смешно.
> В fortran добавили LOGICAL еще в 1962 году.
> В ALGOL 60 есть BOOLEAN! В Pascal есть Boolean. В куче других

и сколько операционных систем написано на этих языках? Правильно - ноль.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #35

33. Сообщение от Аноним (7), 08-Дек-25, 16:08   +/
Лучший MTA стал еще лучше - теперь собирается и с gcc15
Ответить | Правка | Наверх | Cообщить модератору

34. Сообщение от Аноним (7), 08-Дек-25, 16:10    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #36, #38

35. Сообщение от Аноним (-), 08-Дек-25, 16:14   +/
> и сколько операционных систем написано на этих языках?

Ну-ну, а в какой момент посфигс стал ОС?

> Правильно - ноль.

Не правильно. CHAOS OS, PRIMOS, Apollo Domain OS.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

36. Сообщение от Аноним (36), 08-Дек-25, 16:17    Скрыто ботом-модератором+1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

37. Сообщение от Аноним (-), 08-Дек-25, 16:19   +/
> От чего бы и не добавить к true - 42?

Конечно! Это же абсолютно логично добавлять к булевому типу, который прям по своему определению может иметь всего два значения, целое. А потом удивляться почему софтина работает не так как должна.

> А вот модные комитетные работнички - решили поулучшайкать в очередной
> раз для своих хеловротов.

Ну конечно. Нельзя же исправлять то, что сами ДИДЫ выпрограммировали!
А то вдруг сломаешь обратную совместимость, которая делалась для систем, которые сдохли десятилетия назад.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

38. Сообщение от Аноним (-), 08-Дек-25, 16:29   +/
> В сишке всю жизнь был int и char (и их беззнаковые братья),

В ТОМ ТО И ПРОБЛЕМА))
В этом недоязыке вместо логического типа, который должен принимать всего ДВА значения, используются костыли в виде числовых типов!

> поэтому там никогда никакой bool был не нужен.

Именно потому что не нужен его добавили.
Д-Логика.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру