LINUX.ORG.RU

Сообщения Sahas

 

Tabs vs Spaces: что по этому поводу думают linux kernel hackers

Давненько тут не было холиваров по поводу извечного спора «табы или пробелы?..»

Залез тут давеча в исходники ядра и увидел, что отступы сделаны табами размером 8 символов (как и рекомендует code style), но при выравнивании аргументов функции иногда используется mix табов и пробелов, например, тут (drivers/cpufreq/cpufreq_conservative.c):

static ssize_t ignore_nice_load_store(struct gov_attr_set *attr_set,                                                                                                                         
<------><------><------><------>      const char *buf, size_t count)

Т.е. те, кто аргументируют преимущество табов возможностью самому настраивать длину таба, получат плохое выравнивание, например, в случае tab == 4 spaces:

static ssize_t ignore_nice_load_store(struct gov_attr_set *attr_set,                                                                                                                         
<--><--><--><-->      const char *buf, size_t count)                                                                                                                                    

Так почему же длина табов должна быть равна 8 пробелам?.. По мнению разработчиков ядра, вот почему:

Tabs are 8 characters, and thus indentations are also 8 characters. There are heretic movements that try to make indentations 4 (or even 2!) characters deep, and that is akin to trying to define the value of PI to be 3.
In short, 8-char indents make things easier to read, and have the added benefit of warning you when you're nesting your functions too deep. Heed that warning.

Почему в этом случае табы всё равно предпочтительнее пробелов?.. Разработчики ядра скромно умалчивают:

Outside of comments, documentation and except in Kconfig, spaces are never used for indentation, and the above example is deliberately broken.

Помимо описания проблемы выравнивания, в code style ядра содержатся также много других лулзов, в частности:

However, there is one special case, namely functions: they have the opening brace at the beginning of the next line...
Heretic people all over the world have claimed that this inconsistency is ... well ... inconsistent, but all right-thinking people know that (a) K&R are right and (b) K&R are right. Besides, functions are special anyway (you can't nest them in C).

В старых версиях code style (например, 4.10) также присутствовало следующее утверждение:

Encoding the type of a function into the name (so-called Hungarian notation) is brain damaged - the compiler knows the types anyway and can check those, and it only confuses the programmer. No wonder MicroSoft makes buggy programs.

Потом упоминание мелкософта убрали, видимо, под давлением корпораций... :)

Итак, лет зе холивар бегин: что лучше, фиксированные табы длиной 8 или пробелы?..

P.S. Кстати, последний опрос по этому поводу был аж 10 лет назад, можем повторить :) Tabs vs. Spaces

 , , , ,

Sahas
()

Очередной тред выбора ноута 14" для linux

Выбираю себе новый ноут. Основные требования: только 14" и желательно близкая к 100% совместимость с linux.

Другие хотелки:

  • Вес до 1.5 кг
  • SSD от 512 Гб
  • RAM от 8 Гб (желательно 16)
  • Без дискретной видяхи
  • Материал корпуса металл

Бюджет практически не ограничен, страна РФ.

Ранее в основном юзал ноуты Acer, не без недостатков, но в целом устраивает. Поэтому смотрю в первую очередь на Acer Swift 3.

Вопросы такие:

  • Какой процессор лучше брать, AMD или Intel? Ранее юзал Intel, всё устраивало. Есть варианты Ryzen 7, Intel Core i5 и др.
  • Что за новый (для меня) бренд такой Machenike?
  • Среди устраивающих меня по параметрам есть ещё варианты от Lenovo, HP, MSI, ASUS, какие у них достоинства/недостатки?

 , , ,

Sahas
()

Перестали работать клавиатура и тачпад на ноуте (работают только в BIOS)

Есть старый ноут Dell Inspiron M5110, который некоторой время назад был немного проапгрейден и до некоторых пор отлично работал под управлением LUbuntu.

Буквально сегодня перестали работать клавиатура и тачпад. Точнее, клавиатура замечательно работает в BIOS (по нажатию на F2, а также при нажатии F12 — выбор способа загрузки). После выхода из Setup BIOS или выбора способа загрузки клавиатура перестаёт работать вообще (т.е. в GRUB она уже не работает). Аналогичная история, если загружаю Live-систему с флешки. USB мышка работает отлично (думаю, что и USB клавиатура заработает).

