Сообщения sunjob
avr-gcc makefile, несколько целей для avrdude
добрый день
имеем
- makefile for avr-gcc
- avrdude
- несколько целей для прошивки (разные программаторы; разные параметры, разные по кол-ву и настройкам)
задача: настроить так, что бы при вызове цели flash - отрабатывала дефолтная цель для дудки (flash_usbasp,flash_ispmkii,flash_109), которая настраивается в начале makefile
ну, и, соотв., отрабатывали все остальные «конкретные» цели (flash_usbasp,flash_ispmkii,flash_109)
выкрутился рекурсивными вызовом этого-же makefile
FLASH_NAME ?= usbasp ###!!! дефолтный программатор
FLASH_DEV ?= usb
flash_usbasp : FLASH_NAME ?= usbasp
flash_usbasp : FLASH_BRATE = 115200
flash_usbasp : FLASH_BCLOCK = 4
flash_usbasp : AVRDUDE_FLAG += -b $(FLASH_BRATE) -B $(FLASH_BCLOCK)
flash_usbasp : flash_cmd
flash_ispmkii : FLASH_NAME = avrispmkII
flash_ispmkii : FLASH_BRATE = 115200
flash_ispmkii : FLASH_BCLOCK = 4
flash_ispmkii : AVRDUDE_FLAG += -b $(FLASH_BRATE) -B $(FLASH_BCLOCK)
flash_ispmkii : flash_cmd
flash_109 : FLASH_NAME = avr109
flash_109 : FLASH_BRATE = 9600
flash_109 : AVRDUDE_FLAG += -b $(FLASH_BRATE)
flash_109 : flash_cmd
###!!!
# рекурсивынй вызов, в зов-ти от цели
###!!!
flash :
ifeq ($(FLASH_NAME),usbasp)
$(MAKE) flash_usbasp
endif
ifeq ($(FLASH_NAME),ispmkii)
$(MAKE) flash_ispmkii
endif
ifeq ($(FLASH_NAME),avr109)
$(MAKE) flash_avr109
endif
flash_cmd: $(TARGET).hex
$(AVRDUDE) -c $(FLASH_NAME) -P $(FLASH_DEV) -F $(AVRDUDE_FLAG) -U flash:w:$(OUTDIR)/$<
вопрос: можно-ли красиво обойтись без рекурсии?
!!! UPDATE !!! решение найдено
FLASH_NAME ?= name1
FLASH_NAME ?= name2
FLASH_NAME ?= name3
...
flash_name1 : FLASH_NAME =
flash_name1 : ARG = ...
flash_name1 : flash
flash_name2 : FLASH_NAME =
flash_name2 : ARG = ...
flash_name2 : flash
flash_name3 : FLASH_NAME =
flash_name3 : ARG = ...
flash_name3 : flash
flash : flash_$(FLASH_NAME)
$(FLASH_CMD)
...
make all - сборка проекта
make flash - прошивка дефолтным свистком (настраивается)
make flash_$NAME - прошивка кастомным свистком
«легкий» printf() и «удобное выравнивание»
добрый день
данный выкрутас
printf("arg: %02i:%02i:%02i, ",arg[0], arg[1], arg[2]);
прокатывает только при подключении «полного» фарша!
#
# Floating point printf version & Math-lib
#
-Wl,-u,vfprintf -lprintf_flt -lm
как выкручиваемсЯ? если не желательно использовать «толстый» вариант?
tag: avr avr-gcc print
CLion-2020.02.5 toolchain, clang, makefile, arduino plugin x32/64 trouble
Добрый день, собственно сабдж-ж-ж! Обращаюсь, прежде всего, к разрабам CLion-a
Не пишу на соотв. форум по очевидным и понятным причинам :о)
### Arduino-plugin
за основу взят плагин (с гитхаба), который заточен под дефолный PREFIX Arduino
если в системе установлена Arduino c кастомным PREFIX, то, естественно, сборка накроется ... :о)
предлагаю добавить template с тремя вариантами настроек в шаблон МандаринО-проекта
ну и ... для исправления ошибки нужно добавить настройку в шапку cmake-файла
PROJECT_DIR/cmake/ArduinoToolchain.cmakeну и далее, пересборка
Reload Cmake Project & Build ...шаблон
################################################################################
#
# шаблон-настройка для запуска Arduino-проектов на CLion-2020.2.5
#
# этот код надо добавить в шапку.
# PRJ_DIR/cmake/ArduinoToolchain.cmake
#
################################################################################
### ver.1 ###
#
# дефолтное расположение Arduino-окружения
# я не знаю куда по дефолту устанавливается мандарина, пусть будет так :о)
#
# set(ARDUINO_SDK_PATH /usr/bin/arduino)
#
### ver.2 ###
#
# "внутренние/кастомные" настройки
#
#set(ARDUINO_VER 1.8.13)
#set(ARDUINO_PTR $ENV{HOME}/dev/bin/arduino)
#set(ARDUINO_SDK_PATH ${ARDUINO_PTR}/${ARDUINO_VER})
### ver.3 ###
#
# если определена внешняя переменная ARDUINO_SDK_PATH используем это код
#
set(ARDUINO_SDK_PATH $ENV{ARDUINO_SDK_PATH})
################################################################################
первые два варианта - кастомная настройка
третий вариант - универсальный, берет настройку из окружения:
export ARDUINO_SDK_PATH=/home/$USER/dev/bin/arduino/1.8.13знатоки cmake могут объединить все три варианта в один универсальный, удобный и настраиваемый :о)
### Toolchain, CLang and Makefile plugin's
симптомы «косяков» проявляется в том, что сначала сваливает clang-daemon, затем makefile-plugin дает дубу, и все это в процессе «попытки» создания проекта, на базе makefile
далее выдается сообщение, что работа с makefile-ом невозможна из-за ошибки clang-plugin-а :о)
как выяснилось, toolchain-инструментарий собран под разную архитектуру :о)
что-то под х32, что-то под х64, примерно 50х50
такой подход будет работать только в х64 линухах с установленным х32 пакетами
т.о. лион только условно поддерживает работу на x32, да и ... «производитель» заявляет поддержку только х64 архитектуры :о) ...
ну вот, если это пригодится для сообщества, на здоровье! :о)
avr-toolchain's, makefile, qtcreator trouble
добрый день
исходные данные
- avr-toolchain (несколько версий)
- qtreator (версия меняться не будет)
- makefile (универсальный, кастомный, под себя :о)
трабла:
сборка с использованием разных версий toolchain's
при сборке в ком.строке - без проблем :о)
при использовании дефолтной версии avr-toolchain - qtcreator не выпендривается, все его устравивает
при использовании кастомных версии avr-toolchain - qtcreator видит след. сообщение как ошибку
avr-objcopy:-1: --change-section-lma .eeprom=0x00000000 never used
причем,
выхлоп сборки просто подкрашен красным, без отметки error
в окне issues - так-же красуется варнинг, без ошибки, но если ткнуть по данной строке и скопировать содержимое текста, получаем в качестве бонуса error:
avr-objcopy:-1: error: --change-section-lma .eeprom=0x00000000 never used
причем, сама сборка проходит нормально!!! :о)
т.е. данное сообщение не нравиться только qtcreator-у!
как бы ему мозги вправить на уровне терапии, без трепанаций :о)?
секция в Makefile
%.eep: %.elf
@echo
@echo $(MSG_EEPROM)
@echo $(TAG_STR) $@
@echo.
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O $(FORMAT) $(OUTDIR)/$< $(OUTDIR)/$@
# DEF (дефолтная версия тулчейна)
avr default toolchain:
- avr-binutils-2.25-i486-sl12.2
- avr-gcc-4.9.2-i486-sl12.2
- avr-gdb-7.8.1-i486-sl12.2
- avr-libc-1.8.1-i486-sl12.2
# custom avr-toolchain
3.4.2, 3.5.4, 3.6.2Slackware 12.2 x32
Qt Creator 3.1.2 / Based on Qt 4.8.7 (GCC 4.2.4, 32 bit)
### UPDATE ###
данный ключик спасает отца русской демократии :o)
--change-section-lma .eeprom=0 --no-change-warnings --no-adjust-warnings \
sudo GUI скрипт / usb_flash_tool - простая утилита для работы с флешкой
сначало тема называлась так
sudo GUI скрипт
в процессе ... была пеереименована в
usb_flash_tool - простая утилита для работы с флешкой
подробности после UPDATE
...
добрый день
bash GUI-only скрипт (без использования консоли)
1. zenity для диалога
2. «sudo» для «операций»
3. лог в кат. пользователя
если использовать «sudo без пароля», то все ОК (т.е. для «локального» использования)
в противном случае необходимо вводить пароль (в консоли)
ВОПРОС: как правильно разрулить ситуацию, для «обычного» пользователя с «обычным sudo»?
можно использовать desktop-ориентированные «sudo-GUI» утилиты, но есть неудобства
- их целый зоопарк, на каждый desktop свой свиток
- при наличие «sudo без пароля» добавляется ненужный диалог
хотелось-бы ввести пароль один раз, и далее больше не «дергать».
возможно, в более поздних версиях «свистелок» это уже есть, но в «старом» kdesu этого нет, и требует каждый раз заново ввода пароля
нужно общее, универсальное решение для основных дистрибьютивов (в случае разумных решений/доработок)
тестировалось на
slackware 12.2/14.*
tde3-14/kde4
tag: bash,zenity,sudo,gui
спасибо
### UPDATE ###
простая утилита для работы с флешкой
позволяет: форматировать, создавать и восстановливать образы флешек, поддерживается сжатие
особенности: простая, поддерживает block-списки, «защищающие» локальные и «прочие» серьезные диски от форматирования, написана на бабаше :о)
окончательный вариант проекта
usb_flash_tool
README
dd - проблема с ehci_hcd-модулями, валит службы (mediamanager)
добрый день
URL1 упоминание о подобной проблеме
URL2 интересная тема, но пока не враскурил на предмет «замазанности» :о)
ну и так, еще встречаются в «старом инете» подобные глюки :о)
исходные
- slackware-12.2
- kernel-2.6.33.20.4-smp
- TDE-3.5.12
- coreutils-8.25-i586-sl12.2 / source from sl14.2
- udev-135-i486-sl12.2
1. сама команда dd отробатывает без ошибок
2. после отработки, невозможно отмонтировать флешку
3. накрывается mediamanager
4. выхлопы
5. временное решение
проблема проявляется только при обработке непосредственно воткнутой флешки, если подключить SD-карту, через кард-ридер, то все нормально
понятное дело, старое ядро, кот. ск.всего «замазано» в подобных «фичах», старая ось, старое DE... это все понятно... :о) хотелось бы неспешно, спокойно разобраться более детально в проблеме, что-бы, по возможности избегать «радостной встречи»
спасибо
...
подробности
1. сама команда отробатывает без ошибок
dd if=/dev/sdf of=~/tmp/USB-FLASH.iso status=progress
4020486656 bytes (4.0 GB, 3.7 GiB) copied, 740.05 s, 5.4 MB/s
7856128+0 records in
7856128+0 records out
4022337536 bytes (4.0 GB, 3.7 GiB) copied, 740.442 s, 5.4 MB/s
2. после отработки, невозможно отмонтировать флешку
Unfortunately, the device system:/media/sdf1 (/dev/sdf1) named '4.0G Removable Media' and currently mounted at /media/disk could not be unmounted.
Unmounting failed due to the following error:
Method "Unmount" with signature "as" on interface "org.freedesktop.Hal.Device.Volume" doesn't exist
Moreover, programs still using the device have been detected. They are listed below. You have to close them or change their working directory before attempting to unmount the device again.
Cannot stat /media/disk: No such file or directory
Cannot stat /media/disk: No such file or directory
Cannot stat /media/disk: No such file or directory
3. накрывается mediamanager
The KDE mediamanager is not running.
логи/выхлопы
#
# /var/log/messages
#
Jul 14 15:51:47 main hald: mounted /dev/sdf1 on behalf of uid 1000
###!!! тут идет работа dd
Jul 14 16:05:59 main hald: unmounted /dev/sdf1 from '/media/disk' on behalf of uid 1000
Jul 14 16:06:02 main kernel: usb 2-1.6: USB disconnect, address 5
Jul 14 16:06:03 main kernel: usb 2-1.5: new high speed USB device using ehci_hcd and address 6
Jul 14 16:06:03 main kernel: ehci_hcd 0000:00:1d.0: fatal error
Jul 14 16:06:03 main kernel: ehci_hcd 0000:00:1d.0: force halt; handshake f92aa024 00004000 00004000 -> -110
Jul 14 16:06:03 main kernel: ehci_hcd 0000:00:1d.0: HC died; cleaning up
Jul 14 16:06:03 main kernel: usb 2-1.5: device descriptor read/all, error -108
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot disable port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot reset port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot disable port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot reset port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot disable port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot reset port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot disable port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: unable to enumerate USB device on port 5
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot disable port 5 (err = -19)
Jul 14 16:06:03 main kernel: usb 2-1: USB disconnect, address 2
Jul 14 16:06:03 main kernel: usb 2-1.3: USB disconnect, address 3
#
# /var/log/debug
#
Jul 14 15:50:14 main kernel: wlan0: no IPv6 routers present
Jul 14 15:51:00 main kernel: sd 8:0:0:0: [sdf] Mode Sense: 23 00 00 00
Jul 14 15:51:46 main kernel: sd 9:0:0:0: [sdf] Mode Sense: 23 00 00 00
#
# /var/log/kdm.log
#
X.Org X Server 1.4.2
Release Date: 11 June 2008
X Protocol Version 11, Revision 0
Build Operating System: Slackware 12.1 Slackware Linux Project
Current Operating System: Linux main 2.6.33.20.4-smp #1 SMP PREEMPT Wed Nov 21 16:29:32 GMT-7 2018 i686
Build Date: 30 June 2008 11:35:29PM
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Jul 14 15:50:08 2020
(==) Using config file: "/etc/X11/xorg.conf"
(II) Module "ramdac" already built-in
AUDIT: Tue Jul 14 16:09:17 2020: 4133 X: client 10 rejected from local host (uid 0)
#
# /var/log/syslog
#
Jul 14 15:49:36 main kernel: NVRM: loading NVIDIA UNIX x86 Kernel Module 256.53 Fri Aug 27 21:03:42 PDT 2010
Jul 14 15:50:03 main dhcpcd: /sbin/dhcpcd: not running
Jul 14 15:50:03 main last message repeated 3 times
Jul 14 15:51:00 main kernel: sd 8:0:0:0: [sdf] Assuming drive cache: write through
Jul 14 15:51:01 main last message repeated 2 times
Jul 14 15:51:46 main kernel: sd 9:0:0:0: [sdf] Assuming drive cache: write through
Jul 14 15:51:46 main last message repeated 2 times
--> this
Jul 14 16:06:03 main kernel: ehci_hcd 0000:00:1d.0: fatal error
Jul 14 16:06:03 main kernel: ehci_hcd 0000:00:1d.0: force halt; handshake f92aa024 00004000 00004000 -> -110
Jul 14 16:06:03 main kernel: ehci_hcd 0000:00:1d.0: HC died; cleaning up
Jul 14 16:06:03 main kernel: usb 2-1.5: device descriptor read/all, error -108
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot disable port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot reset port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot disable port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot reset port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot disable port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot reset port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot disable port 5 (err = -19)
Jul 14 16:06:03 main kernel: hub 2-1:1.0: unable to enumerate USB device on port 5
Jul 14 16:06:03 main kernel: hub 2-1:1.0: cannot disable port 5 (err = -19)
5. временное решение (пендиле-костыль)
sudo rmmod ehci_hcd
sudo modprobe ehci_hcd
bash, передача команды строкой
добрый день
надо передать «составную» команду строкой
«исходный вариант команды» - закомментирован
с набегу/нагуглю не разобрался
понимаю, что непонимаю глубинных смыслов башизма :o)
буду благодарен за волшебные пендили, подсказки, ссылки, мымсли идеи (желательно, без особых извращений современного баша)
спасибо
#!/bin/sh
#///////////////////////////////////////////////////////////////////////////////
cmd()
#///////////////////////////////////////////////////////////////////////////////
{
$CMD
}
#///////////////////////////////////////////////////////////////////////////////
cd $TMP
touch test_image.{iso,img,txt}
#
# исходный вариант
#
#zenity \
#--file-selection --save \
#--filename=dvd.iso \
#--file-filter="*.iso *.img" \
#--title="Выбор файла"; exit 1
X=$'\040'
MASK="*.iso *.img" ; TITLE="Выбор файла"
MASK="*.iso$X*.img" ; TITLE="Выбор$Xфайла"
CMD="\
zenity \
--file-selection --save \
--filename=dvd.iso \
--file-filter=*.iso\ *.img \
--title=Выбор\ файла \
"
CMD="\
zenity \
--file-selection --save \
--filename=dvd.iso \
--file-filter=*.iso$X*.img \
--title=Выбор$Xфайла \
"
CMD="\
zenity \
--file-selection --save \
--filename=dvd.iso \
--file-filter=$(echo *.iso$X*.img) \
--title=$(echo Выбор$Xфайла) \
"
cmd
exit 0
исходные
bash-3.1.017-i486-2
slackware 12.2
qtcreator - обьектный файл с общими реализациями
qtcreator - проект из шаблон-визарда qt-widgets, довешиваю «свои плюшки»...
есть мини-библиотека, состоит из 3х исходников:
- lib1 c/h (использует lib2)
- lib2 c/h (более низкоуровневая)
- func c/h (рутина, используется обоими lib1 & lib2)
при написании библиотеки извратился простым подключеним «реализаций» вместе с «хедерами»
сборка/отладки библиотеки проходит без проблем
теперь хочу «правильно» добавить библиотеку в qtcreator-проект (хедеры отдельно, реализация отдельно)
если просто подключить в *.pro-файле
HEADERS += ini/lib1.h
HEADERS += ini/lib2.h
HEADERS += ini/func.h
SOURCES += ini/lib1.c
SOURCES += ini/lib2.c
SOURCES += ini/func.c
то получаем «анрезолв/func», что и не удивительно.
если добавляем «потерянные» рутины (func.o) («всевозможными» методами) - то получаем коллизию/множественное определение, (в исходнике и в обьектнике), что тоже не удивительно.
как правильно подключить библиотеку? точнее, не саму библиотеку, а обьектный файл с общими реализациями рутины (понятное дело, нужно без установки библиотеки в систему :о)
...
qtcreator-3.1.2
qt-4.8.7
Qt5, приплыли?
добрый день
за новостями не слежу, был немного удивлен:
http://download.qt.io/official_releases/qt/5.15/5.15.0/OFFLINE_REAMDE.txt
Due to The Qt Company offering changes, open source offline installers are not available any more since Qt 5.15. Read more about offering changes in the https://www.qt.io/blog/qt-offering-changes-2020 blog.
If you need offline installers, please consider our new Qt for Small Business offering: https://www.qt.io/blog/available-now-qt-for-small-businesses
ваше мнение, комменты...
спасибо
с/с++/qt4 формошлепство на linux для простого пользователя
добрый день
1. планы, описание задачи:
хочу разобраться и наработать методику/код «формошлЁп-скрИптинга» для простого пользователя :о)
- GUI-формы будут на QT4/Lazarus (в данном случае рассматриваем QT4)
в GUI-форме:
- вызовы скриптов, внешних команд и пр...
- получение выхлопа скрипта & ERRORLEVEL для дальнешего анализа
т.к. GUI будут на QT4, то запуск скрипта / чтение выхлопа / ERR_LEVEL, ск.всего, будет на базе QT4
2. настройки и рабочие скрипты
- ini-файл с настройками
- каталог со скриптами (либо стандартный PATH)
3. чтение ini-файла, запуск скриптов
- GUI-программа загружает в буфер содержимое ini-файла
- реакция на кнопку -> вызов обработчика, типа:
run_id(int ID);
- запуск скрипта, анализ выхлопа/кода возврата и ... дальнейшая реализация в зов-ти от фантазии :о)
КОД_1 - запуск внешнего скрипта
архив code_1.tar.xz
Примерный выхлоп основной программы:
### qDebug()
exitCode () = ' 2 '
exitStatus() = ' 0 '
str_out = ' "test script 2, arg=--add_scr2_arg --add_qt_app_arg
" '
str_err = ' "" '
### printf()
exitCode () = '2'
exitStatus() = '0'
str_out () = 'test script 2, arg=--add_scr2_arg --add_qt_app_arg
'
str_err () = ''
ВОПРОСЫ
1. qDebug - имеет «обрамление» с обоих сторон строк в виде:
' "' + '" 'ВОПРОС 1: это особенности отладочного вывода qDebug ?
в обоих случаях qDebug & printf при «выхлопе текста» запускаемого скрипта - «странная» печать строки, с переносом в конце, хотя сам выхлоп скрипта без переноса
str_out () = 'test script 2, arg=--add_scr2_arg --add_qt_app_arg
' !!! <-- вот тут перенос конца строки
ВОПРОС 2 :почему?
прочие ВОПРОСЫ:
- может, для внутреннего использования, лучше/проще по старинке использоавть string, или вообще простой буфер char* str?
мне самому не оч. нравиться использовать qt-классы, для таких простых операций, но !!! логично писать в той «эко-системе» в которой пишешь GUI, мало-ли чего там еще в будущем шарахнет использовать, передать «какой особенный» параметр в QT4/GUI... имхо
уточнение:
- именно QT4
- согласен, для простых GUI на cli/YAD/Zenity, логично «это» делать на bash/perl итд, кому, что удобнее
- в инете есть много «простых» примеров с «кодом» на с/с++, но я не встречал что-бы было реализовано одновременно при запуске скрипта получение выхлопа и кодa-возврата.
- так-же не встречал подходящих/удобных/минимальных примеров/библиотек парсинга ini-файла, что-бы была организована работа с буфером а не с потоками (т.к. каждый раз для чтения ini-файла создаются/закрываются потоки... это не оптимально, надо будет подходящую библиотеку доробатывать, на примете inih, посмотрим, что можно сделать с ней :о)
буду благодарен за подсказки, ссылки, код итд ...
вопросы по написанию GUI и парсинг ini-файла будут позже
TAG: c,c++,gui,qt4,scripting
### UPDATE ###
протестировал (немного подрихтовал под себя) библиотеку
IniParser
простенькая, удобная, вполне годная!
итак, имеется два варианта работы с ini-файлом
- IniParser
- QSettings
Lazarus/fpc медленная сборка на slackware-14.2 x64
добрый день
на «subj-е» время сборки пустого проекта с одной кнопкой проходит крайне долго
исходники/проект находится на ram-disk-e
проверял в vbox-е на других «основных» дистрибьютивах, так-же замечено, что на х64 собирается значительно медленнее, но не так сильно, прим. 1-2 сек (из lazarus-gui)
так-же просил сделать тестовый замер у боевых программеров, аналогично, те-же результаты 1.8-2 сек
-------------------------------------------------
os/ver arch time/sec
-------------------------------------------------
slackware 12.2 x32 - gui 0.1 - 0.6
slackware 14.2 x64 - gui 9.0 - 10.0 <-- subj
slackware 14.2 x64 - cli 8.0 - 15.0
etc/more/vbox x32 - gui 0.5 - 1.0
etc/more/vbox x64 - gui 1.0 - 2.0
ubuntu x64 - gui 1.8 - 2.0
-------------------------------------------------
основные мысли
1. видна тенденция, что на х64 - сборка проходит дольше
2. в «основных» дистрибьютивах разница не значительная: 1-2 сек на х64, почти мгновенно на х32
3. сборка из ком.строки почему-то занимает больше времени, чем из гуев
4. без претензий на то, что повторная сборка тоже почти мгновенная итд итп...(кто-же спорит)
5. огромная разница между х32/64 замечена только на slackware
вот, последний пункт и вызывает больше всего непонимания (собственно, о ней и речь)
при всем, при том, что sl14.2_x64 даже без замеров, на глаз просто летает по сравнению с sl12.2_x32
(на одном железе и старом hdd)
по нек.выкусам из инета, «считается», что «это» из-за долгой линковки! тогда встречный вопрос, почему на старой х32-слаке сборка мгновенная?! :o)
набег на гугль особенно не помог, патчей на fpc/lazarus вообщем-то нету..., сборки, естественно, SlackBuild/самопальные
(пробовал всяко-разно, по многу и с внушением... не помогло)
выхлоп/сис.логи: ни чего информативного (по моему) не содержат, во вс.случае я не нашел
используемый софт:
fpc-3.0.4
lazarus-1.8.4
lazarus-2.0.4
lazarus-2.0.6
lazarus-2.0.8
лог сборки в консоли:
build from konsole: 8-15 sec
lazbuild ./project1.lpr
-->
main$ lazbuild ./project1.lpr
Hint: (lazarus) [RunTool] "/usr/bin/fpc" "-iWTOTP"
Hint: (lazarus) [RunTool] "/usr/bin/fpc" "-va" "compilertest.pas"
Info: (lazarus) Execute Title="Compile Project, Target: project1"
Info: (lazarus) Working Directory="/dev/shm/tmp/sun/ram/prj/"
Info: (lazarus) Executable="/usr/bin/fpc"
Info: (lazarus) Param[0]="-MObjFPC"
Info: (lazarus) Param[1]="-Scghi"
Info: (lazarus) Param[2]="-Cg"
Info: (lazarus) Param[3]="-O1"
Info: (lazarus) Param[4]="-g"
Info: (lazarus) Param[5]="-gl"
Info: (lazarus) Param[6]="-l"
Info: (lazarus) Param[7]="-vewnhibq"
Info: (lazarus) Param[8]="-Fi/dev/shm/tmp/sun/ram/prj/lib/x86_64-linux"
Info: (lazarus) Param[9]="-Fu/opt/lazarus-2.0.8/share/lazarus/lcl/units/x86_64-linux/gtk2"
Info: (lazarus) Param[10]="-Fu/opt/lazarus-2.0.8/share/lazarus/lcl/units/x86_64-linux"
Info: (lazarus) Param[11]="-Fu/opt/lazarus-2.0.8/share/lazarus/components/lazutils/lib/x86_64-linux"
Info: (lazarus) Param[12]="-Fu/opt/lazarus-2.0.8/share/lazarus/packager/units/x86_64-linux"
Info: (lazarus) Param[13]="-Fu/dev/shm/tmp/sun/ram/prj/"
Info: (lazarus) Param[14]="-FU/dev/shm/tmp/sun/ram/prj/lib/x86_64-linux/"
Info: (lazarus) Param[15]="-FE/dev/shm/tmp/sun/ram/prj/"
Info: (lazarus) Param[16]="-o/dev/shm/tmp/sun/ram/prj/project1"
Info: (lazarus) Param[17]="-dLCL"
Info: (lazarus) Param[18]="-dLCLgtk2"
Info: (lazarus) Param[19]="project1.lpr"
Hint: (11030) Start of reading config file /etc/fpc.cfg
Hint: (11031) End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 3.0.4 [2020/06/09] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
(1002) Target OS: Linux for x86-64
(3104) Compiling project1.lpr
(3104) Compiling unit1.pas
/dev/shm/tmp/sun/ram/prj/unit1.pas(16,28) Hint: (5024) Parameter "Sender" not used
(9022) Compiling resource /dev/shm/tmp/sun/ram/prj/lib/x86_64-linux/project1.or
(9015) Linking /dev/shm/tmp/sun/ram/prj/project1
/usr/bin/ld: warning: /dev/shm/tmp/sun/ram/prj/link.res contains output sections; did you forget -T?
//
// основная задержка.
//
(1008) 60 lines compiled, 8.6 sec
(1022) 3 hint(s) issued
хотелось-бы ускорить процесс сборки хотя-бы до «средне-статистических» х64 :o)
высказываемся, тыкаем носом, посылаем по ссылкам, набрасываем на вентилятор, кидаемся чепчиками, меряемся резьбой итд... :о)
спасибо
p.s. после некоторого «набега» подозреваю что это «общеизвестная» трабла : старая nvidia-карта / дрова + современный линух/ядра"
nvidia gts250
nvidia_340.108 krn/drv
kernel 4.4.217
### UPDATE ###
протестировал на vbox-е
sl14.1 x32 - 1-2 sec
sl14.2 x32 - 1-2 sec
sl14.2 x64 - 12-13 sec
«все время» уходит на линковку (и, по моему, результаты вполне показательны?!)
проблема именно в skackware и именно в архитектуре x64 (так, что nvidia с дрово-ядами, вероятно, отпадает)
### UPDATE ###
после сборки из карент-ветки тормоза, вроде как поутихли
binutils 2.26 -> 2.33.1
oprofile 1.1.0 -> 1.3.0
встречный вопрос: как корректно и правильно можно обновить эти пакеты? сдается мне что вообще нельзя!
###!!! UPDATE !!!###
rebuild this pack/patches - Lazarus build is OK
binutils ( 2.26.1-1ubuntu1~16.04.8 )
https://packages.ubuntu.com/ru/source/xenial-updates/binutils
Slackware 14.2+ as Rolling-Release
добрый день, любители слаки в карент образе :о)
тема: карент, как рабочЯя версия (ролинг релиз) на десктопе.
поделитесь опытом пользования, как ведет себя, в чем подвохи, где приходится подмазывать/подтыкивать, на что требует внимание, какие пакеты, что девелопим на машине, итд итп, все, что посчитаете нужным!
в свете очевидных моментов, видимо, надо будет потихоньку переползать на curent, т.к. release «немного» задерживается.
спасибо
p.s. поместил сюда, потому как «все эти пассы руками и пр.махинации» все-таки ближе именно к Develop (ну, либо перенесите куда надоть :о)
local simple no secure remote to host
добрый день
локальная сеть, куча vbox-linux машин, подключение к которым осущ. по ssh
изначально все б.м., но
- требуется авторизация (пароль)
- каждый раз при смене vbox-имиджа/системы требуется редактирование лок.настроек (для удаления ключа)
~/.ssh/known_hosts
иногда это выбивает из «мыслительно-рабочего процесса», плюс отнимает немного времени итд
понятное дело, что для связи по сети ssh-необходим, но для локальной связи (разработки чего-либо) можно (даже желательно) подключение без всяких этих наворотов, даже без логина/ввода пароля
несколькими набегами на настройки/гугль - не осилил (что есть то есть :о)
возможно ли?!
### ADD ###
вопрос по ходу:
- соединение шифруется или только авторизация (не уточнял этого вопроса... нет времени, но думаю шифруется всЁ)?
- если соединение полностью шифруется, то, естественно, есть накладные расходы на шифрование, вот в этом-то случае и хотелось-бы их сократить...
- т.е. вопрос актуален, есть «прямое/нЕшифрованное/типа опасное» соединение или все забито гвоздями?
спасибо
CLion IDE / Отключить Code Style
добрый день! subj - CLion 2018.1.2
ВОПРОСЫ:
- как отключить авто-коде-стайл?
- возможно существуют к.л. хак-возможности для этого? (в разумных пределах :о)
...
настройки Settings/Editor/Code Style - не помогают, не возможно добиться привычного поведения (расстановка по своему усмотрению отступов, скобок, кода !!! именно по своему усмотрению, с соотв. поведением отступов), это как минимум
так-же не помогают теги formatter
// @formatter:off
// @formatter:on
KDevelop/QTCreator/Geany настраиваются нормально
спасибо
TDE/Trinity 14.0.7/14.0.8/14.0.9 for Slackware
TDE/Trinity 14.0.7/14.0.8/14.0.9 for Slackware 14.2/14.2+ / сборка от русских физиков
Ноги, крылья… Главное — хвост!
- TDE 14.0.9 for Slackware 14.2/14.2+
- TDE 14.0.8 for Slackware 14.1/14.2/14.2+
- TDE 14.0.7 for Slackware 14.2/14+
описание сборки, установка, настройка в текстовом файле
tag: slackware tde trintiy desktop
XDG_RUNTIME_DIR прибили гвоздями? ваши мысли?!
добрый день
до Slackware 14.2+ не было никаких проблем :о)
переопределял для себя «кастомные» каталоги XDG_xxx - на RAM-DISK типа:
export XDG_RUNTIME_DIR=$RAM_DISK/.var/run
export XDG_CACHE_HOME=$RAM_DISK/.var/cache
в Slackware 14.2+ выяснилось то, что значение переменной XDG_RUNTIME_DIR игнорируется и системой под эти цели принудительно используется каталог:
/var/run/user/$ID
причем, если оставить «старое кастомное переопределение», то
KDE4/5 - будет игнорировать эту настройку и просто принципиально юзать «новый стандарт каталога»
/var/run/user/$ID
а вот TDE-14.0.7 будет честно пытаться использовать «кастомную настройку»
XDG_RUNTIME_DIR=$RAM_DISK/.var/run
причем, по умолчанию каталог
/var/run...
понятное дело, бодаться в лоб я не стал, использую «так как есть», и то, что «я чё-та да не знаю, Ё!»
но, хотелось бы услышать ваши мнения, идеи, все что думаете по этому поводу и, особенно, по поводу «а нахрена так делать?!» :о)
короче, просто поболагурим на «тему»
спасибо
p.s. уточняю, мне непонятно (больше всего волнует) не то, что TDE глючит, а почему весь мир/все остальные принудительно, как по договоренности игнорируют XDG_RUNTIME_DIR :o)
Slackware 14.2+ моношрифт не виден «как моношрифт»
добрый день
странное поведение «настроек шрифта», в панелях управления, диалогах выбора шрифта (такое поведение со многими шрифтами, но частный случай с моношрифтом Liberation-Mono)
liberation_fonts_ttf-2.1.0-x86_64-sl14.2+
/usr/share/fonts/TTF/LiberationMono-*.ttf
на скринах диалоги, панель управления из Trintiy-14.0.7, но это не DE-зависимая проблема, в KDE4 аналогично
в частности, шрифт не виден, если выбирать «системный моно-шрифт» в панели управления
Appearanca & Theme / Fonts / Fixed width
так-же не виден в диалоге выбора шрифта приложений
kwite - выбор шрифта для редактора
konsole - выбор шрифта
шрифт виден
панель управления, выбор любого шрифта, кроме моношрифта:
Appearanca & Theme / Fonts / *
так-же его можно выбрать в не KDE-приложении, например Geany
очевидно, проблемы в самом шрифте, его настройках, с разбегу не смог починить проблему, буду благодарен за ключевые слова, мысли, идеи, ссылки...
спасибо
p.s. думаю, что это дисто-дависимая трабла, т.к. в
slacware14.2 - все нормально
slacware14.2+ - проблемка
Slackware 14.2+ x64, KDE-5.20.02, NVidia GTS250
добрый день
проблема с запуском старой в.карты
- драйвера с оффсайта (*.run)
- устанавливается только последний драйвер
- более «ранние» не «собираются» (т.е «выбора на посмотреть» нет)
- с этими дровами нормально стартуют: «родная» KDE4 & TDE14.0.7
по поводу KDE5
- sddm запускается через раз (по моему, пересборка видеодров помогает)
- можно залогинуться/запустить KDE5 из triniti-tdm
- рабочий стол «как бы запускается», но не «проявляется» панель
- (*) процесс plasma-shell запускается (или как там его?! , пишу по памяти...)
- (*) перезапуск процессса приводит к перегрузке «стола», но панель все равно не стартует
- можно запустить KDE5-приложения, стартуют нормально, оформление трушное, все на месте
- очистка профиля, пустой пользователь - без результата
- wayland-сессия, вообще пустая, через нек. время (или попытка нажатия на шорткаты) - проявляются артефакты, типа по ссылке, но более жесткие
запуск Live KDE5
- без проблем (очевидно, без NVidia дров)
- работает достаточно шустро, даже с еще не выключенным baloo, заметно быстрее чем запуск «пред. товариша» с жесткого диска
проблем с этими сборками никогда не замечал, с LIVE-USB запускаются без проблем, можно долго тестировать, работает достаточно стабильно и комфортно, в vbox-окружении все (*) ставиться/крутиться отменно
(*) пакеты KDE5 и KDE5-LIVE
все логи, что пишутся, малоинформативны, типа «вываливаюсь» читайте лог; читаем лог, там тоже самое, с «обратным пендилем»
подробности позже, когда железки будут под рукой
спасибо
Slackware 14.2+ x64 2020.03.05
KDE5 2020.03.06
Asus GeForce NVidia DN GTS250/512Mb
NVidia driver 340.108
ошибка сборки slackware-14.2+ trinity-3.5.13.2 (mini kde3/qt3)
на Slackware 14.2 - собирается без проблем
на Slackware 14.2+ - ошибка
### Ошибка 1 ###
In file included from /usr/include/c++/9.2.0/cstdlib:77,
from /usr/include/c++/9.2.0/stdlib.h:36,
from /usr/include/glib-2.0/glib/gutils.h:310,
from /usr/include/glib-2.0/glib/gthread.h:34,
from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
from /usr/include/glib-2.0/glib.h:32,
from /dev/shm/x/arts-trinity-3.5.13.2/flow/gsl/gsldefs.h:24,
from /dev/shm/x/arts-trinity-3.5.13.2/flow/gsl/gslcommon.h:22,
from /dev/shm/x/arts-trinity-3.5.13.2/mcop_mt/threads_posix.cc:335:
/usr/include/c++/9.2.0/bits/std_abs.h:52:11: error: ‘::abs’ has not been declared
52 | using ::abs;
| ^~~
### Ошибка 2 kdelibs ###
/dev/shm/x/kdelibs-trinity-3.5.13.2/kate/part/katebuffer.cpp: In member function ‘void KateBuffer::updatePreviousNotEmptyLine(KateBufBlock*, uint, bool, uint)’:
/dev/shm/x/kdelibs-trinity-3.5.13.2/kate/part/katebuffer.cpp:920:82: error: call of overloaded ‘abs(unsigned int&)’ is ambiguous
920 | while ( (foldingList.size()>0) && ( std::abs(foldingList[foldingList.size()-2])==1)) {
| ^
/dev/shm/x/kdelibs-trinity-3.5.13.2/kate/part/katebuffer.cpp:920:77: error: call of overloaded ‘abs(unsigned int&)’ is ambiguous
920 | while ( (foldingList.size()>0) && ( abs(foldingList[foldingList.size()-2])==1)) {
| ^
если не сложно, обьясните, что «тут» может неправильного в использовании функции (или макроса, не разбирался пока)? что тут не так?
оба вызова одинаково выдают одну ошибку
abs(...)
std::abs(...)
### Ошибка 3 kdebase ###
/usr/lib64/qt3/include/ksslcertificate.h:61:7: error: using typedef-name ‘X509’ after ‘class’
61 | class X509;
| ^~~~
...
TDE Trinity-3.5.13.2 (минимальная сборка окружения KDE3/QT3)
| ← назад | следующие → |