Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сборка из исходников
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > KiCAD
Страницы: 1, 2, 3, 4, 5
faa
Цитата(alex9 @ Feb 16 2016, 21:52) *
У них:

sad.gif


Кикад-винбилдер переехал на сюда
И там даже про вынь10 что-то сказано.
alex9
Цитата(faa @ Feb 16 2016, 20:47) *
Замержил с bzr6561.

С какими опциями смаке правильно собирать?
Попробовал
cmake -DCMAKE_BUILD_TYPE=Release -DKICAD_SCRIPTING=ON -DKICAD_SCRIPTING_MODULES=ON -DKICAD_SCRIPTING_WXPYTHON=ON -DKICAD_GOST=ON -DUSE_PYTHON_GOSTDOCGEN=ON ../
так при сборке пакета затыкается на /scripts/bom-in-python/

ps Debian Jessie amd64
psps Стабильный собрался без проблем.
faa
Цитата(alex9 @ Feb 19 2016, 17:31) *
С какими опциями смаке правильно собирать?


У меня в спеке так для кикад-гост:
Код
%cmake \
-DKICAD_GOST=ON \
-DUSE_INTERNAT=ON \
%if %build_scripting
    -DKICAD_SCRIPTING=ON -DKICAD_SCRIPTING_MODULES=ON -DKICAD_SCRIPTING_WXPYTHON=ON -DKICAD_BUILD_VERSION="\(2016-feb-18 BZR4349 merge production-bzr6564\)" \
%endif
%if %sys_boost
    -DKICAD_SKIP_BOOST=ON \
%endif
    -DCMAKE_INSTALL_PREFIX=$RPM_BUILD_ROOT/usr ../


Попробую собрать с USE_PYTHON_GOSTDOCGEN. о результатах сообщу.

UPD:
Добавил, собралось.
Код
Processing files: kicad-gost-debuginfo-20160219-bzr4350.mga5.x86_64
Проверка на неупакованный(е) файл(ы): /usr/lib/rpm/check-files /home/faa/rpmbuild/BUILDROOT/kicad-gost-20160219-bzr4350.mga5.x86_64
Записан: /home/faa/rpmbuild/SRPMS/kicad-gost-20160219-bzr4350.mga5.src.rpm
Записан: /home/faa/rpmbuild/RPMS/x86_64/kicad-gost-20160219-bzr4350.mga5.x86_64.rpm
Записан: /home/faa/rpmbuild/RPMS/x86_64/kicad-gost-debuginfo-20160219-bzr4350.mga5.x86_64.rpm
Выполняется(%clean): /bin/sh -e /var/tmp/rpm-tmp.Dq2FX6
+ umask 022
+ cd /home/faa/rpmbuild/BUILD
+ cd kicad-gost-committers
+ rm -rf /home/faa/rpmbuild/BUILDROOT/kicad-gost-20160219-bzr4350.mga5.x86_64
+ exit 0


Надо смотреть, где и почему затыкается у Вас.

UPD2: При запуске инструментов гост из eeschema не может найти uno_iface.py - что-то там с путями не так. sad.gif
alex9
Создание пакета:
Код
checkinstall -D --pkgname=kicad-gost --install=no

Результат:
Код
[100%] Built target pcad2kicadsch
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/share/doc/kicad/INSTALL.txt
-- Installing: /usr/local/share/doc/kicad/scripts
-- Installing: /usr/local/share/doc/kicad/scripts/test_kicad_plugin.py
-- Installing: /usr/local/share/doc/kicad/scripts/osx_build_wx.sh
-- Installing: /usr/local/share/doc/kicad/scripts/test_plugin.py
-- Installing: /usr/local/share/doc/kicad/scripts/osx_fixbundle.sh
-- Installing: /usr/local/share/doc/kicad/scripts/library-repos-install.bat
-- Installing: /usr/local/share/doc/kicad/scripts/kicad-install.sh
CMake Error at cmake_install.cmake:40 (file):
  file INSTALL cannot find "/home/a/temp/trunk/scripts/lib_convert.py".