Полазил по инету, рекомендуют сбросить BIOS, попробовал разные варианты, но ничего не помогает...

 , , ,

Sahas
()

Загрузить книги с PocketBook, которые относятся к выбранной коллекции

Есть Pocketbook с книжками. Мне надо подключить его к linux машине и выкачать те книги, которые относятся к определённой коллекции. К компу подключаю pocketbook как внешний диск. Книги там разбросаны по разным каталогам. Есть каталог system, в котором лежат всякие системные файлы, но не могу найти, где база данных с коллекциями находится...

База данных находится в system/explorer-3/explorer-3.db

 , , ,

Sahas
()

Я думал, это я глючу, а оказывается, nano учудило...

Сижу правлю текст в nano, простой такой текстовый файл из смеси русских и аглицких буковок... Жму Ctrl+X, на вопрос, надо ли сохранять файл, жамкаю «Y», возвращаюсь в консольку. Смотрю файл — а мои последние изменения не записаны. Чудеса, думаю, вот меня приглючило... Ещё раз редактирую, Ctrl+X, «Y» — файл записан.

Спустя пару минут снова немного меняю файл, Ctrl+X, «Y» — и опять, зараза, не записан. И тут до меня допёрло: клавиша «Y» и «Н» — это одна и та же клавиша!.. И в зависимости от раскладки она работает то как «Yes», то как «Нет»...

Мне вот интересно, это какие надмозги придумали?..

 , ,

Sahas
()

USB Sound Card со стерео-входом

Для своих «развлечений» требуется недорогая usb звуковуха (для ноута), у которой есть stereo line-in и которая бы беспроблемно работала в linux. У кого есть опыт работы с такими карточками, поделитесь?

Нужно это всё дело для записи с цифрового пианино на ноут

 , , ,

Sahas
()

Провайдер предлагает купить у него роутер TP-Link Archer C4, в чём подвох?

Широко известный в узких кругах пров Дом.ру (чтоб его) предлагает обновить Wi-Fi роутер на указанную модель с какой-то установленной провайдерской прошивкой, которая «сделает всё зашибись» (за денежку, разумеется). Погуглил эту модель, но, похоже, она уже не продаётся...

Вопрос: стоит ли соглашаться и в чём может быть подвох? Сейчас стоит старенький DLink, который уже давно пора сменить. Проблемы с качеством инета постоянные (начались, как только пришлось перейти на Дом.ру)

P.S. У меня белый IP, хочу иметь возможность настраивать роутер

 , ,

Sahas
()

Простая задачка по аналитической геометрии

Есть три ортогональных вектора (не единичных). Есть четвёртый произвольный вектор. Надо найти такой вектор, чтобы он был ортогонален четвёртому и направлен в сторону* градиента, построенного в системе отсчёта из трёх ортогональных векторов.

* имеется в виду в сторону проекции градиента на плоскость, ортогональную четвёртому вектору

Ответ:

result = (a+b+c) - ( (a+b+c) \cdot d ) d/abs^2(d)

 ,

Sahas
()

Определить тип возвращаемого из Python в C++ значения (при помощи pybind11)

Вызываю из C++ некоторую Python-функцию, которая может возвращать одну строку или список строк. Для интерфейса Python-С++ использую pybind11.

Сейчас делаю так (res имеет тип pybind11::object)

std::vector<std::string> result;
try {
    result.push_back(pybind11::cast<std::string>(res));
} catch(pybind11::cast_error& Err) {
    result = pybind11::cast<std::vector<std::string>>(res);
}

Есть ли более элегантный способ?

Элегантный способ (спасибо за подсказку):

if (py::isinstance<py::str>(res)) {
    result.push_back(pybind11::cast<std::string>(res));
} else {
    result = pybind11::cast<std::vector<std::string>>(res);
}

 , pybind11,

Sahas
()

Система виснет постепенно

Уже на протяжении многих месяцев наблюдаю такое «медленное» зависание, которое случается время от времени...

Например, сижу я в огнелисе, и в некоторый момент перестаёт загружаться вкладка, при этом могу переключаться между разными вкладками, но ни одна из них не грузится. Могу переключиться на LXTerminal, но выполнить команду или открыть новую вкладку не могу. Потом через некоторое время только курсор движется, а потом и он «зависает». Сегодня такая фигня случилась три раза. Спасает только SysRq+REISUB. Обычно даже не могу переключиться в консоль по Alt+Ctrl+F1, но сегодня мне чудом удалось это сделать, но залогиниться в ней не удаётся. Зато можно вызвать OOM Killer'а, что я и проделал, ядро честно убило все процессы, сколько их было... Потом только SysRq+b.

