Настройка окружения и инструментов для компиляции программ на C для Kolibri в GNU Linux с исп. toolchain'а от Serge.

High-level languages programming questions
  • theonlymirage wrote:JohnXenox Если нам удастся побороть первый пункт, то будет идеально. Может Qemu кеширует содержимое папки при старте?
    Видимо побороть не получится. Эта такая фича Qemu. В документации написано "QEMU может автоматически создавать виртуальный образ диска FAT из дерева каталогов". В общем, если я правильно понял, то Qemu, во время запуска, создает образ с FAT из общей папки, со всем её содержимым, где-то в оперативной памяти. А когда работа Qemu прекращается, то Qemu сбрасывает содержимое образа обратно в папку. Ну, главное работает, а это уже не плохо.

    Upd: Хотя, вполне возможно, что разрабы не до конца реализовали функциональность. Потому что, в доке написано что функции чтения и записи, являются тестовыми.
    The Glass is Always Half Full! :mrgreen:
  • theonlymirage
    > Функция создания файлов внутри директории из Eolite не работает, но можно создавать файлы с помощью других приложений(например, TINYPAD) или копировать из других дисков/директорий.

    Какой код ошибки? Можешь предоставить скрин? И можешь свой QEMU вместе с образом запаковать и выложить куда-то? :)
    Надо разобраться, это странно, у меня вроде везде работает.
    Из хаоса в космос
  • Ссылка на тему добралена в http://kolibri-n.org/inf/hll/hll#cmm
    Как и на http://board.kolibrios.org/viewtopic.php?t=3540#p68870
    Из хаоса в космос
  • Leency wrote:Ссылка на тему добралена в http://kolibri-n.org/inf/hll/hll#cmm
    Как и на http://board.kolibrios.org/viewtopic.php?t=3540#p68870
    Спасибо. :D
    The Glass is Always Half Full! :mrgreen:
  • Хочу сообщить про ошибку, при установке

    Code: Select all

    /usr/local/kos32/bin/../libexec/gcc/mingw32/5.4.0/cc1: error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory
    То, нужно создать ссылку на более новую версию:

    Code: Select all

    sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
  • Чуть чуть обновил http://wiki.kolibrios.org/wiki/C/C%2B%2 ... .2FG.2B.2B
    Я добавил ссылку на эту тему.
    Можно, конечно, перенести из этой темы в вики, но она очень массивная, мне кажется просто ссылка и пример программы лучше
  • Чтобы лучше сохранить совместимость, устанавливать нужно в /home/autobuild:

    1. Создать каталог /home/USER/autobuild
    2. Сделать

    Code: Select all

    sudo ln -s /home/USER/autobuild /home/autobuild
    Создать там каталог tools, и работать в нем
    3. Дальше выполнить все как и в оригинале, только:
    - не переименовывать win32 в kos32
    - sdk с FTP Serg'а нужно распаковать не в /home/autobuild/tools/win32/lib, а в /home/autobuild/tools/win32/mingw32/lib. Потому что так на сервере. upd: ох бред какой. Надо вообще в sdk/lib распаковывать
    Теперь, в переменную PATH записать /home/autobuild/tools/win32/bin.

    Теперь, например вот этот Makefile работает без правок.
    Все таки лучше установить так, как это сделано на сервере автосборки.
    -------
    Чтобы не возникало путаницы:
    SDK с FTP - это не sdk, а скомпилированные статические библиотеки.
    а SDK с SVN можно назвать SDK.
    Архив с компилятором на FTP, это собственно и есть скомпилированный компилятор.
    Last edited by maxcodehack on Sun Jan 10, 2021 7:52 pm, edited 1 time in total.
  • Хочу сказать еще про один способ как вешать общие папки (и для qemu и для virtualbox)
    В qemu ограничения на размер общей папки. В этом способе ограничения нет.

    Code: Select all

    mkisofs -U -J -pad -o dump.iso ./
    Делаем ISO из текущей папки, цепляем к qemu или virtualbox - вуаля, все работает.
  • Да, сам по себе способ не плох. Я уже пробовал делать .iso из общей папки и загружать в qemu или в virtualbox (правда, я .iso чем-то другим создавал, сейчас уже не помню), но у меня образ жутко медленно грузился, поэтому я отказался от этого способа. А общая папка, работала быстрее (возможно из-за того, что была маленькая, но и программа, которую я писал не была большой, а больше мне и не надо было). В отличие от .img или .iso.
    The Glass is Always Half Full! :mrgreen:
  • В qemu может сгодилась и общая папка, но в virtualbox только этим способом получилось вообще наладить связь с окружающим миром из колибри.
  • maxcodehack wrote:В qemu может сгодилась и общая папка, но в virtualbox только этим способом получилось вообще наладить связь с окружающим миром из колибри.
    Я на хост машине поднял Apache и раздаю им файлы, а в Колибри качаю через WebView
    to infinity and beyond
  • То есть получится без перезагрузки просматривать.
    Ещё для шелла в колибри скрипт написал качающий файлы и запускающий вообще просто: запустил вм, видишь на хосте, нажимаешь на скрипт, запускается скачанные программа. Надо попробовать
  • Попробовал. Отлично. Устанавливал так:

    Code: Select all

    sudo apt-get update
    sudo apt-get install apache2
    sudo systemctl start apache2.service
    
    Получаем IP:

    Code: Select all

    hostname -I | awk '{print $1}'
    И по такому IP заходим в браузере.
    Все видно, отлично.
    Собственно сайт лежит на каком то IP, ну и файлы в /var/www/html/
    Туда можно от рута ложить файлы, и в квему через dl ну или webview смотреть/качать.
    И перезагружатся не нужно.

    Для автоматизации лучше юзать скрипт для шелл:

    Code: Select all

    #SHS
    /sys/network/dl -e http://192.168.100.8/fire
    /tmp0/1/Downloads/fire
    exit
    Например такой.
  • Who is online

    Users browsing this forum: No registered users and 2 guests