Freebsd 12. Переустановка apache. Union senum

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
als
мл. сержант
Сообщения: 77
Зарегистрирован: 2015-08-26 8:17:23

Freebsd 12. Переустановка apache. Union senum

Непрочитанное сообщение als » 2018-12-24 7:14:12

Доброе утро, коллеги.
Давеча обновился на freebsd 12.0. С 11.2
И как-то не так все пошло. При разгребании чего не так пошло дошел до апача.
Пересобираю его из портов.
На команду make он выдает
...
unixd.c:245:25: error: variable has incomplete type 'union semun'

Посмотрел.
Файл sys/sem.h на месте. И в нем тип union semun определен.
Посмотрел unixd.c
В шапке стоит определение
#ifdef HAVE_SYS_SEM_H
#include <sys/sem.h>
#endif

Неужто HAVE_SYS_SEM_H стала ложь?
В тексте этого же unixd.c
...
#if !APR_HAVE_UNION_SEMUN
union semun {
long val;
struct semid_ds *buf;
unsigned short *array;
};
#endif
union semun ick;

Не видит apache, что есть семафоры. Прям беда. Как ему объяснить про семафоры? Или может их действительно при обновлении сдуло?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

als
мл. сержант
Сообщения: 77
Зарегистрирован: 2015-08-26 8:17:23

Freebsd 12. Переустановка apache. Union senum

Непрочитанное сообщение als » 2018-12-24 8:12:12

В заголовке ошибка. Конечно же semun :)

Подумал я, подумал, и сейчас пересоберу world из src
Может быть и нужные библиотеки подтянуться.
А то ведь semun не один так. Еще и Socket.c тоже странно видится.

guest
проходил мимо

Freebsd 12. Переустановка apache. Union senum

Непрочитанное сообщение guest » 2018-12-24 14:52:22

Все говорит о том что не до конца обновились, не выполнили последний freebsd-update install
- который удаляет старые библиотеки и прочий хлам.

И перед последним freebsd-update install, до пересборки портов, необходимо установить
compat11 чтобы старые порты работали, если нужен непрерывный процесс работы системы.

als
мл. сержант
Сообщения: 77
Зарегистрирован: 2015-08-26 8:17:23

Freebsd 12. Переустановка apache. Union senum

Непрочитанное сообщение als » 2018-12-24 15:27:23

guest писал(а):
2018-12-24 14:52:22
не выполнили последний freebsd-update install
Я тоже чувствую, что не все получилось. Однако, дошел до конца. Были перегрузки, указания freebsd-update, что запускать.

Сейчас freebsd-update install говорит, что ставить нечего. С его точки зрения дошел до конца.

guest
проходил мимо

Freebsd 12. Переустановка apache. Union senum

Непрочитанное сообщение guest » 2018-12-24 16:27:36

Я тоже чувствую, что не все получилось. Однако, дошел до конца. Были перегрузки, указания freebsd-update, что запускать.

Сейчас freebsd-update install говорит, что ставить нечего. С его точки зрения дошел до конца.
11.2-pX
1. обновляем до последнего 11.2-patchlevel

# freebsd-update fetch
# freebsd-update install
- если install сказал что было обновление ядра
# reboot

2. обновляем до 12.0
# freebsd-update -r 12.0-RELEASE upgrade
...
- первый install должен установить новое ядро 12.0
# freebsd-update -r 12.0-RELEASE install
- reboot
- второй install установка системы 12.0
# freebsd-update install
# reboot
- теперь: portsnap или svn портов
- после этого установка compat11x и выполниться ldconfig
- и наконец можно третий freebsd-update install - выполнит удаление deprecated бинарников,
headers и библиотек

ps. Если система имеет право на простой - собственный десктоп, можно не ставить compat,
можно сделать список всего что было установлено через 'pkg info', затем удалить все через
pkg delete и далее ставить из пакетов или портов по списку или то что нужно.

pps. Если простой критичен, можно зарядить в jail сборку всего что нужно или использовать
/usr/ports/ports-mgmt/poudriere с созданием собственного репозитория, и далее на хост
системе все установить из пакетов или своего репо.

3. можно приступать к обновлению Всех пакетов
# pkg upgrade -f
или портов (пересборка всех) после прочтения /usr/ports/UPDATING
# portmaster[portupgrade]

als
мл. сержант
Сообщения: 77
Зарегистрирован: 2015-08-26 8:17:23

Freebsd 12. Переустановка apache. Union senum

Непрочитанное сообщение als » 2018-12-24 18:58:50

guest, спасибо за описание. Наверное пригодиться.

Я пересобрал world. Установил его. Ошибки, похоже, ушли.
Жизнь налаживается :)

guest
проходил мимо

Freebsd 12. Переустановка apache. Union senum

Непрочитанное сообщение guest » 2018-12-24 21:08:00

ну, традиционая сборка - вещь надежная, но долгая, хотя на
нормальном оборудовании, будет существенно быстрей чем бинарный апгрейд.
Боюсь соврать, kernel на 16'и ядрах у меня собирался минут 20, система
около 1.5-2 часов, sorry, врать не буду, не помню.

als
мл. сержант
Сообщения: 77
Зарегистрирован: 2015-08-26 8:17:23

Freebsd 12. Переустановка apache. Union senum

Непрочитанное сообщение als » 2018-12-25 6:32:30

guest писал(а):
2018-12-24 21:08:00
хотя на
нормальном оборудовании, будет существенно быстрей чем бинарный апгрейд.
Кстати да, обратил внимание, что мир собрался по времени сопоставимо, чем бинарное обновление. Может и чуть быстрее.

guest
проходил мимо

Freebsd 12. Переустановка apache. Union senum

Непрочитанное сообщение guest » 2018-12-27 21:35:55

Корректировка:

В случае мажорного обновления FreeBSD, те с ветки на ветку:

- первое что нужно сделать, обновить ТЕКУЩУЮ систему до последнего
patch-level, ниже пример 11.2 -> 12.0
11.2-pX
1. обновляем до последнего 11.2-patchlevel

# freebsd-update fetch
# freebsd-update install
- если install сказал что было обновление ядра
# reboot

2. обновляем до 12.0
# freebsd-update -r 12.0-RELEASE upgrade
...
- первый install должен установить новое ядро 12.0
# freebsd-update -r 12.0-RELEASE install
первый install ставит новое ядро и систему 12.0
- reboot
- второй install установка системы 12.0
# freebsd-update install
второй install ставит sources: /usr/src, share - /usr/share и man'ы
# reboot
- теперь: portsnap или svn портов
- после этого установка compat11x и выполниться ldconfig
- и наконец можно третий freebsd-update install - выполнит удаление deprecated бинарников,
headers и библиотек

ps. Если система имеет право на простой - собственный десктоп, можно не ставить compat,
можно сделать список всего что было установлено через 'pkg info', затем удалить все через
pkg delete и далее ставить из пакетов или портов по списку или то что нужно.

pps. Если простой критичен, можно зарядить в jail сборку всего что нужно или использовать
/usr/ports/ports-mgmt/poudriere с созданием собственного репозитория, и далее на хост
системе все установить из пакетов или своего репо.

3. можно приступать к обновлению Всех пакетов
# pkg upgrade -f
или портов (пересборка всех) после прочтения /usr/ports/UPDATING
# portmaster[portupgrade]

als
мл. сержант
Сообщения: 77
Зарегистрирован: 2015-08-26 8:17:23

Freebsd 12. Переустановка apache. Union senum

Непрочитанное сообщение als » 2018-12-28 6:20:17

Что-то я не помню, что бы после upgrade делал install.
Надо будет в следующий раз проверить.