Makefile:66: ошибка выполнения рецепта для цели «install»
make: *** [install] Ошибка 1

cmake_install.cmake:40
Код
39:  if(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "resources")
40:    file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/kicad" TYPE DIRECTORY FILES "/home/a/temp/trunk/scripts")
41:  endif()

Куда копать?
faa
А файлик /home/a/temp/trunk/scripts/lib_convert.py есть?

Дебиана нет, ставить надо.
Есть какая-то убунта древняя на виртуалке - можно попробовать на ней проверить. Но и это займет некоторое время.
alex9
Цитата(alex9 @ Feb 20 2016, 09:08) *
Куда копать?

Решил проблему. Была установлена стабильная версия: удалил.
Пару лет назад уже наступал на эти грабли, но успел забыть.
break
Что-то какие-то странные вещи происходят. Kubuntu 14.04 LTS x64
Перед каждой сборкой KiCAD приходится заново устанавливать WxWidgets.
Сборка 4350 прошла нормально, хотя какие-то сообщения при установке были, но работало. А 4356 собралась, вот только при установке было выдано:
Код
Выбор ранее не выбранного пакета kicad-bzr.
(Чтение базы данных … на данный момент установлено 208029 файлов и каталогов.)
Preparing to unpack …/debs/kicad-4356-amd64.deb ...
Unpacking kicad-bzr (4356) ...
Настраивается пакет kicad-bzr (4356) …
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1.1) ...
Processing triggers for shared-mime-info (1.2-0ubuntu3) ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Unknown media type in type 'uri/mms'
Unknown media type in type 'uri/mmst'
Unknown media type in type 'uri/mmsu'
Unknown media type in type 'uri/pnm'
Unknown media type in type 'uri/rtspt'
Unknown media type in type 'uri/rtspu'
Processing triggers for hicolor-icon-theme (0.13-1) ...

Насколько я понял, это старый древний баг.
update-mime-database /usr/share/mime - не помогло. Я, конечно, закомментировал в kde.xml все эти упоминания.
После чего эти сообщения исчезли, но не помогло. KiCAD не запускается, исполнимых файлов так и не нашёл, хотя в "меню KDE" команды появились. Более того, в каталоге kicad-build/debs/kicad-4356-amd64/usr/ не появился каталог bin (в 4350 был) с исполнимыми файлами.
Размер пакеты deb получился 76 МиБ. Сколько был у 4350 уже не помню.
break
Сборка 4358 собралась и заработала.
alex9
Пытаюсь собрать свежую гостовскую с русификатором.
Что надо сделать, чтобы kicad.po превратился в kicad.mo?
faa
Цитата(alex9 @ Mar 21 2016, 22:43) *
Пытаюсь собрать свежую гостовскую с русификатором.
Что надо сделать, чтобы kicad.po превратился в kicad.mo?


poedit kicad.po
сохранить
закрыть
alex9
Цитата(faa @ Mar 22 2016, 15:24) *
poedit kicad.po
сохранить
закрыть

А можно это как-нибудь в cmake сделать? Или готовый kicad.mo в проект включить?
faa
Цитата(alex9 @ Mar 22 2016, 16:13) *
А можно это как-нибудь в cmake сделать? Или готовый kicad.mo в проект включить?

можно и так
msgfmt kicad.po -o kicad.mo

Бинарный файл включать в проект как-то не совсем правильно.
alex9
Вот, сделал для автоматического преобразования kicad.po в kicad.mo во время сборки.
Нажмите для просмотра прикрепленного файла - для замены в каталоге internat исходников.
alex9
Ошибка при сборке 4384 с параметром USE_PYTHON_GOSTDOCGEN

