 |
Меню |
|
|
|
|
 |
Главная |
|
| Посл.ответ |
Сообщение |
|
Дата: 5 Сен, 11:36 · Поправил: Aquarius
Доброго времени суток всем.
Проблема в следующем: пытаюсь собрать фотон во встраиваемой системе(QNX6.3.0), но почему-то не запускается сервер шрифтов. На экран выводится следущее:
# ./ph
Starting Photon
=========================
Starting font server
Fatal error - check sloginfo.
Unable to open font DLL: No such file or directory
В slogger пишется:
Aug 24 01:01:56 1 8 0 phfont_init
Aug 24 01:01:56 1 8 0 phfontXX started OK
Aug 24 01:01:56 1 8 0 FatalError
Aug 24 01:01:56 1 8 0 No render engines loaded. io-font
Aug 24 01:01:56 1 8 0 Unable to launch Photon Font Server main.
Делал всё по хелпу (Appendix: Photon in Embedded Systems).
font_repository полностью скопировал с ПК.
В качестве скрипта ph есть вот такой shell код:
#!/bin/sh
PHOTON=/dev/photon
PHOTON_PATH=/usr/photon
PHFONT=/dev/phfont
LD_LIBRARY_PATH=/lib:/lib/dll:/usr/lib:
echo Starting Photon
${PHOTON_PATH}/bin/Photon &
on -w $PHOTON -W 10
echo =========================
echo Starting font server
${PHOTON_PATH}/bin/phfont -d ${PHOTON_PATH}/font_repository &
on -w $PHFONT -W 10
echo =========================
echo Starting graphic driver
${PHOTON_PATH}/bin/io-graphics -g640x480x16 -dldevg-geode.so -I0 -d0x1078,0x104
echo =========================
echo Starting window manager
/usr/photon/bin/pwm &
echo Photon started!!!
Если в начало скрипта добавить export DL_DEBUG=1, то выводится следующее:
# ./ph
Starting Photon
=========================
Starting font server
load_object: attempt load of libfont.so.1
load_elf32: loaded lib at addr b8200000(text) b820a660(data)
dlopen("phfont.so",3586)
load_object: attempt load of phfont.so
load_elf32: loaded lib at addr b820b000(text) b822a480(data)
dlsym(804b060,_btext)=804876c
Library loaded; type 'add-sym phfont.so 804876c' in gdb to load symbols
load_object: attempt load of libfontharnessutils.so.1
load_elf32: loaded lib at addr b822f000(text) b8233860(data)
dlsym(804b060,PHFONT_INTERNAL_API)=b822a520
Fatal error - check sloginfo.
Unable to open font DLL: No such file or directory
Уже и не знаю что делать(((...
|
|
Дата: 5 Сен, 11:43
Aquarius LD_LIBRARY_PATH=/lib:/lib/dll:/usr/lib:
Добавить /lib/dll/font . |
|
Дата: 5 Сен, 11:47
Да и еще если работаете от рута, проверьте содержит ли переменная окружения системы _CS_LIBPATH то, что находится в LD_LIBRARY_PATH.
1) getconf _CS_LIBPATH
2) setconf _CS_LIBPATH_ $LD_LIBRARY_PATH
|
|
Дата: 5 Сен, 11:47
Пробовал... Тож самое. Хотя такая директория есть и библиотеки в ней тоже. С правами доступа тоже всё нормально.
|
|
Дата: 5 Сен, 11:50
Aquarius Пробовал... Тож самое
Вначале скрипта поставьте export DL_DEBUG=1 и кидайте сюда полные логи. |
|
Дата: 5 Сен, 11:51
Спасибо огромное!!!
Всё дело было в _CS_LIBPATH
|
|
Дата: 5 Сен, 12:07
Aquarius Всё дело было в _CS_LIBPATH
На всякий случай скажу, что когда LD_LIBRARY_PATH устанавливается в бут-образе, то она после старта образа автоматически попадает в _CS_LIBPATH, поэтому те, кто устанавливал LD_LIBRARY_PATH сразу в образе, те проблем с фонтами не имеют. |
|
Дата: 5 Сен, 12:34
Буду иметь в виду.
Спасибо.  |
|
Дата: 6 Ноя, 13:16 · Поправил: ACDC
Aquarius
Всё дело было в _CS_LIBPATH
У меня аналогичная ситуация. Лог который выкидывается при добавлении DL_DEBUG=1 такой же как и описано выше.
Переменная LD_LIBRARY_PATH=/usr/photon/lib:/usr/lib:/usr/photon/dll:/lib:/lib/dll:/lib/dll/font
_CS_LIBPATH содержит ту же строку.
фотон запускается со скрипта. Команда запуска phfont :
phfont -d /usr/photon/font_repository &
Скрипт запускается на том же диске, что и self-hosted система, только с собственного загрузчика (.altboot).
Версия ОС QNX6.3.0 SP2. В чем еще может быть проблема.
|
|
Дата: 8 Ноя, 15:24 · Поправил: ACDC
Прошу прощения, фотон запускается с другого диска (с host системы запускается все нормально). Его содержимое:
/bin: ksh, on, pidin, sh, sin, sloginfo, waitfor
/lib: libFF-T2K-fm.so.1, libFF-T2K.so.2, libblcashe.so.2, libc.so, libc.so.2, libfont.so.1, libfontutils.so, libfontutils.so.1, libm.so.2
/lib/dll: devg-vmware.so, phfont.so
/lib/dll/font:FCcore.so,PHFcore.so,ttfFFcore.so
/usr/bin: sleep
/usr/lib: libAp.so.3, libdisputil.so.2, libffb.so.2, libgri.so.2, libph.so.3, libphexlib.so.3, libphrender.so.2
/usr/photon/bin: Photon, devi-hirun, fontsleuth, getconf, io-graphics, phfont, pterm, pwm, setconf
/usr/sbin: slogger
|
|
Дата: 4 Сен, 12:19 · Поправил: Fregl
а у меня вообще после загрузки LD_LIBRARY_PATH пустой, getconf _CS_LIBPATH = /proc/boot.
в бутобразе LD_LIB...PATH задаю LD_LIBRARY_PATH=/usr/photon/lib:/usr/lib:/usr/photon/dll:/lib:/lib/dll:/lib/dll/font однако после загрузки она обнуляется...
|
|
Дата: 4 Сен, 16:02
вобщем сделал, проще - сделал простенький скрипт, в котором в эту _CS_LIBPATH вручную запихую эти пути, и фотон запускается.
|
|
Дата: 5 Сен, 04:03
Это все потому что вы недавно приводили неправильный билд файл. Все эти переменные LD_LIBRARY_PATH и PATH устанавливаются в одной строке перед тем как запустить procnto.
В скрипте http://qnx.org.ru/viewthread5n5429.html вы устанавливаете /proc/boot путь и больше ничего
PATH=/proc/boot procnto
Ну а результат таких действий вы уже знаете какой. |
|
Дата: 5 Сен, 04:09
|
You must login to post.
| | |