You are not logged in.
Pages: 1
Здравствуйте все.
devl547 обещался посмотреть что там с симуляторами Спектрума. Я на лоре просил, но не знаю, видел ли ты последнее сообщение, так что тут повторюсь.
Мне кажется, fuse пока трогать не надо (может кому-то удобнее, чтобы он был на gtk, а попробовать добавить fbzx в репозиторий, он изначально на sdl. Не знаю, может это как-то пересекается с идеологией дистрибутива, вы уж не ругайте.
И про emu80 - как дела обстоят? Получается что-нибудь? держу кулаки. Автор как-то не торопится выкладывать новую версию, может предложение включения в дистрибутив и поддержка пользователей его подстегнёт? Напомню, автор emu80 выложил версию для линукса и судя по теме, переписывает эмулятор на sdl2. http://zx-pk.ru/threads/21089-emu80.html А я не знаю, как до него достучаться. Да и толку от меня мало.
П.С. как тут разметка делается?
Offline
Андрей (lexeii), ты не пробовал собрать?
У меня фигня какая-то. emu80 не собирается категорически, ругаясь на код.
Бинарная версия показывает окно и висит, не реагируя ни на что.
Натравленный strace показывает, что всё стопорится на каком-то мьютексе.
>Надеюсь, в течение лета появятся бета-версии, исходник также опубликую ближе к релизу.
>Мне кажется, fuse пока трогать не надо (может кому-то удобнее
Можно сделать отдельный пакет с fuse-sdl. ИМХО, это будет правильнее.
fbzx я пробовал собирать, но оно ругается. Судя по всему, ему нужен свежий GCC.
Так что скорее всего либы gcc61 будут идти по зависимостям.
Offline
emu80 не собирается, не хватает чего-то, связанного с DMA.
[c]. . .
[ 96%] Building ASM_NASM object CMakeFiles/Emu80SDL.dir/emurom.asm.o
[100%] Building ASM_NASM object CMakeFiles/Emu80SDL.dir/interf.asm.o
Linking CXX executable Emu80SDL
CMakeFiles/Emu80SDL.dir/emuinit.cpp.o: In function 'LoadSSName(char*)':
emuinit.cpp:(.text+0x290b): undefined reference to 'LoadDMAState(RKSS_DMA_STATE*)'
emuinit.cpp:(.text+0x2b5b): undefined reference to 'LoadDMAState(RKSS_DMA_STATE*)'
emuinit.cpp:(.text+0x2ea6): undefined reference to 'LoadDMAState(RKSS_DMA_STATE*)'
emuinit.cpp:(.text+0x31fb): undefined reference to 'LoadDMAState(RKSS_DMA_STATE*)'
CMakeFiles/Emu80SDL.dir/emuio.asm.o: In function 'dma_out':
${src}/src/emuio.asm:(.text+0x610): undefined reference to 'WriteDMAReg'
CMakeFiles/Emu80SDL.dir/emuio.asm.o: In function 'dma_in':
${src}/src/emuio.asm:(.text+0xa33): undefined reference to 'ReadDMAReg'
CMakeFiles/Emu80SDL.dir/emuio.asm.o: In function 'perform_reset':
${src}/src/emuio.asm:(.text+0xa63): undefined reference to 'InitDMA'
collect2: ld returned 1 exit status
CMakeFiles/Emu80SDL.dir/build.make:639: recipe for target 'Emu80SDL' failed
make[2]: *** [Emu80SDL] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/Emu80SDL.dir/all' failed
make[1]: *** [CMakeFiles/Emu80SDL.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2[/c]
> Бинарная версия показывает окно и висит, не реагируя ни на что.
Аналогично. И закрывается только через kill. Но можно этой бинарной версии передать имя файла в качестве параметра. Сообщает ошибку и дальше любая кнопка закрывает окно.
Offline
Так. Что-то я запутался. У меня ничего не собирается вообще. Ни fuse-emulator ни fbzx и вообще, похоже что-то нарушено.
Поставил сейчас чистый образ на виртуалку (о самом слитазе в конце), чтобы проверить. Установил autoconf, automake, make, cmake, sdl-dev и gcc. Но как и на живой системе и в старой виртуалке, при попытке ./configure выдаёт ошибку
"checking gcc... gcc
checking wheter C compiller works... no"
После долгих копаний и проб выяснить, что же не так? гугление привело к проблеме неприятия gcc оператора -V и проверке работоспособности самого gcc и тут вообще что-то странное. ldd - тоже испорчен. Пишу ldd он говорит "/bin/sr: ldd: not found
Попробовал переустановить пакеты (включая и glibc) - тоже самое.
Теперь по установке Slitaz. При установке на диск(с помощью слитазовского установщика), в качестве источника не работают варианты: liveusb и isofile. При этом на устанавливаемой оси директория /etc становится файлом с указанием локали (любой). Работает вариант установки из web, выбрал rolling, установил, но права на /boot /boot/grub неправильные, в следствие чего не удаётся загрузить систему, пришлось менять права.
Оно вообще работает? Не пойму.
Пишу пока в этой теме, чтобы выяснить, что из этого моя ошибка или незнание, а что реальная проблема.
Offline
> ничего не собирается вообще
> Установил autoconf, automake, make, cmake, sdl-dev и gcc
Для того чтобы компилировать нужны как минимум все пакеты slitaz-toolchain.
http://hg.slitaz.org/wok/file/tip/slitaz-toolchain/receipt#l11
DEPENDS="binutils linux-api-headers glibc-dev gcc make elfkickers"
> fuse-emulator
Пересобирается так:
Подготовка, устанавливается toolchain и много доп.пакетов для сборки см./etc/cook.conf или http://hg.slitaz.org/cookutils/file/tip/cook.conf#l36
[c]# cook setup[/c]
Скачиваются рецепты всех пакетов:
[c]# cook setup --wok[/c]
Теперь можно поменять что-то в файле /home/slitaz/wok/fuse-emulator/receipt
И пересобрать:
[c]# cook fuse-emulator[/c]
Результатат - в /home/slitaz/packages
> ldd: not found
[c]$ lzcat /var/lib/tazpkg/files.list.lzma | grep ' /usr/bin/ldd$'[/c]
[c]glibc-dev: /usr/bin/ldd[/c]
[c]slitaz-base-files: /usr/bin/ldd[/c]
T.e ldd мог исчезнуть только если установить и удалить пакет glibc-dev, без которого ничего не соберется.
> Теперь по установке Slitaz. При установке на диск(с помощью слитазовского установщика), в качестве источника не работают варианты: liveusb и isofile. При этом на устанавливаемой оси директория /etc становится файлом с указанием локали (любой). Работает вариант установки из web, выбрал rolling, установил, но права на /boot /boot/grub неправильные, в следствие чего не удаётся загрузить систему, пришлось менять права.
Насколько я помню установщиком никто из разработчиков не пользуется.
Ставят или вручную: http://doc.slitaz.org/ru:handbook:installation
Или как я: подсунул в grub ядро и initrd, параметр home= и никаких установок, все в оперативной памяти.
Cпасибо, что сообщил, так бы и не знал никто.
Offline
О, спасибо за быстрый ответ. попробую с куком поиграться. Но в рецепте fuse я не видел каких-то особенных зависимостей для сборки. где они указываются?
Но насчёт установки дистрибутива - по ссылке очень устаревшая информация. Там ничего нет о четырёх rootfs.gz. Та информация, что в английском варианте тоже не работает. И кстати, почему в русском варианте распаковывается с lzma а не unlzma? При распаковке, по английской инструкции, rootfs4.gz выдаёт ошибку. Слитие всех архивов в один (где-то на форуме попадалось) тоже не проходит. пробовал и на виртуалке и на реальном железе. Пробовал распаковать и в другом дистрибутиве, говорит, повреждённый файл. Остаётся или распаковывать только "core" вручную и наворачивать в пустой системе (а сеть у меня только по wifi), или устанавливать через графический установщик, что я и сделал.
Вот такой я криворукий.
Offline
Так. я не понял. glibc-dev установлен. /usr/bin/ldd присутствует в системе, права на файл (вроде)нормальные, он имеет какой-то размер, но консоль выдаёт, что не нашла его.
Offline
> glibc-dev установлен. /usr/bin/ldd присутствует в системе, права на файл (вроде)нормальные, он имеет какой-то размер, но консоль выдаёт, что не нашла его.
Даже не знаю куда копать... Посмотри последнюю страницу [c]# dmesg[/c], может что-то с железом?
> права на файл (вроде)нормальные
Здесь поточнее бы. ([c]ls -l /usr/bin/ldd && chmod 777 /usr/bin/ldd[/c])
Смотри [c]# env[/c] (может быть PATH в /etc/profile сломался, тогда вместо # ldd может сработать команда [c]# /usr/bin/ldd[/c])
[c]# mount[/c] тоже интересно было бы посмотреть.
> в рецепте fuse я не видел каких-то особенных зависимостей для сборки. где они указываются?
http://hg.slitaz.org/wok/file/tip/fuse-emulator/receipt#l18
Offline
к сожалению сегодня уже никак. завтра гляну. что там с правами.
А насчёт рецепта - я имел ввиду - нет в зависимостях gcc и прочего. Как кукер узнает, что нужно? Завтра попробую.
Offline
> нет в зависимостях gcc и прочего.
Ссылка уже была выше, файл "/etc/cook.conf":
http://hg.slitaz.org/cookutils/file/tip/cook.conf#l36
36 # List of packages installed in build chroot by cook or the Cooker setup.
37 SETUP_PKGS="slitaz-toolchain pkg-config intltool gettext zlib-dev bzip2
38 aufs-utils aufs m4 syslinux-extra pcre pcre-dev bash xorg-dev mercurial
39 rsync dropbear tazlito"
Это список пакетов, которые устанавливаются командой # cook setup, чтобы не повторять в рецепте для каждого пакета BUILD_DEPENDS="gcc ..."
Первый же из списка slitaz-toolchain тянет за собой gcc.
Offline
Вы уж не злитесь, что я тут наговорю, может я и не прав, но я просто в шоке. Пока не столкнулся со сборкой, я думал, что Slitaz надёжный дистрибутив. а тут, на каждый чих проблемы полезли.
Так. Проверил права на ldd -rwx rx x. запускаю от пользователя - не фурычит, от рута тоже.
Пофигу, ввел "cook setup" пошли настройки и скачивания/установки. Предложили перейти на bash, (тут я задумался,а на чём я сидел? ash? dash? Может в этом проблема? перешёл на bash. После того как всё отработало - ldd начал работать. По крайней мере в той же консоли. Проверил им gcc, все требуемые библиотеки на месте. Должно работать.
Но при сборке fuse-emulator выдаёт всё ту же ошибку gcc. И сам "gcc -V" ругается на "-V" Перезагружал комп, всё одно, не фурычит.
Снова накатил в виртуалке новый Slitaz, первым делом сделал "cook setup" и о чудо, оно работает. Почти, по крайней мере компилирует и собирает.
По правке рецепта fuse-emulator: в строке сборки стоит $CONFIGURE_ARGS а они-то где указаны? В самом рецепте не увидел переменной, добавил "--with-sdl" и в зависимостях libsdl, и для сборки libsdl-dev. Сборка не прошла, говорит sdl-config не найден. Проверил где он лежит, оказалось в libsdl-dev, который перед сборкой, вроде как, автоматически устанавливается (судя по логам) Попробовал добавить в зависимости все libsdl пакеты, не помогло. Потом взял и вручную установил libsdl и libsdl-dev и только после того, когда они подтянули то, что требуется пакету libsdl-dev (mesa-dev и много чего ещё), всё собралось. При этом я так и не понял, как же это всё устанавливать в систему? попробовал "cook fuse-emulator-sdl --install" - Нифига он пакет не устанавливает. В системе не появилось нужных файлов, он просто ещё раз всё собрал. Нашёл этот пакет и установил вручную. Установилось, запускается. Но! Пакет не содержит файлов, которые идут в /usr/shape/applications /usr/share/pixmaps, как они появились в оригинальном пакете fuse-emulator? я так и не понял.
Бардак. И в моей голове тоже.
Я так понял, что псевдонепритязательность системы выливается в то, что при кукинге не устанавливаются зависимости зависимостей, в результате чего ничего всё равно невозможно собрать - это раз. Сломать систему оказалось легче чем я думал, я просто вручную установил несколько пакетов в систему и сборочное окружение сломалось в нескольких установках одинаково. И не факт, что если я установлю ещё что-то на эту, работающую, систему, оно опять не слетит. В принципе, мне пару пакетов только собрать, но как вы при таком живёте? не понимаю.
И ещё. Просто по компьютеру. Заметил, что на системе, для которой это всё делалось, эмулятор тормозит. Какое-то лёгкое притормаживание, которого на gtk версии небыло. Интересно, от чего это. Процессор занят процентов на 22-25, абсолютно никакой разницы, в окне или на полную, притормаживает. В консоли никаких жалоб не вижу. Пробовал в виртуалке запускать - никаких тормозов. На системе стоит sis видеокарточка, только программный opengl, может это влияет? но процессор же в простое, ничем не занят!
А я ещё мечтал emu80 собрать...
Offline
> как вы при таком живёте? не понимаю.
Цитирую /usr/share/doc/cookutils/cookutils.ru.html (есть в меню lxpanel)
"два рекомендованых способа работы: собирать непосредственно на хосте или собирать в изолированном chroot-окружении (для защиты хоста)"
Забыл об этом сказать, т.к. не устанавливаю, а использую "live" со своим набором пакетов.
> Сломать систему оказалось легче чем я думал, я просто вручную установил несколько пакетов
Какиx именно? Давай /var/log/slitaz/tazpkg.log
Обычно ломается от удаления, когда есть общие файлы. (проверяется [c]# tazpkg check[/c])
> Предложили перейти на bash? Может в этом проблема?
Вполне может быть. Все системные скрипты используют busybox. По умолчанию ответ 'нет' на вопрос про bash явно не просто так.
> в строке сборки стоит $CONFIGURE_ARGS а они-то где указаны?
http://doc.slitaz.org/ru:cookbook:wok#%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D0%B8-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0
>Пакет не содержит файлов, которые идут в /usr/shape/applications /usr/share/pixmaps, как они появились в оригинальном пакете fuse-emulator? я так и не понял
Еще раз прочитай предыдущие сообщения:
http://forum.slitaz.org/topic/%d1%8d%d0%bc%d1%83%d0%bb%d1%8f%d1%82%d0%be%d1%80%d1%8b-%d1%81%d1%82%d0%b0%d1%80%d1%8b%d1%85-%d0%ba%d0%be%d0%bc%d0%bf%d1%8c%d1%8e%d1%82%d0%b5%d1%80%d0%be%d0%b2#post-42777
http://hg.slitaz.org/wok/file/tip/fuse-emulator/stuff
[c]# cook setup[/c]
[c]# cook setup --wok[/c]
[c]# ls -l /home/slitaz/wok/fuse-emulator/stuff[/c]
> На системе стоит sis видеокарточка, только программный opengl, может это влияет?
> программный opengl
Ещё бы оно не влияло. "программный opengl" 4 ядра сожрет и мало будет. Есть пакеты для sis в экспериментальном репозитории, не факт, что заработают.
http://cook.slitaz.org/undigest/cooker.cgi?pkg=sis
http://cook.slitaz.org/undigest/cooker.cgi?pkg=mesa7 (но сначала пробуй с обычной mesa)
Offline
Как вы цитаты и коды тут ставите?
Какиx именно? Давай /var/log/slitaz/tazpkg.log
А я же перезаливал пакет. Но с предпоследней попытки, где всё сломалось, устанавливал вручную только все libsdl с dev пакетами, gcc, make, automake, autoconf (glibc-dev стоял и после тоже пробовал переустановить). Всё что притянулось ими - то и сломало. Или оно вообще не предусмотрено работать не из cook окружения? Я понимаю, маны читать надо, но кто же это делает?
В любом другом линуксе накатил нужные пакеты и пошёл собирать, а тут накатил и всё поломалось 
Насчёт $CONFIGURE_ARGS уже нашёл, извиняйте.
за sisовский драйвер спасибо, попробую, а то совсем грустно, и как его вкатить, просто установить или какие-то пакеты вручную удалить надо? Однако в проблемах эмулятора виноват не он.
Насчёт проблем с самим эмулятором - там что-то со звуком, sdl и пульсом (его отсутствием). Чтобы проверить, отключил звук и никаких тормозов.По их мэйллистам выходит, что сначала у них была эта проблема, потому что у всех появилась пульса, что-то они патчили, а теперь, видимо, без пульсы проблема. Посмотрел на дебьяновский сорспакет, там у них какие-то патчи, чтобы не использовало sdl-sound, но оно для тоже пульса сделано, попробую наложить, но неуверен.
Кстати, в той же настроенной виртуалке собрал и последнюю версию fuse 1.2.0, пришлось и libspectrum обновить. Думал проблема будет решена. Но нет. Буду разбираться.
И всё же, почему в виртуалке тормозов нет? На компе такое ощущение, что он или рисует или воспроизводит звук, поочереди, при этом проц не загружен, не в маломощьности дело. А в виртуалке нормально.
Нет. и в виртуалке тормозит. я совсем дурной.
Offline
Да. Без cook вообще ничего не собирается и ломается. Нельзя просто взять и компильнуть чего-нибудь. Если устанавливать всякие automake, gcc и прочие сборочные штуки, сразу всё разваливается. А если использовать cook, то надо по умному накладывать патч. Вроде получилось. Почти.
Выкладываю рецепт и патч (его надо в stuff засунуть). Если можете, посмотрите пожалуйста. Что не устраивает - не собирается, пока не установишь libsdl libsdl-dev в систему. Хотя в зависимостях пакета указаны и устанавливаются при кукинге, но проба sdl всё равно не проходит пока не установишь в систему. Потом проблема с aclocal. в гугле подсмотрел решение, но сам не понимаю, что я там сделал %) И не понял, как же копируется, иконка и desktop файл в /usr/share/applications? В оригинальном рецепте fuse-emulator этого нет, но срабатывает, а мне что делать?
Вот. Зато свежий fuse-emulator на sdl, с полноэкранным режимом и работающими фильтрами увеличения(в gtkшной не работают). Ему нужен новый libspectrum 1.2.0, но у него в рецепте просто подправил версию, также и в libspectrum-dev.
Если есть желание, соберите пакет в репе, пожалуйста, с нормальными правками, по умному.
Offline
Короче... я даже файлы залить нев состоянии... Вот содержимое configure.patch
[c]
Index: fuse-emulator-sdl-1.2.0
===========================================================
--- fuse-emulator-sdl-1.2.0/configure.ac
+++ fuse-emulator-sdl-1.2.0/configure.ac
@@ -604,10 +604,7 @@
dnl
AC_MSG_CHECKING(which sound routines to use)
-if test "$UI" = sdl; then
- SOUND_LIBADD='sound/sdlsound.$(OBJEXT)' SOUND_LIBS='' sound_fifo=yes
- AC_MSG_RESULT(SDL)
-elif test "$dxsound_available" = yes; then
+if test "$dxsound_available" = yes; then
SOUND_LIBADD='sound/dxsound.$(OBJEXT)' SOUND_LIBS='-ldsound -lole32 -ldxguid'
AC_MSG_RESULT(DirectX)
AC_DEFINE([DIRECTSOUND_VERSION], 0x0700, [DirectX 7 or higher is required])
[/c]
Offline
Chelobaka,
на каком-то старом СлиТазе эмуляторы работали нормально. А потом, на следующей версии СлиТаза начались рывки звука. Вот только не помню, это было в третьей и четвертой версиях, соответственно, или всё же в четвертой и пятой. Лекарство мне неизвестно. Эмуляторы забросил.
И не понял, как же копируется, иконка и desktop файл в /usr/share/applications? В оригинальном рецепте fuse-emulator этого нет, но срабатывает, а мне что делать?
Это такое поведение, оговоренное в документации. Если в стаффе обнаруживается десктопный файл с таким же названием, как и название пакета, то он автоматически копируется в собираемый пакет по стандартному пути /usr/share/applications. Также, если в стаффе обнаруживается значок в формате png с таким же названием, как и название пакета, то он автоматически копируется в собираемый пакет по стандартному пути /usr/share/pixmaps.
Offline
Я выложил рецепт и патч, исправляющий проблему со звуком в FUSE для версии 1.2.0. Не знаю, как это сделать по нормальному, тут форум не принимает архивов и даже патч забраковал, хотя он был переименован в txt.
У себя проверил (предварительно пересобрав и libspectrum libspectrum-dev), работает, звук не заикается. Но со сборкой проблемы, как я писал, указанные в зависимостях sdl-dev пакеты почему-то не отрабатывают так как надо. Они устанавливаются (судя по логам кукера) но configure выдаёт ошибку и кукер обратно всё удаляет. Приходится вручную установить, тогда работает. Не знаю почему.
А насчёт иконки и десктоп файла - я их переименовывал, почему-то тоже не работает. Я назвал именно так, как назвал пакет fuse-emulator-sdl.
Но, вы, я так понял, не в настроении копать. Попробую толкнуть мейнтейнера фузи, если он ещё при делах, уж больно древний пакет.
А насчёт emu80, с которого всё началось, автор прислал возможную ошибку:
Я посмотрел там логи - в файле CMakeLists.txt пропущен io_vt57.cpp
Но я пока в слитазе не решаюсь пробовать собирать, я кукер пока не освоил настолько. А на 64битном, думаю, и пробовать не стоит.
Offline
Pages: 1
[ Generated in 0.018 seconds, 7 queries executed - Memory usage: 1.61 MiB (Peak: 1.77 MiB) ]