CODE
[ 77%] Building CXX object eeschema/GOST-doc-gen/CMakeFiles/GOST-doc-gen.dir/common_funcs.cpp.o
In file included from /home/a/temp/trunk/scripting/python_scripting.h:16:0,
from /home/a/temp/trunk/eeschema/GOST-doc-gen/common_funcs.cpp:39:
/home/a/temp/trunk/scripting/wx_python_helpers.h:12:13: error: expected type-specifier before ‘p_Py2wxString’
wxString Py2wxString( PyObject* source );
^
/home/a/temp/trunk/scripting/wx_python_helpers.h:12:13: error: expected ‘)’ before ‘p_Py2wxString’
/home/a/temp/trunk/scripting/wx_python_helpers.h:13:13: error: expected type-specifier before ‘p_wx2PyString’
PyObject* wx2PyString( const wxString& src );
^
/home/a/temp/trunk/scripting/wx_python_helpers.h:13:13: error: expected ‘)’ before ‘p_wx2PyString’
/home/a/temp/trunk/scripting/wx_python_helpers.h:13:13: error: expected initializer before ‘p_wx2PyString’
/home/a/temp/trunk/eeschema/GOST-doc-gen/common_funcs.cpp: In function ‘bool GOST_DOC_GEN::ImportPyModule(wxString)’:
/home/a/temp/trunk/eeschema/GOST-doc-gen/common_funcs.cpp:479:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
eeschema/GOST-doc-gen/CMakeFiles/GOST-doc-gen.dir/build.make:134: ошибка выполнения рецепта для цели «eeschema/GOST-doc-gen/CMakeFiles/GOST-doc-gen.dir/common_funcs.cpp.o»
make[3]: *** [eeschema/GOST-doc-gen/CMakeFiles/GOST-doc-gen.dir/common_funcs.cpp.o] Ошибка 1
CMakeFiles/Makefile2:1146: ошибка выполнения рецепта для цели «eeschema/GOST-doc-gen/CMakeFiles/GOST-doc-gen.dir/all»
make[2]: *** [eeschema/GOST-doc-gen/CMakeFiles/GOST-doc-gen.dir/all] Ошибка 2
CMakeFiles/Makefile2:1016: ошибка выполнения рецепта для цели «eeschema/CMakeFiles/eeschema.dir/rule»
make[1]: *** [eeschema/CMakeFiles/eeschema.dir/rule] Ошибка 2
Makefile:470: ошибка выполнения рецепта для цели «eeschema»
make: *** [eeschema] Ошибка 2

зы 4358 собирается нормально.
alex9
.
AVL
Цитата(alex9 @ Apr 20 2016, 11:59) *
Ошибка при сборке 4384 с параметром USE_PYTHON_GOSTDOCGEN
...
зы 4358 собирается нормально.

Актуальна только опция USE_RPC_DOC_SERVER как самая универсальная и удобная. Опции USE_OPENOFFICE_SDK и USE_PYTHON_GOSTDOCGEN я оставил как запасные (изначально именно они были реализованы). Время показало, что вряд ли их есть смысл использовать, поскольку с ними много заморочек в плане совместимости с разными дистрибутивами и версиями офисов.
Возможно, еще станет актуальной опция USE_ODFPY (в процессе разработки). Но я уже объяснял, почему не доверяю такому подходу (выгрузка odt файла с помощью odfpy).
alex9
AVL
Пожалуйста, зафиксируйте эти подробности в комментах CMakeLists.txt. А то в следующий раз я, как настоящий бледнолицый, снова наступлю на эти грабли sad.gif
AVL
Цитата(alex9 @ Apr 23 2016, 19:22) *
AVL
Пожалуйста, зафиксируйте эти подробности в комментах CMakeLists.txt. А то в следующий раз я, как настоящий бледнолицый, снова наступлю на эти грабли sad.gif

Соответствующие комментарии там уже были написаны. Добавил еще более явные предупреждения (ревизия 4388).
alex9
sm.gif Спасибо!
alex9
[removed]
break
Сдуру решил обновить Kubuntu 14.04 на 16.04. Естественно, всё сломалось (можно было не сомневаться). После переустановки системы, KiCAD не запускается, надо ставить заново.
Заодно решил собрать новую версию. Как обычно, WxWidgets (3.0.2) не находится. Версия 3.0.0 не устанавливается - не удовлетворяются зависимости. Можно что-то с этим сделать? Куда копать?
AHTOXA
Цитата(break @ Aug 25 2016, 04:02) *
Как обычно, WxWidgets (3.0.2) не находится.