Конечно, в логах девственная чистота...

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

Ноут Acer Swift3. Система gentoo, systemd, lxqt. Ядро 4.19.97-gentoo #2 SMP PREEMPT x86_64 Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz, самосборное.

Видимо, не память сбоит (иначе бы всё падало, думаю, но ядро всегда живое остаётся).

Возможно, с SSD диском проблемы. Вот что про него говорит fdisk и smartctl:

Диск /dev/sda: 119,2 GiB, 128035676160 байт, 250069680 секторов
Disk model: LITEON CV3-8D128
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0xa16fa575

Устр-во    Загрузочный    начало     Конец   Секторы Размер Идентификатор Тип
/dev/sda1  *                2048   1370111   1368064   668M            83 Linux
/dev/sda2                1370112  52602879  51232768  24,4G            83 Linux
/dev/sda3               52602880 245972991 193370112  92,2G            83 Linux
/dev/sda4              245972992 250068991   4096000     2G            82 Linux своп / Solaris
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-4.19.97-gentoo] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     LITEON CV3-8D128
Serial Number:    KN1280L01663203123HC
Firmware Version: T871202
User Capacity:    128 035 676 160 bytes [128 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA8-ACS, ATA/ATAPI-7 T13/1532D revision 4a
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sun Apr 19 23:00:02 2020 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x02)	Offline data collection activity
					was completed without error.
					Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(   10) seconds.
Offline data collection
capabilities: 			 (0x15) SMART execute Offline immediate.
					No Auto Offline data collection support.
					Abort Offline collection upon new
					command.
					No Offline surface scan supported.
					Self-test supported.
					No Conveyance Self-test supported.
					No Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 (  11) minutes.
SCT capabilities: 	       (0x003d)	SCT Status supported.
					SCT Error Recovery Control supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   000    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0003   100   100   000    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       2739
 12 Power_Cycle_Count       0x0003   100   100   000    Pre-fail  Always       -       5824
177 Wear_Leveling_Count     0x0003   100   100   000    Pre-fail  Always       -       2878025
178 Used_Rsvd_Blk_Cnt_Chip  0x0003   100   100   000    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0003   100   100   000    Pre-fail  Always       -       0
182 Erase_Fail_Count_Total  0x0003   100   100   000    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0003   100   100   000    Pre-fail  Always       -       0
188 Command_Timeout         0x0003   100   100   000    Pre-fail  Always       -       2183
189 Unknown_SSD_Attribute   0x0003   100   100   000    Pre-fail  Always       -       2217
191 Unknown_SSD_Attribute   0x0003   100   100   000    Pre-fail  Always       -       1897
192 Power-Off_Retract_Count 0x0003   100   100   000    Pre-fail  Always       -       85
196 Reallocated_Event_Count 0x0003   100   100   000    Pre-fail  Always       -       0
198 Offline_Uncorrectable   0x0003   100   100   000    Pre-fail  Always       -       0
199 UDMA_CRC_Error_Count    0x0003   100   100   000    Pre-fail  Always       -       35
232 Available_Reservd_Space 0x0003   100   100   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0003   100   100   000    Pre-fail  Always       -       18453
241 Total_LBAs_Written      0x0003   100   100   000    Pre-fail  Always       -       6151
242 Total_LBAs_Read         0x0003   100   100   000    Pre-fail  Always       -       3687

SMART Error Log Version: 0
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%       841         -
# 2  Short offline       Completed without error       00%       840         -
# 3  Short offline       Completed without error       00%       840         -
# 4  Extended offline    Completed without error       00%       840         -
# 5  Extended offline    Interrupted (host reset)      10%       840         -

Selective Self-tests/Logging not supported

 , ,

Sahas
()

Записать одновременно микрофон и музон (при помощи PulseAudio)

Совсем запутался я с этим PulseAudio...

В режиме самоизоляции хочется порой странногозаписать караоке. А именно: я запускаю воспроизведение фонограммы и пою, и хочу всё это при помощи Audacity записать. Для этого мне при помощи пульсы надо сделать так, чтобы:

  • в устройство ввода писался микрофон;
  • в устройство вывода (наушники) шёл музон (ну и мой голос, желательно);
  • в устройство ввода также шёл музон.

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

