понедельник, 2 сентября 2019 г.

Установка библиотек qt4, qt5 для x86_64 и android, ide qtcreator на Fedora 30 и Ubuntu 16.04

Устанавливаем ide с либами отсюда, выбираем OpenSource, скачиваем установщик Qt Online Installer for Linux (64-bit). Я ставлю в директорию /opt/qt, показываются LTS-сборки, ставлю версию 5.12.5:

Для сборки проектов на qt ставим компилятор и toochain:
sudo yum groupinstall "C Development Tools and Libraries" 
sudo yum install mesa-libGL-devel

Установка либ qt4 для x86_64 из репозитария:
sudo yum install qt-devel-4.8.7

Источники:
1) https://doc.qt.io/qt-5/linux.html
2) https://dougie.io/linux/qt-creator-fedora/
3) https://fedoraproject.org/wiki/Qt_development
4) https://forums.fedoraforum.org/showthread.php?221127-how-can-i-install-QT4-library
5) https://developer.fedoraproject.org/tech/languages/c/cpp_installation.html

вторник, 27 августа 2019 г.

Сборка статических либ Qt4 для Beagle Bone Black с поддержкой D-Bus на Fedora 30/Ubuntu 16.04

Сборка qt 4.8.6 для bbb (linaro4.9) без поддержки dbus рассмотрено здесь. На бигл боне работает ядро 4.1.0, в котором используется следующая версия dbus:

root@arm:~# dbus-daemon --version
D-Bus Message Bus Daemon 1.8.16

1. Скачиваем последние исходники expat (сейчас это 2.2.9), распаковываем в локальную папку (/mnt/Data/Libraries/bbb/expat-2.2.9), переходим в неё, собираем:

cd /mnt/Data/Libraries/bbb/expat-2.2.9

export CC=/usr/local/tools/linaro-gnueabihf-4.9/bin/arm-linux-gnueabihf-gcc
export CXX=/usr/local/tools/linaro-gnueabihf-4.9/bin/arm-linux-gnueabihf-g++
./configure --host=arm-linux --prefix=/usr/local/tools/expat-2.2.9
make
sudo make install

2. Скачаем исходники dbus 1.8.16 отсюда, распакуем в локальную папку (/mnt/Data/Libraries/bbb/dbus-1.8.16).

Для сборки под Fedora30 нужны хедеры пакета libsystemd-dev:

sudo yum install systemd-devel
Переходим, собираем:

cd /mnt/Data/Libraries/bbb/dbus-1.8.16

make distclean

export CC=/usr/local/tools/linaro-gnueabihf-4.9/bin/arm-linux-gnueabihf-gcc
export CXX=/usr/local/tools/linaro-gnueabihf-4.9/bin/arm-linux-gnueabihf-g++

export CPPFLAGS='-I/usr/local/tools/expat-2.2.9/include'
export CFLAGS='-I/usr/local/tools/expat-2.2.9/include'
export LDFLAGS='-L/usr/local/tools/expat-2.2.9/lib'

./autogen.sh --includedir=/usr/include --host=arm-linux --enable-abstract-sockets -with-xml=expat
./configure --prefix=/usr/local/tools/dbus-1.8.16 --host=arm-linux --with-x=no --enable-abstract-sockets -with-xml=expat
make


Ошибка при вызове make на Fedora30:

  CC       libdbus_internal_la-dbus-userdb-util.lo
dbus-userdb-util.c:33:30: fatal error: systemd/sd-login.h: No such file or directory
 #include <systemd/sd-login.h>
                              ^

3. Создадим заново папку для qt 4.8.6 с поддержкой dbus.

Скачиваем версию qt 4.8.6 отсюда и распаковываем в определенную папку для сборки (у меня папка /mnt/Data/Libraries/bbb/qt_4.8.6_linaro4.9_dbus) и копируем в неё содержимое архива с помощью mc, скопируем созданную ранее папку linux-arm-linaro-g++ в новую папку /mnt/Data/Libraries/bbb/qt_4.8.6_linaro4.9_dbus/mkspecs/qws/linux-arm-linaro-g++ :

Собираем qt 4.8.6:

cd /mnt/Data/Libraries/bbb/qt_4.8.6_linaro4.9_dbus
make confclean

export CPPFLAGS='-I/usr/include/ -I/usr/local/tools/expat-2.2.9/include -I/usr/local/tools/dbus-1.8.16/include'
export CFLAGS='-I/usr/include/ -I/usr/local/tools/expat-2.2.9/include -I/usr/local/tools/dbus-1.8.16/include'
export LDFLAGS='-L/usr/local/tools/expat-2.2.9/lib -L/usr/local/tools/dbus-1.8.16/lib'

./configure -v -embedded arm -platform qws/linux-x86_64-g++ -xplatform qws/linux-arm-linaro-g++ -prefix /usr/local/tools/qt_4.8.6_linaro4.9_dbus -little-endian -qt-gfx-transformed -static -confirm-license -opensource -no-accessibility -no-largefile -fast -no-phonon -no-phonon-backend -qt-zlib -no-qt3support -no-openssl -no-webkit -qt-sql-sqlite -dbus -nomake demos -nomake examples -nomake docs