Как не находится? Вот это разве не оно:
Код
~$ apt show wx-common
Package: wx-common
Version: 3.0.2+dfsg-1.3
?
(Я тоже переехал на 16.04, но до Кикада пока руки не дошли.)
break
AHTOXA
Цитата
Как не находится? Вот это разве не оно:

Так находится, но cmake не видит.
Код
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES
  wxWidgets_INCLUDE_DIRS) (Required is at least version "3.0.0")
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  CMakeModules/FindwxWidgets.cmake:922 (find_package_handle_standard_args)
  CMakeLists.txt:508 (find_package)

Это старый глюк, который "никто не хочет исправлять".
break
Никто не хочет отвечать (или не знает).
Ладно, докопался сам. Надо установить libwxgtk3.0-dev

Теперь потихоньку, спотыкаясь на каждой библиотеке пробую собирать дальше.
dxp
QUOTE (break @ Sep 28 2016, 04:42) *
Никто не хочет отвечать (или не знает).
Ладно, докопался сам. Надо установить libwxgtk3.0-dev

Теперь потихоньку, спотыкаясь на каждой библиотеке пробую собирать дальше.

Я собираю этим (Сергей Борщ в своё время поделился, в комментарии записаны либы, которые понадобились, крайняя сборка под бубунту 16.04)

CODE
#!/bin/bash
#set -o pipefail
#bzr checkout lp:kicad sources/kicad

# sudo apt-get install libwxgtk3.0-dev libglm-dev libcurl4-openssl-dev
# sudo apt-get install  libglew-dev
# sudo apt-get install libboost-dev libboost-context-dev libboost-system-dev libboost-thread-dev
# sudo apt-get install libssl-dev

PACKAGE=kicad
SRC_DIR=${PWD}/src/
BUILD_DIR=${PWD}/build
#WX_DIR=/opt/wx

CONFIGURE_OPTIONS=
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DCMAKE_INSTALL_PREFIX=/opt/cad/kicad/kicad-gost"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DCMAKE_BUILD_TYPE=Release"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DKICAD_SCRIPTING=OFF"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DKICAD_SCRIPTING_MODULES=OFF"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DKICAD_SCRIPTING_WXPYTHON=OFF"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DBUILD_GITHUB_PLUGIN=OFF"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DKICAD_KEEPCASE=ON"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DUSE_KIWAY_DLLS=OFF"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DBUILD_KIWAY_DLL=OFF"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DCOMPILING_DLL=OFF"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DKICAD_USE_WEBKIT=OFF"
CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS -DKICAD_GOST=ON"
#CXXFLAGS+=-m64
#LDFLAGS+=m64