Я следовал рекомендациям из https://www.linuxquestions.org/questions/linux-software-2/alsa-and-pulseaudio..., создал пустое устройство выхода... Чувствую, ещё один маленький шаг, и всё получится, но не очень понимаю, какой...

Прошу подсказки :)

 , , ,

Sahas
()

Задача многокритериальной оптимизации

Надо тут провести многокритериальную многопараметрическую оптимизацию, т.е. найти фронт Парето (критериев три, параметров около 7). Хочу для этих целей по максимуму задействовать готового и на Python.

Нашёл список либ для этих целей (https://www.quora.com/What-are-the-current-multi-objective-optimization-libra...)

Моя проблема в том, что для получения значения функции от каждого набора параметров надо ждать очень долго (часы), поэтому хочу воспользоваться многоуровневой оптимизацией, т.е. искать минимум не «реальной» функции, а аппроксимированной.

Собственно вопрос: какие есть хорошие либы для Python, позволяющие по заданному набору данных получить аппроксимирующую их функцию (желательно гладкую и выражаемую в аналитическом виде; сплайны вполне подойдут). Естественно, это должна быть функция многих переменных, порядка 7.

UPDATE: см. мой комментарий от 1 апреля и не верь глазам своим :)

 , , многокритериальная оптимизация, , парето

Sahas
()

Развернуть Webinar платформу на собственном сервере

В связи с известной ситуацией, возникла необходимость в быстром разворачивании платформы для проведения онлайн-семинаров (вебинаров) со студентами. Погуглил и нашёл несколько таких платформ (типа Apache OpenMeetings, BigBlueButton и др.), но как всегда хочется, чтобы всё, сразу и быстро :)

Собственно, вопрос, у кого есть опыт разворачивания на собственном сервере таких штук?

В идеале, конечно, хотелось бы просто взять уже готовый образ виртуальной машины (или docker), чтобы с минимум телодвижений это всё заработало. Под «это всё» я понимаю: трансляция с вебкамеры, возможность работать в режиме презентации, подключение до 20 человек (максимум), чат, голосовая связь. Лучше бы всё через браузер, конечно.

 webinar, онлайн семинар

Sahas
()

Гугл поменял дизайн выдачи поисковых результатов?

Это у меня сегодня глюк, или теперь название в поисковой выдаче идёт после ссылки, а не перед, как раньше? Я не сразу понял в чём дело и почему так непривычно...

А может, просто моя криокамера потекла...

 ,

Sahas
()

Калькулятор, который «понимает» экспоненциальную форму записи числа

Всем хорош Gnome Calculator, кроме одного: не понимает он, зараза, запись чисел в экспоненциальной форме 2.3E-3 (вместо этого использует «ущербную» запись 2.3×10⁻³).

Кто-нибудь знает калькулятор (можно и консольный), который умеет работать с таким форматом? Не LO Calc же использовать, в конце концов...

 

Sahas
()

Приму в дар сломанный ноут Samsung

Для целей «списания» приму в дар любой неработающий/сломанный ноутбук Samsung, можно без комплектующих. Питер.

 , ,

Sahas
()

Концепция передачи параметров в виде строки

Есть проект (не важно, на каком языке, но пусть будет C++), в котором есть две так скажем мало связанные между собой части (функции/класса). И одна функция (класс) вызывает другую с передачей туда параметров. И сейчас в качестве интерфейса передачи параметров используется обычная строка, т.е. вызывающая функция генерирует строку вида «Имя_параметра1=значение_параметра1\nИмя_параметра2=значение_параметра2...», передаёт её вызываемой, где происходит парсинг параметров.

Почему сделано так? Потому что вызов реализован через интерфейс (виртуальные функции), которые предполагает быть универсальным, а набор параметров для конкретного вызываемого метода может сильно разниться.

В общем, хочу обсудить: насколько это хорошо/плохо/универсально/неуниверсально? Можно ли так рекомендовать делать, если сам процесс вызова в программе происходит один раз (т.е. парсинг вообще не влияет на скорость выполнения)? Какие другие способы можете предложить (вызов разных функций через один интерфейс)?

Дискасс.

Update:

В качестве примера можно привести программу, обрабатывающую скрипт вида:

