LINUX.ORG.RU

Сообщения CYB3R

 

Посоветуйте статью о компиляции

Форум — Development

Ищу небольшую статью (желательно, на английском), где бы объяснялось что такое препроцессор, компилятор, линкер, статическая линковка, библиотеки... Хорошо, если также будут затронуты системы сборки.
Книги с более 100 страниц не советуйте, их я и сам найти могу. Хочется что-то по объёму и стилю повествования примерно как "From Power Up To Bash Prompt", только про компиляцию (и чуть более up-to-date).

 , , ,

CYB3R
()

Портирование OpenWrt

Форум — Development

Есть одна кастомная плата, на ней установлены довольно специфические контроллеры (драйвера в процессе написания).
На плате SoC, для которого есть тулчейн, патченный uboot, патченное ядро и rootfs.
Хочу попробовать заменить имеющуюся rootfs на OpenWrt. Почитал wiki, не выглядит особо сложной задачей. Но не очень понятно, с чего начать. Поддержки этого SoC в OpenWrt нет, так как в роутеры такое не ставят, так что полагаю, нужно начать с этого.
Если кто-то здесь добавлял поддержку нового оборудования в OpenWrt, подскажите, с чего мне начать. И стоит ли вообще ставить OpenWrt не на роутеры (я хочу поставить в первую очередь из-за пакетного менеджера и системы инициализации).

 , ,

CYB3R
()

Почему может не работать spice-vdagent?

Форум — General

Какие-то у меня страшные systemd-проблемы.
Запускаю spice-vdagentd, получаю эту ошибку:

spice-vdagentd: Error creating login monitor: No such file or directory
spice-vdagentd: no session info, max 1 session agent allowed
До этого демон работал, теперь нет.
Если есть тут магистры systemd, поясните, что не так? Или дело и не в systemd вовсе?

 , , , ,

CYB3R
()

Собрать gobject-introspection под mipsel

Форум — Development

Кто-нибудь пробовал?
Я нашёл такую статью, где предлагается собирать в два прохода, но этот способ у меня не сработал, судя по гуглу, вероятно, из-за ldd. Вот вывод:

g-ir-scanner: link: /bin/bash ./libtool --mode=link --tag=CC mips-linux-gnu-gcc -o /gobject-introspection-1.48.0/tmp-introspectgaac9I/GLib-2.0 -export-dynamic -fno-strict-aliasing -Wsign-compare -Wcast-align -Wpointer-arith -Wnested-externs -Wmissing-prototypes -Wmissing-declarations -Wchar-subscripts -Wall -g -O2 tmp-introspectgaac9I/p/gobject-introspection-1.48.0/tmp-introspectgaac9I/GLib-2.0.o -L/opt/lib -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lrt -lglib-2.0 -lglib-2.0 -lgobject-2.0
libtool: link: mips-linux-gnu-gcc -o /p/gobject-introspection-1.48.0/tmp-introspectgaac9I/GLib-2.0 -fno-strict-aliasing -Wsign-compare -Wcast-align -Wpointer-arith -Wnested-externs -Wmissing-prototypes -Wmissing-declarations -Wchar-subscripts -Wall -g -O2 tmp-introspectgaac9I/p/gobject-introspection-1.48.0/tmp-introspectgaac9I/GLib-2.0.o -Wl,--export-dynamic -pthread -Wl,--export-dynamic  -L/opt/lib /opt/lib/libgio-2.0.so -lz -lresolv /opt/lib/libgmodule-2.0.so -ldl /opt/lib/libgobject-2.0.so /opt/lib/libglib-2.0.so -lpthread -lrt /opt/lib/libffi.so -pthread -Wl,-rpath -Wl,/opt/lib -Wl,-rpath -Wl,/opt/lib
ERROR: can't resolve libraries to shared libraries: gobject-2.0
Makefile:3429: ошибка выполнения рецепта для цели «GLib-2.0.gir»
make[2]: *** [GLib-2.0.gir] Ошибка 1
Если кто-то собирал, расскажите, как это делать правильно.

 , , ,

CYB3R
()

libpeas для встраиваемых систем