Ошибка при вызове ./configure на Fedora30:
/usr/local/tools/linaro-gnueabihf-4.9/bin/arm-linux-gnueabihf-g++ -c -o project.o -pipe -m64 -DQMAKE_OPENSOURCE_EDITION -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/mnt/Data/Libraries/bbb/qt_4.8.6_linaro4.9_dbus/include -I/mnt/Data/Libraries/bbb/qt_4.8.6_linaro4.9_dbus/include/QtCore -I/mnt/Data/Libraries/bbb/qt_4.8.6_linaro4.9_dbus/src/corelib/global -I/mnt/Data/Libraries/bbb/qt_4.8.6_linaro4.9_dbus/src/corelib/xml -I/mnt/Data/Libraries/bbb/qt_4.8.6_linaro4.9_dbus/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/mnt/Data/Libraries/bbb/qt_4.8.6_linaro4.9_dbus/mkspecs/qws/linux-x86_64-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED  project.cpp
arm-linux-gnueabihf-g++: error: unrecognized command line option '-m64'

При сборке проекта с использованием тулчейна linaro(/usr/local/tools/linaro-4.9) и qt-4.8.6 (/usr/local/tools/qt_4.8.6_linaro4.9) у меня возникает ошибка: компилятор не находит заголовочный файл <QtDesigner/QDesignerCustomWidgetInterface>. Это произошло потому, что операция sudo make install не перекинула файлы дизайнера в установочную папку, надо сделать это за неё. Переписываем папки:
1) /media/Data/Libraries/bbb/qt_4.8.6_linaro4.9/include/QtDesigner -> /usr/local/tools/qt_4.8.6_linaro4.9/include/QtDesigner
2) /media/Data/Libraries/bbb/qt_4.8.6_linaro4.9/tools/designer -> /usr/local/tools/qt_4.8.6_linaro4.9/tools/designer

Источники:

четверг, 4 июля 2019 г.

Установка последней среды Arduino на Ubuntu 16.04/Fedora 31

1. Ubuntu. Можно действовать двумя способами: ставить из репы и через umake.

1.1. Установка из репозитария.

sudo apt-get install arduino arduino-core
1.2. Установка через umake.

Набираем в терминале:

umake electronics arduino

Моя папка для инсталляции по умолчанию:

/home/adil/.local/share/umake/electronics/arduino

Переходим в папку и запускаем:

./arduino

2. Fedora. Установка только из репозитария.

sudo dnf install arduino arduino-core

Использованные материалы:
1) https://askubuntu.com/questions/1025753/how-to-install-latest-arduino-ide
2) https://www.centennialsoftwaresolutions.com/blog/get-and-install-the-64-bit-arduino-1-8-7-ide-on-ubuntu-16-04-3

среда, 26 июня 2019 г.

Использование программатора для avr-контроллеров usbasp и avrdudess (gui-оболочки над avrdude) на ubuntu 16.04 и fedora 30

1. Для Ubuntu 16.04.

Устанавливаем пакеты Mono:
sudo apt-get install libmono-system-windows-forms4.0-cil

Устанавливаем avrdude и avr-gcc:
sudo apt-get install avrdude gcc-avr

Скачиваем zip-архив gui для avrdude avrdudess_20190209, распаковываем, переходим в распакованную папку, запускаем:
mono avrdudess.exe

Хороший аналог Bray's Terminal под linux - cutecom:
sudo apt install cutecom

2. Для Fedora 30.

Устанавливаем пакеты Mono:
sudo yum install mono-core

Устанавливаем avrdude и avr-gcc:
sudo yum install avrdude

Скачиваем zip-архив gui для avrdude avrdudess_20190209, распаковываем, переходим в распакованную папку, запускаем:
mono avrdudess.exe

3. Программа способна прочитать значения fuse-битов, но само выставление битов в программе сделано через байтовые значения fuse high byte, fuse low byte, fuse extended byte и онлайн-конфигуратор этих значений. Удобнее конфигурирование fuse-битов для записи в "чистый" avr-контроллер сделано под виндой в программе avrdude, с которой был скопирован основной функционал avrdudess, во вкладке "Fuses".

Ссылки:
1) http://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/
2) https://ph0en1x.net/77-avrdude-full-howto-samples-options-gui-linux.html
3) https://radiotech.kz/threads/nastrojka-usbasp-v-ubuntu.137/
4) Пример программы (мигание светодиодом), собранной под linux с помощью avr-gcc
https://fos.cmb.ac.lk/esl/programing-avr-ubuntu-14-04-usbasp/
5) http://www.societyofrobots.com/robotforum/index.php?topic=7004.0
6) https://ru.wikipedia.org/wiki/WinAVR

Подключение программатора USBASP к Arduino Nano