Вызвать Функцию1, параметры: п1=з1, п2=з2
Вызвать Функцию2, параметры: п3=з3, п4=з4

Программа, выполняющая данный скрипт, делает это через универсальный вызов

call_function(Функция1, "строка с параметрами")

 , , , ,

Sahas
()

Отвалились Qt прогаммы после обновления

После недавнего (большого) обновления, при котором также обновились Qt-шные библиотеки (Qt4 и Qt5), перестали работать некоторые GUI-шные программы на Qt, например, Lyx. Ошибка, по-видимому, связана как-то с QPixmap:

SIGSEGV signal caught!
Sorry, you have found a bug in LyX, hope you have not lost any data.
Please read the bug-reporting instructions in 'Help->Introduction' and send us a bug report, if necessary. Thanks!
Bye.
(  1) lyx: lyx(+0x5ac14f) [0x5592f272314f]
(  2) lyx: lyx(+0x61387e) [0x5592f278a87e]
(  3) lyx: lyx(+0x5aad80) [0x5592f2721d80]
(  4) lyx: lyx(+0x26f1a8) [0x5592f23e61a8]
(  5) /lib64/libc.so.6: /lib64/libc.so.6(+0x35010) [0x7f8809835010]
(  6) /usr/lib64/libQt5Gui.so.5: QPixmap::QPixmap(QPixmap const&)
(  7) /usr/lib64/libQt5Gui.so.5: /usr/lib64/libQt5Gui.so.5(+0x15b31f) [0x7f880acc731f]
(  8) /usr/lib64/libQt5XdgIconLoader.so.2: /usr/lib64/libQt5XdgIconLoader.so.2(+0x9dae) [0x7f87fcedbdae]
(  9) /usr/lib64/libQt5XdgIconLoader.so.2: XdgIconLoaderEngine::pixmap(QSize const&, QIcon::Mode, QIcon::State)
( 10) /usr/lib64/libQt5Gui.so.5: QIcon::pixmap(QWindow*, QSize const&, QIcon::Mode, QIcon::State) const
( 11) /usr/lib64/libQt5Gui.so.5: QIcon::pixmap(QSize const&, QIcon::Mode, QIcon::State) const
( 12) /usr/lib64/libQt5XcbQpa.so.5: QXcbWindow::setWindowIcon(QIcon const&)
( 13) /usr/lib64/libQt5Gui.so.5: QWindow::setIcon(QIcon const&)
( 14) /usr/lib64/libQt5Widgets.so.5: QWidgetPrivate::setWindowIcon_sys()
( 15) /usr/lib64/libQt5Widgets.so.5: QWidget::create(unsigned long long, bool, bool)
( 16) /usr/lib64/libQt5Widgets.so.5: QWidget::setVisible(bool)
( 17) lyx: lyx(+0x5b1136) [0x5592f2728136]
( 18) lyx: lyx(+0x5bb8e4) [0x5592f27328e4]
( 19) lyx: lyx(+0x5b282a) [0x5592f272982a]
( 20) lyx: lyx(+0x26f87e) [0x5592f23e687e]
( 21) lyx: lyx(+0x5bd4a1) [0x5592f27344a1]
( 22) /usr/lib64/libQt5Core.so.5: QObject::event(QEvent*)
( 23) /usr/lib64/libQt5Widgets.so.5: QApplication::event(QEvent*)
( 24) lyx: lyx(+0x5bdcc5) [0x5592f2734cc5]
( 25) /usr/lib64/libQt5Widgets.so.5: QApplicationPrivate::notify_helper(QObject*, QEvent*)
( 26) /usr/lib64/libQt5Widgets.so.5: QApplication::notify(QObject*, QEvent*)
( 27) lyx: lyx(+0x5bddac) [0x5592f2734dac]
( 28) /usr/lib64/libQt5Core.so.5: QCoreApplication::notifyInternal2(QObject*, QEvent*)
( 29) /usr/lib64/libQt5Core.so.5: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
( 30) /usr/lib64/libQt5Core.so.5: /usr/lib64/libQt5Core.so.5(+0x296823) [0x7f880a768823]
( 31) /usr/lib64/libglib-2.0.so.0: /usr/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x2a7) [0x7f8807858517]
( 32) /usr/lib64/libglib-2.0.so.0: /usr/lib64/libglib-2.0.so.0(+0x4a780) [0x7f8807858780]
( 33) /usr/lib64/libglib-2.0.so.0: /usr/lib64/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7f880785882c]
( 34) /usr/lib64/libQt5Core.so.5: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
( 35) /usr/lib64/libQt5Core.so.5: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
( 36) /usr/lib64/libQt5Core.so.5: QCoreApplication::exec()
( 37) lyx: lyx(+0x2777ed) [0x5592f23ee7ed]
( 38) lyx: lyx(+0x11c046) [0x5592f2293046]
( 39) /lib64/libc.so.6: /lib64/libc.so.6(__libc_start_main+0xf1) [0x7f8809820521]
( 40) lyx: lyx(+0x124e6a) [0x5592f229be6a]
Ошибка сегментирования (стек памяти сброшен на диск)