mkdir -p $BUILD_DIR && cd $BUILD_DIR
cmake -j8 $CONFIGURE_OPTIONS $SRC_DIR 2>&1 | tee ../$PACKAGE.cmake.log && \
make -j8 2>&1 | tee ../$PACKAGE.build.log && \
make -j8 install 2>&1 | tee ../$PACKAGE.install.log
#sudo checkinstall 2>&1 | tee ../$PACKAGE.install.log
break
Наконец-то всё собралось.Последний затык был с curl. Спасибо dxp и Сергей Борщ (как первоисточнику) за список библиотек (оказалась нужна libcurl4-openssl-dev).
Исходники взял с git (git clone https://git.launchpad.net/kicad).

Теперь бы ещё понять где взять свежий kicad.po или kicad.mo

dxp
Как я где-то прочитал, сейчас вместо apt-get рекомендуют использовать apt. Хотя я вообще ставил библиотеки через Synaptic.
dxp
QUOTE (break @ Oct 1 2016, 02:38) *
Как я где-то прочитал, сейчас вместо apt-get рекомендуют использовать apt. Хотя я вообще ставил библиотеки через Synaptic.

Имеете в виду aptitude? Эту тему давно толкают, вроде, что-то этот вариант получше делает, но я разницы не заметил (кроме того, что у aptitude есть типа GUI консольный). Отказался от него, т.к. не все дистры его поддерживают - например, xubuntu (который я использую в настоящее время), его не имеет в своём составе изначально. Ну, и все примеры в Сети идут с apt-get. Ещё знаю, что смешивать их использование не рекомендуются (у них разные кеши и ещё что-то).
Сергей Борщ
QUOTE (dxp @ Oct 1 2016, 06:43) *
Имеете в виду aptitude?
Нет, не aptitude. Просто в убунте решили заменить всякие apt-get, apt-cache и тому подобное одной командой apt. Мне казалось, что это просто скрипт-оболочка вокруг этих команд, который в завсисимости от ключей вызывает ту или иную apt-xxxxx, при необходимости еще и через sudo и немного очеловечивает вывод - раскрашивает, рисует полоски загрузки и т.п..
AHTOXA
Цитата(break @ Oct 1 2016, 00:38) *
Исходники взял с git (git clone https://git.launchpad.net/kicad).

Правильно ли я понимаю, что все недавно отписавшиеся в этой теме пользуют оригинальный кикад, не ГОСТ-ветку?
SDI
В последнее время перестала собираться master ветка и stable 4.0.4 при помощи Kicad-Winbuilder.
Процесс заканчивается при 40% у мастер-ветки и при 98% у стабильной-ветки.
Кто пользуется Winbuilder ответьте.
break
AHTOXA
Под виндаком - оригинальный (из-за проблем с Winbuilder'ом), под линухом - ГОСТ.
Хотя после сборки функционал не проверял, только посмотрел, что запускается.
alex9
Спецы, помогите, пожалуйста!
Что надо добавить в суп при сборке, чтобы потом в окошке "About" получать более осмысленную информацию чем "Version: no-vcs-found-product"?
faa
Цитата(alex9 @ Jan 31 2017, 12:20) *
Спецы, помогите, пожалуйста!
Что надо добавить в суп при сборке, чтобы потом в окошке "About" получать более осмысленную информацию чем "Version: no-vcs-found-product"?


Варианты:
Для production - не удалять из дерева исходников диру .git. Версия подставится автоматом

Для ГОСТ - добавить в cmake ключик типа
Код
-DKICAD_VERSION_EXTRA="\(GOST 2017-jan-31 BZR4431 merge production-git:9627f06\)"

Будет так
Version: no-vcs-found-(GOST 2017-jan-31 BZR4431 merge production-git:9627f06), release build

Для всех версий в файле CMakeModules/KiCadVersion.cmake
изменить строку
Код
set( KICAD_VERSION "no-vcs-found" )

по вкусу.
alex9
Цитата(faa @ Jan 31 2017, 15:05) *
Варианты:

Спасибо! Уж теперь то наведу порядок в своём зоопарке sm.gif
AlexMad
Подскажите такой вопрос.
Собираю со своим путем установки
(-DCMAKE_INSTALL_PREFIX=/путь/work)
Собирается, ставится, работает все, кроме pcbnew жалуется следующим образом:
Цитата
14:32:40: libkicad_3dsg.so.2.0.0: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
14:32:40: Failed to load kiface library '/home/0_data/0_work/2_kicad/work/bin/_pcbnew.kiface'.

libkicad_3dsg.so.2.0.0 лежит в /путь/work/lib
пробовал переложить в /путь/work/bin, результат тот же. А вот если взять файл _pcbnew.kiface из каталога сборки, то запускается, но использует путь к каталогу сборки. То есть, если папку с исходниками удалить, то опять не запускается.
Очевидно, в _pcbnew.kiface прописывается путь к библиотекам, но как его исправить я не понял. sad.gif
Барановский Константин
Цитата(AlexMad @ May 3 2017, 13:40) *
Подскажите...


$ sudo ldconfig /путь/work/lib
AlexMad
Цитата(Барановский Константин @ May 4 2017, 20:46) *
$ sudo ldconfig /путь/work/lib

Спасибо!
Но вопрос все равно остается открытым. Ведь из сборочного каталога (src/kicad/build) pcbnew запускается без шаманства с системными библиотеками.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.