Форум — Development

Мне очень нравится libpeas, но есть одна проблема. Хочу использовать libpeas в embedded (целевая система имеет 16Mb NOR Flash). Казалось бы, в чём проблема?
А проблема в том, что в зависимостях у libpeas находится gobject-introspection, а у него в зависимостях питон.
Никакой питононенависти, но питон просто слишком жирный, чтобы влезть на целевую систему. К тому же, я попробовал его собрать, он собирался целый час и так и недособрался, потому что после установки половину скриптов выполнил, а на вторую половину ругнулся: ImportError: No module named _collections.
Вопрос в том, можно ли как-то исключить зависимость от питона? Или есть какой-то маленький интерпретатор для встраиваемых систем?

 , , , ,

CYB3R
()

LLVM ASM и компиляция ядра

Форум — Development

В llvm есть встроенный ассемблер. Насколько я понимаю, llvm-as — это не то, что мне нужно, а интересовать меня должен llvm-mc. Я могу им компилировать ASM так:

llvm-mc filename.S -filetype=obj -o filename.o
А как использовать его для компиляции ядра? Пытаюсь сделать make AS=llvm-mc, а мейк пытается запустить as. Открываю мейкфайл, нахожу переменную AS, изменяю её значение на «llvm-mc», а мейк всё равно пытается запустить as. ЧЯДНТ?

(не мучиться и использовать as из состава binutils не предлагать)

 , ,

CYB3R
()

Новости о ядре

Форум — Talks

Где бы раздобыть такой RSS, где публиковались бы новости о новых релизах и LTS релизах ядра? Можно без подробностей, главное — быстро.
Я не буду против, если там также будут и другие новости про ядро: новости об уязвимостях ядра, новости об улучшениях в конкретных подсистемах ядра (сетевой стек, графический стек, файловые системы), новости о не мейнстримовых драйверах и поддержке оборудования, новости о портировании и успешном запуске ядра на каждом тостере, да и вообще любые новости о ядре (не о юзерспейсе). Но главное — ничего про дистрибутивы, ничего про GNU, ничего про софт под Linux.
Он должен быть оперативным (ЛОР не подходит, он так устроен, что сюда всё приходит с задержкой) и информативным (LKML не подходит, там слишком много сообщений о всяком-разном).

 , , ,

CYB3R
()

GLib mmap: failed to allocate 4Gb

Форум — Development

Вероятно, делаю всё совсем неправильно. Вот код на Vala:

int fd = open("/dev/fb0", O_RDWR);
ioctl(fd, FBIOGET_VSCREENINFO, &vinfo);
long screensize = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;
uchar[] data = (uchar[])mmap((void *)0, screensize, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
Всё выполняется ровно до строчки с mmap. Причём open совершенно точно возвращает правильный fd, и ioctl получает правильный vinfo, так что даже scrensize вычисляется верный.
Но вот на mmap ругается:
GLib-ERROR **: gmem.c:100: failed to allocate 4294967295 bytes
Причём аналогичная программа на C работает нормально. Явно я где-то накосячил.
Или есть какой-то хитрый GLib-специфичный способ это сделать? Может, при помощи GIO?

 , , , ,

CYB3R
()

Помогите вспомнить патч

Форум — Talks

Киньте ссылкой на патч для кастомного лого во фреймбуфере при загрузке ядра! Точно помню, такой патч был. Помню, в menuconfig появлялся пункт меню «Custom 224-color logo», может кто-то ещё помнит? Во времена 2.6 дело было. Он ещё актуален, не протух? А то вообще ничего нагуглить не могу.
Не хочу пингвина затирать, чтобы своё лого добавлять.

 , , , ,

CYB3R
()

Флеш-диски

Форум — Science & Engineering

Кремниевые пластины обычно круглые. Потом их режут на маленькие прямоугольники. А потом закатывают в пластик.
А почему бы не производить флеш-память, чтобы один диск — это была бы одна целая кремниевая пластина (или даже бутерброд из нескольких кремниевых пластин)? Нужно просто разместить много NAND-флеш на пластине, добавить контроллер, вывести из него интерфейс (позолоченные контакты, как это делают на SD-картах), а потом закатать в пластик. Получится красивый диск. Конечно, диск только удобен, если ему нужно вращаться, а так лучше найти квадратные пластины. Но всё равно, почему так никто не делает? Слишком много брака было бы?

 , ,

CYB3R
()

DirectFB всё. Что использовать вместо него?

Форум — Development

Проект давно не развивается, сайт лежит. Где-нибудь есть архив релизов?
Чем лучше заменить directfb в эмбеддеде?

 , , ,

CYB3R
()

Почему autotools при кросс-компиляции пытается подхватить библиотеки с хостовой системы?

Форум — Development

Пытаюсь собрать pixman. Взял кросс-тулчейн, никаких библиотек ещё не собирал.
Запускаю скрипт configure:

./configure --host=mipsel-linux --build=x86_64-pc-linux-gnu
Компилятор определяется правильно, но потом запускается pkg-config и находит библиотеки с хостовой системы:
checking for mipsel-linux-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for pixman_version_string in -lpixman-1... no
checking for posix_memalign... yes
checking for sigaction... yes
checking for alarm... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mmap... yes
checking for mprotect... yes
checking for getpagesize... yes
checking fenv.h usability... yes
checking fenv.h presence... yes
checking for fenv.h... yes
checking for feenableexcept in -lm... yes
checking whether FE_DIVBYZERO is declared... yes
checking for gettimeofday... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for library containing sqrtf... -lm
checking for thread local storage (TLS) support... __thread
checking for pthreads... yes
checking for __attribute__((constructor))... yes
checking for __float128... no
checking for __builtin_clz... yes
checking for GCC vector extensions... yes
checking for PNG... yes
Естественно, слинковать библиотеки с хостовой системы при кросс-компиляции невозможно, потому приходится их ручками выключать.
Я что-то неправильно делаю, да? Нужно завести mipsel-linux-pkg-config, который будет находить только нужные библиотеки?

 , , ,

CYB3R
()

Видеозахват с хардварным кодеком H.264

Форум — Linux-hardware

Вообще такое в природе существует?
Желательно, конечно, чтобы было такое простое устройство — с одной стороны VGA, с другой Ethernet, подключаешься к нему по HTTP (весь этот софт ведь простой HTTP использует, да?) и смотришь стрим видео (ещё и выбираешь разрешение и качество) в зависимости от соединения.
Но это всё фантазии. Что есть из реального?
Кстати, Matrox вроде бы что-то выпускает. Кто пользовался?

 , , , ,

CYB3R
()

Книги/гайды по современному GTK+

Форум — Development

Какие есть наиболее актуальные книги по GTK+3? Предпочтительно не печатные издания, а электронные, так как их легче обновлять до последней версии.
Конечно, хочется GTK+ 3.20, но любая пойдёт.

 , , ,

CYB3R
()

Docker и медленное интернет-соединение

Форум — Admin

docker build с CDMA-модемом выдаёт такое:

Sending build context to Docker daemon 89.09 kB
Step 1 : FROM ubuntu:xenial
Pulling repository docker.io/library/ubuntu
Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/ubuntu/images. You may want to check your internet connection or if you are behind a proxy.
Или такое (редко):
Sending build context to Docker daemon 89.09 kB
Step 1 : FROM ubuntu:xenial
Pulling repository docker.io/library/ubuntu
Get https://registry-1.docker.io/v1/repositories/library/ubuntu/tags/xenial: dial tcp: lookup registry-1.docker.io on 127.0.1.1:53: read udp 127.0.0.1:36340->127.0.1.1:53: i/o timeout
Через браузер эти линки грузятся, но медленно. Может, кто-то знает, где в докере настраиваются таймауты?

 , , ,

CYB3R
()

Клавиша F0 на клавиатуре

Форум — Talks

В каком-то музее видел какое-то старьё древнее — то ли клавиатуру, то ли целый микрокомпьютер. Запомнился этот девайс мне только необычными функциональными клавишами. Точное количество и конфигурацию я не помню. Их было 16 или 17 штук и сгруппированы они так:

[F0] [F1][F2][F3][F4] [F5][F6][F7][F8] [F9][F10][F11][F12] [F13][F14][F15]
Или так:
[F0] [F1][F2][F3][F4] [F5][F6][F7][F8] [F9][F10][F11][F12][F13] [F14][F15][F16]
При этом клавиша [F0] была на месте [Esc], а самой [Esc] не было вообще.

Я вообще не могу нагуглить клавиатур с клавишей [F0]. Единственное, что я нашёл — BBC Micro, но у него функциональных клавиш всего 10 и [Escape] имеется.
Помогите нагуглить эту странную клавиатуру.

 , , , ,

CYB3R
()

Переименовать большое количество картинок в зависимости от текста на них

Форум — General

Есть большое количество небольших картинок, на каждой из них отчётливо написана одна короткая фраза. Шрифт довольно крупный, в основном Open Sans Condensed, но не всегда. Язык в основном русский, но встречается также английский, турецкий, армянский, грузинский, японский, арабский, фарси, японский, китайский, корейский, тайский (менее 1%).
Задача — распознать текст и установить фразу с каждой картинки в качестве имени файла. Реально?

 , , ,

CYB3R
()

Какие у вас отступы в коде?

Голосования — Голосования

А как вы делаете отступы в своём коде?

  1. Пробелы, 4 пробела на отступ 443 (37%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Табы шириной в 4 пробела 252 (21%)

    **************************************************************************************************************************************************************************************

  3. Пробелы, 2 пробела на отступ 171 (14%)

    ***************************************************************************************************************************

  4. Я не пишу код, отстаньте от меня! 154 (13%)

    ***************************************************************************************************************

  5. Пробелы или табы в зависимости от языка 99 (8%)

    ***********************************************************************

  6. Табы шириной в 2 пробела 33 (3%)

    ***********************

  7. Табы шириной в 8 пробелов 31 (3%)

    **********************

  8. Табы для отступов, кратных ширине таба, остаток от деления пробелами 24 (2%)

    *****************

  9. Пробелы, 8 пробелов на отступ 6 (0%)

    ****

Всего голосов: 1213

 , , , ,

CYB3R
()

Ну и почему оно не линкуется?

Форум — Development

Это я криворукий или нужно создавать issue на гитхабе автора?

FAILED: : && /usr/bin/clang++-3.8   -Wall -Wextra -Wno-unused-parameter -Wfloat-conversion -Werror=switch  -Wl,--as-needed src/CMakeFiles/solvespace.dir/util.cpp.o src/CMakeFiles/solvespace.dir/entity.cpp.o src/CMakeFiles/solvespace.dir/expr.cpp.o src/CMakeFiles/solvespace.dir/constraint.cpp.o src/CMakeFiles/solvespace.dir/constrainteq.cpp.o src/CMakeFiles/solvespace.dir/system.cpp.o src/CMakeFiles/solvespace.dir/platform/unixutil.cpp.o src/CMakeFiles/solvespace.dir/platform/gtkmain.cpp.o src/CMakeFiles/solvespace.dir/platform/gloffscreen.cpp.o src/CMakeFiles/solvespace.dir/bsp.cpp.o src/CMakeFiles/solvespace.dir/clipboard.cpp.o src/CMakeFiles/solvespace.dir/confscreen.cpp.o src/CMakeFiles/solvespace.dir/describescreen.cpp.o src/CMakeFiles/solvespace.dir/draw.cpp.o src/CMakeFiles/solvespace.dir/drawconstraint.cpp.o src/CMakeFiles/solvespace.dir/drawentity.cpp.o src/CMakeFiles/solvespace.dir/export.cpp.o src/CMakeFiles/solvespace.dir/exportstep.cpp.o src/CMakeFiles/solvespace.dir/exportvector.cpp.o src/CMakeFiles/solvespace.dir/file.cpp.o src/CMakeFiles/solvespace.dir/generate.cpp.o src/CMakeFiles/solvespace.dir/glhelper.cpp.o src/CMakeFiles/solvespace.dir/graphicswin.cpp.o src/CMakeFiles/solvespace.dir/group.cpp.o src/CMakeFiles/solvespace.dir/groupmesh.cpp.o src/CMakeFiles/solvespace.dir/importdxf.cpp.o src/CMakeFiles/solvespace.dir/mesh.cpp.o src/CMakeFiles/solvespace.dir/modify.cpp.o src/CMakeFiles/solvespace.dir/mouse.cpp.o src/CMakeFiles/solvespace.dir/polygon.cpp.o src/CMakeFiles/solvespace.dir/resource.cpp.o src/CMakeFiles/solvespace.dir/request.cpp.o src/CMakeFiles/solvespace.dir/solvespace.cpp.o src/CMakeFiles/solvespace.dir/style.cpp.o src/CMakeFiles/solvespace.dir/textscreens.cpp.o src/CMakeFiles/solvespace.dir/textwin.cpp.o src/CMakeFiles/solvespace.dir/toolbar.cpp.o src/CMakeFiles/solvespace.dir/ttf.cpp.o src/CMakeFiles/solvespace.dir/undoredo.cpp.o src/CMakeFiles/solvespace.dir/view.cpp.o src/CMakeFiles/solvespace.dir/srf/boolean.cpp.o src/CMakeFiles/solvespace.dir/srf/curve.cpp.o src/CMakeFiles/solvespace.dir/srf/merge.cpp.o src/CMakeFiles/solvespace.dir/srf/ratpoly.cpp.o src/CMakeFiles/solvespace.dir/srf/raycast.cpp.o src/CMakeFiles/solvespace.dir/srf/surface.cpp.o src/CMakeFiles/solvespace.dir/srf/surfinter.cpp.o src/CMakeFiles/solvespace.dir/srf/triangulate.cpp.o  -o src/solvespace  -rdynamic extlib/libdxfrw/libdxfrw.a -lGLU -lGL -lpng12 -lz -lfreetype -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lgtk-3 -lgdk-3 -latk-1.0 -lcairo-gobject -lgio-2.0 -lgdk_pixbuf-2.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -lX11 -ljson-c -lfontconfig -lfreetype -lGLEW -lGLU -lGL -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lgtk-3 -lgdk-3 -latk-1.0 -lcairo-gobject -lgio-2.0 -lgdk_pixbuf-2.0 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -lX11 -ljson-c -lfontconfig -lGLEW -lGLU -lGL && :
src/CMakeFiles/solvespace.dir/platform/gtkmain.cpp.o: In function `SolveSpace::GetOpenFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, SolveSpace::FileFilter const*)':
../src/platform/gtkmain.cpp:(.text+0x16fb): undefined reference to `Gtk::FileChooser::get_current_folder() const'
../src/platform/gtkmain.cpp:(.text+0x178f): undefined reference to `Gtk::FileChooser::get_filename() const'
src/CMakeFiles/solvespace.dir/platform/gtkmain.cpp.o: In function `SolveSpace::GetSaveFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, SolveSpace::FileFilter const*)':
../src/platform/gtkmain.cpp:(.text+0x2476): undefined reference to `Gtk::FileChooser::get_current_folder() const'
../src/platform/gtkmain.cpp:(.text+0x250a): undefined reference to `Gtk::FileChooser::get_filename() const'
src/CMakeFiles/solvespace.dir/platform/gtkmain.cpp.o: In function `SolveSpace::ChooserFilterChanged(Gtk::FileChooserDialog*)':
../src/platform/gtkmain.cpp:(.text+0x2b85): undefined reference to `Gtk::FileChooser::get_filename() const'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

 , , ,

CYB3R
()

Нужен простой модуль

Форум — Linux-hardware

Совсем простой. Чтобы там был распаян проц, RAM и NAND. Естественно, с нужным обвесом. Естественно, чтобы ещё и питание всего этого было нормальное (например от 5V БП или USB).
Буду подключать TFT LCD. Так что если на плате будет разведён 40pin 0.5mm pitch FPC, будет плюсом. И RTC ещё нужен, какой-нибудь DS1307 подключать не хочу.
Есть такие? Pi Zero не предлагать.

 , , , ,

CYB3R
()

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