Переустановка Qt, Lyx, glibc, pixman и ещё чего-то не помогает. Прошу помощи.

emerge --info dev-qt/qtgui

dev-qt/qtgui-4.8.7::gentoo was built with the following:
USE="accessibility cups exceptions glib qt3support tiff xv (-aqua) -debug -egl -gtkstyle -mng -nas -nis -pch -trace -xinerama" ABI_X86="(64) -32 (-x32)"
CXXFLAGS="-O2 -pipe -march=native -std=gnu++98"

dev-qt/qtgui-5.9.4-r3::gentoo was built with the following:
USE="dbus egl gif jpeg libinput png udev xcb -accessibility -debug -eglfs -evdev -gles2 -ibus -test -tslib -tuio -vnc" ABI_X86="(64)"

cat /etc/portage/make.conf

CFLAGS="-O2 -pipe -march=native"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
USE="qt qt5 systemd mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 fbcondecor X udisks alsa pulseaudio dbus synaptics cups nls unicode truetype opengl hunspell png jpg jpeg tiff bmp gif python3.6 python_targets_python2_7 python_targets_python3_4 python_targets_python3_6 -sysv-utils"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
MAKEOPTS="-j2"
PORTAGE_NICENESS=3
EMERGE_DEFAULT_OPTS="--jobs 2"
CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
L10N="en ru"
LINGUAS="en ru"
ABI_X86="64" 
GRUB_PLATORMS="pc i386-pc"
VIDEO_CARDS="intel i965"
INPUT_DEVICES="synaptics evdev"
source /var/lib/layman/make.conf
QEMU_USER_TARGETS="i386 x86_64"

 ,

Sahas
()

Материалы для экспресс-курса по C++

Товарищи, братья, друзья, господа!

Нужны какие-нибудь материалы для экспресс-подготовки студентов по программированию на C++ (специальность студентов имеет довольно малое отношение к тому, что обычно называют IT). Кнута и прочих «корифеев» не предлагать, нужен курс по современному стандарту (C++14 и позже), минимум «глубины», максимум полезных практических знаний и best practices. Если это важно, то направленность — численное моделирование физических задач.

 ,

Sahas
()

Цветной лазерный принтер для дома

Подскажите сабж, 100% совместимый с Линуксом, из бюджетной категории (желательно до 10 к₽)

P.S. До этого пользовался ч/б Brother. Всё устраивает, кроме цены...

Update 6.05.2018

Распишу для «потомков», чем закончилась история.

Купил Ricoh SP C252DN. С ним сразу возникла проблема (Цветной лазерный принтер для дома (комментарий)), отправил обратно в магазин (ONNO.ru — не рекомендую, не понравились мне они, если честно...), там переправили в сервис. В сервисе сделали Transfer Belt Adjustment и Color Registration (вот нигде в инструкции про это не сказано...), всё встало на места, принтер вернулся ко мне.

Но после этого опять возникла проблема — буквально спустя пару недель после возвращения из сервиса принтер просто перестал включаться. Сгорела плата питания. Я так думаю, после скачка напряжения. Отправил в сервис по гарантии, спустя примерно месяц плату заменили, принтер снова у меня. Пока работает, но я уже боюсь... В общем, не рекомендую Ricoh, надо было не скупиться, и Brother покупать... Хотя, может, просто не повезло...

В принципе, нареканий к работе пока больше нет, по WiFi печатает, довольно быстро, качество печати хорошее. PPD-файл для работы скачал из интернета (он как бы для MacOS, но под Linux тоже замечательно работает, ибо CUPS)

 

Sahas
()

RSS подписка на новые темы