LINUX.ORG.RU

Помогите собрать Kicad

 , , ,


0

1

Пытаюсь собрать kicad из оверлея stuff:

homesweethome ~ # emerge -uDav -N kicad

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    *] sci-electronics/kicad-99999999-r2::stuff  USE="doc examples gost nanometr python sexpr -debug -dev-doc -minimal" PYTHON_TARGETS="python2_7" 0 kB

Total: 1 package (1 new), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] y

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) sci-electronics/kicad-99999999-r2 from stuff
/var/lib/layman/stuff/sci-electronics/kicad/kicad-99999999-r2.ebuild: line 43: python_set_active_version: command not found
>>> Unpacking source...
 * bzr pull start -->
 *    repository: lp:kicad
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
http://bazaar.launchpad.net/~kicad-testing-committers/kicad/testing is permanently redirected to http://bazaar.launchpad.net/~kicad-testing-committers/kicad/testing/changes
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
No revisions or tags to pull.                                                                                                                               
 * exporting ...
 * revision 4600 is now in /var/tmp/portage/sci-electronics/kicad-99999999-r2/work/kicad-99999999
 * bzr pull start -->
 *    repository: lp:~kicad-lib-committers/kicad/library
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
bzr: ERROR: Invalid url supplied to transport: "bzr+ssh://bazaar.launchpad.net/~kicad-lib-committers/kicad/library": no supported schemes
 * ERROR: sci-electronics/kicad-99999999-r2::stuff failed (unpack phase):
 *   bzr.eclass: can't pull from lp:~kicad-lib-committers/kicad/library
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_unpack
 *   environment, line 4578:  Called bzr_fetch
 *   environment, line 1125:  Called bzr_update 'lp:~kicad-lib-committers/kicad/library' '/usr/portage/distfiles/bzr-src/kicad-library'
 *   environment, line 1173:  Called die
 * The specific snippet of code:
 *           ${EBZR_UPDATE_CMD} ${EBZR_OPTIONS} "${repo_uri}" || die "${EBZR}: can't pull from ${repo_uri}";
 * 
 * If you need support, post the output of `emerge --info '=sci-electronics/kicad-99999999-r2::stuff'`,
 * the complete build log and the output of `emerge -pqv '=sci-electronics/kicad-99999999-r2::stuff'`.
 * The complete build log is located at '/var/tmp/portage/sci-electronics/kicad-99999999-r2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sci-electronics/kicad-99999999-r2/temp/environment'.
 * Working directory: '/usr/portage/distfiles/bzr-src/kicad-library'
 * S: '/var/tmp/portage/sci-electronics/kicad-99999999-r2/work/kicad-99999999'

>>> Failed to emerge sci-electronics/kicad-99999999-r2, Log file:

>>>  '/var/tmp/portage/sci-electronics/kicad-99999999-r2/temp/build.log'

Порывшись в интернете обнаружил правильный url для библиотеки и заменил в ebuild'е lp:~kicad-lib-committers/kicad/library на lp:~kicad-testing-committers/kicad/library

После этого сборка запинается на этапе распаковки:

>>> Emerging (1 of 1) sci-electronics/kicad-99999999-r2 from stuff
/var/lib/layman/stuff/sci-electronics/kicad/kicad-99999999-r2.ebuild: line 43: python_set_active_version: command not found
>>> Unpacking source...
 * bzr pull start -->
 *    repository: lp:kicad
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
http://bazaar.launchpad.net/~kicad-testing-committers/kicad/testing is permanently redirected to http://bazaar.launchpad.net/~kicad-testing-committers/kicad/testing/changes
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
No revisions or tags to pull.                                                                                                                               
 * exporting ...
 * revision 4600 is now in /var/tmp/portage/sci-electronics/kicad-99999999-r2/work/kicad-99999999
 * bzr pull start -->
 *    repository: lp:~kicad-testing-committers/kicad/library
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
http://bazaar.launchpad.net/~kicad-testing-committers/kicad/library is permanently redirected to http://bazaar.launchpad.net/~kicad-testing-committers/kicad/library/changes
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
No revisions or tags to pull.                                                                                                                               
 * exporting ...
bzr: ERROR: Can't export tree to non-empty directory.
 * ERROR: sci-electronics/kicad-99999999-r2::stuff failed (unpack phase):
 *   bzr.eclass: export failed
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_unpack
 *   environment, line 4579:  Called bzr_fetch
 *   environment, line 1135:  Called die
 * The specific snippet of code:
 *           ${EBZR_EXPORT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} "${EBZR_UNPACK_DIR}" . || die "${EBZR}: export failed";
 * 
 * If you need support, post the output of `emerge --info '=sci-electronics/kicad-99999999-r2::stuff'`,
 * the complete build log and the output of `emerge -pqv '=sci-electronics/kicad-99999999-r2::stuff'`.
 * The complete build log is located at '/var/tmp/portage/sci-electronics/kicad-99999999-r2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sci-electronics/kicad-99999999-r2/temp/environment'.
 * Working directory: '/usr/portage/distfiles/bzr-src/kicad-library'
 * S: '/var/tmp/portage/sci-electronics/kicad-99999999-r2/work/kicad-99999999'

Что дальше делать я не знаю...


kicad-library перенесли в другой репозиторий, поэтому надо ставить с флагом minimal. А сам этот ebuild требует доработки.

Displacer ★★
()
Ответ на: комментарий от Displacer

Мотивы удаления LANG из этого ebuild-а по отношению к исходному в дереве также не совсем понятны, если г-н megabaks имеет какое-то отношение к русскому языку.

Displacer ★★
()
Ответ на: комментарий от Displacer

спасибо за советы, я отключил флаг doc и включил minimal

сборка все равно ломается так или иначе, то версия python не та (выбираю eselect версию 2.7), то bzr требует имя пользователя(не знаю что тут делать, просто захожу из-под пользователя в каталог сборки, делаю `bzr whoami anonymous` и пишу make), и, в итоге, происходит ошибка компиляции:

[ 77%] Building CXX object pcbnew/CMakeFiles/pcbnew.dir/__/scripting/wx_python_helpers.cpp.o
/var/tmp/portage/sci-electronics/kicad-99999999-r2/work/kicad-99999999/scripting/wx_python_helpers.cpp: В функции «wxString* newWxStringFromPy(PyObject*)»:
/var/tmp/portage/sci-electronics/kicad-99999999-r2/work/kicad-99999999/scripting/wx_python_helpers.cpp:77:30: ошибка: нет декларации «PyString_Check» в этой области видимости
/var/tmp/portage/sci-electronics/kicad-99999999-r2/work/kicad-99999999/scripting/wx_python_helpers.cpp:86:29: ошибка: нет декларации «PyString_Check» в этой области видимости
/var/tmp/portage/sci-electronics/kicad-99999999-r2/work/kicad-99999999/scripting/wx_python_helpers.cpp:101:67: ошибка: cannot convert «PyUnicodeObject*» to «PyObject* {aka _object*}» for argument «1» to «Py_ssize_t PyUnicode_AsWideChar(PyObject*, wchar_t*, Py_ssize_t)»
make[2]: *** [pcbnew/CMakeFiles/pcbnew.dir/__/scripting/wx_python_helpers.cpp.o] Ошибка 1

yaruna
() автор топика

Если ебилд нерабочий, следует писать в багзилу, хоть оно и в ~

madcore ★★★★★
()
Ответ на: комментарий от yaruna

спасибо за советы, я отключил флаг doc и включил minimal

USE-флага недостаточно, nodoc в FEATURES, но проблема не в этом.

kicad-99999999-r2

А то что в портедже, не оверлее, тоже не ставится?

madcore ★★★★★
()
Ответ на: комментарий от madcore

в портеже kicad версии 20130518 и он ставится нормально, но хочется новшеств :)

yaruna
() автор топика
Ответ на: комментарий от yaruna

А Вы еще флаг python попробуйте отключить :) Хотя вообще тут явно надо либо revdep-rebuild сделать, либо какой-нибудь python-updater запустить, может и исправится само.

Displacer ★★
()
Ответ на: комментарий от madcore

А то что в портедже, не оверлее, тоже не ставится?

Тут есть новые флаги и настройки при сборке (gost nanometr), которые выглядят как нечто очень полезное.

Displacer ★★
()
../polygon/libpolygon.a(PolyLine.cpp.o): In function `CPolyLine::NormalizeAreaOutlines(std::vector<CPolyLine*, std::allocator<CPolyLine*> >*)':
PolyLine.cpp:(.text+0x46d): undefined reference to `ClipperLib::SimplifyPolygon(std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> > const&, std::vector<std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> >, std::allocator<std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> > > >&, ClipperLib::PolyFillType)'
PolyLine.cpp:(.text+0x6b1): undefined reference to `ClipperLib::SimplifyPolygon(std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> > const&, std::vector<std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> >, std::allocator<std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> > > >&, ClipperLib::PolyFillType)'
collect2: ld returned 1 exit status
cvpcb/CMakeFiles/cvpcb.dir/build.make:662: recipe for target 'cvpcb/cvpcb' failed
make[2]: *** [cvpcb/cvpcb] Error 1
CMakeFiles/Makefile2:445: recipe for target 'cvpcb/CMakeFiles/cvpcb.dir/all' failed
make[1]: *** [cvpcb/CMakeFiles/cvpcb.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

и так в 2-х местах

megabaks ★★★★
()
Ответ на: комментарий от megabaks

я его собрал, правда с большим напильником :)

когда emerge завершился с ошибкой, я полез в рабочий каталог и запускал make, читал на что ругался и правил конфиги — вариант ужасный, но я в системе сборки ничего не смыслю

ошибки были вида:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/sci-electronics/kicad-99999999-r2/work/kicad-99999999/boost_root/lib/libboost_thread.a(thread.o): undefined reference to symbol 'clock_gettime@@GLIBC_2.2.5'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: note: 'clock_gettime@@GLIBC_2.2.5' is defined in DSO /lib64/librt.so.1 so try adding it to the linker command line
/lib64/librt.so.1: could not read symbols: Invalid operation
collect2: ошибка: выполнение ld завершилось с кодом возврата 1

лечил я их добавлением -lrt в соответствующие файлы(cvpcb/CMakeFiles/cvpcb.dir/build.make и pcbnew/CMakeFiles/pcbnew.dir/link.txt)

yaruna
() автор топика
Ответ на: комментарий от yaruna

как редактировать сообщения?

в прошлом сообщении имена файлов перепутал, должны быть cvpcb/CMakeFiles/cvpcb.dir/link.txt и pcbnew/CMakeFiles/pcbnew.dir/link.txt

yaruna
() автор топика
Ответ на: комментарий от yaruna

и вообще не айс эти файлы править, ибо они генерируемые.
ноги растут из сорсов - вот там и надо ломать

megabaks ★★★★
()
Ответ на: комментарий от megabaks

вот лог: http://pastebin.ca/2524062

там сборка прерывается после распаковки boost'а а продолжается уже когда я все собрал вручную и исползовал команду

ebuild kicad-99999999-r2.ebuild qmerge

сейчас я снова соберу его и загружу выхлоп с консоли

yaruna
() автор топика

О, вопрос в тему: кикад уже умеет рендерить нарисованные объекты, чтобы они не выглядели, как говно? А то уж очень хочется определиться уже, наконец, в чем рисовать для всяких "презентаций", да и просто статей, картинки. Скриншоты с фрикада в уменьшенном виде еще кое-как в чб на бумаге смотрятся, но если в цвете...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от yaruna

с бустом просто - раз меня и моё мыло все знают, то не стал париться и добавил в scr_configure
bzr whoami «megabaks megagreener@gmail.com»

megabaks ★★★★
()
Ответ на: комментарий от yaruna

как ты вот это обходил?

Linking CXX executable cvpcb
../polygon/libpolygon.a(PolyLine.cpp.o): In function `CPolyLine::NormalizeAreaOutlines(std::vector<CPolyLine*, std::allocator<CPolyLine*> >*)':
PolyLine.cpp:(.text+0x5583): undefined reference to `ClipperLib::SimplifyPolygon(std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> > const&, std::vector<std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> >, std::allocator<std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> > > >&, ClipperLib::PolyFillType)'
PolyLine.cpp:(.text+0x5f03): undefined reference to `ClipperLib::SimplifyPolygon(std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> > const&, std::vector<std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> >, std::allocator<std::vector<ClipperLib::IntPoint, std::allocator<ClipperLib::IntPoint> > > >&, ClipperLib::PolyFillType)'
collect2: ld returned 1 exit status
cvpcb/CMakeFiles/cvpcb.dir/build.make:679: recipe for target 'cvpcb/cvpcb' failed
make[2]: *** [cvpcb/cvpcb] Error 1
CMakeFiles/Makefile2:445: recipe for target 'cvpcb/CMakeFiles/cvpcb.dir/all' failed
make[1]: *** [cvpcb/CMakeFiles/cvpcb.dir/all] Error 2
Makefile:136: recipe for target 'all' failed
make: *** [all] Error 2

megabaks ★★★★
()
Ответ на: комментарий от yaruna

кажись догнал...у тебя же 64 - ща попробую на 32 такой же ход

megabaks ★★★★
()
Ответ на: комментарий от yaruna

4601 собирается, да
но никаких игрищ с линковкой не надо

megabaks ★★★★
()

короче: слабал 2 одинаковых, только один лайф, а другой пока с ревизией.
с питоном хз что делать - нагуглил типа помогал раньше make clean, но это уже не вариант

megabaks ★★★★
()
Ответ на: комментарий от megabaks

Спасибо большое! Версия 9999-r4601 собралась без проблем с флагами examples github gost minimal nanometr sexpr.

Последняя ревизия (4608) собирается без проблем, если применить неболшую правку в ebuild версии 99999:

@@ -33,6 +33,10 @@
        !minimal? ( sci-electronics/kicad-library )"
 
 src_unpack() {
+       if [[ "${PR#r}" = "0" ]]; then
+               EBZR_REVISION=""
+       fi
+
        bzr_src_unpack
 
        if use doc; then

без которой сборка ломается на этапе распаковки:
>>> Emerging (1 of 1) sci-electronics/kicad-99999 from stuff
>>> Unpacking source...
 * bzr pull start -->
 *    repository: lp:kicad
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
http://bazaar.launchpad.net/~kicad-testing-committers/kicad/testing is permanently redirected to http://bazaar.launchpad.net/~kicad-testing-committers/kicad/testing/changes
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
No revisions or tags to pull.                                                                                                                               
 * exporting ...
 * revision 0 is now in /var/tmp/portage/sci-electronics/kicad-99999/work/kicad-99999
>>> Source unpacked in /var/tmp/portage/sci-electronics/kicad-99999/work
>>> Preparing source in /var/tmp/portage/sci-electronics/kicad-99999/work/kicad-99999 ...
sed: can't read CMakeModules/download_boost.cmake: No such file or directory
sed: can't read resources/linux/mime/applications/kicad.desktop: No such file or directory
 * ERROR: sci-electronics/kicad-99999::stuff failed (prepare phase):
 *   sed failed
 * 
 * Call stack:
 *     ebuild.sh, line  93:  Called src_prepare
 *   environment, line 4542:  Called die
 * The specific snippet of code:
 *       sed -e 's/Categories=Electronics/Categories=Development;Electronics/' -i resources/linux/mime/applications/kicad.desktop || die 'sed failed';
 * 
 * If you need support, post the output of `emerge --info '=sci-electronics/kicad-99999::stuff'`,
 * the complete build log and the output of `emerge -pqv '=sci-electronics/kicad-99999::stuff'`.
 * The complete build log is located at '/var/tmp/portage/sci-electronics/kicad-99999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sci-electronics/kicad-99999/temp/environment'.
 * Working directory: '/var/tmp/portage/sci-electronics/kicad-99999/work/kicad-99999'
 * S: '/var/tmp/portage/sci-electronics/kicad-99999/work/kicad-99999'

Флаг doc ломает сборку по прежнему для обоих версий.

PS: посоветуйте что-нибудь не слишком формальное почитать про ebuild'ы

yaruna
() автор топика
Ответ на: комментарий от yaruna

не слишком формальное...я даже хз
по фичам портажа неформальное писать проще, а вот за ебилды я ещё не брался.
потому, скорее всего, нет такого

megabaks ★★★★
()
Ответ на: комментарий от yaruna

над доками сейчас немного и, наверно, завтра поработаю
ща прикрутил языки - смотрю пока что выйдет

megabaks ★★★★
()

У тебя питон работает? А то я эти плагины периодически собираю ,но «Мастер создания footprint-а» все равно не работает

DR_SL ★★★★★
()
Ответ на: комментарий от megabaks

Спасибо Вам огромное! Все собирается и работает.

yaruna
() автор топика
Ответ на: комментарий от megabaks
 * bzr pull start -->
 *    repository: lp:~kicad-developers/kicad/doc
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
http://bazaar.launchpad.net/~kicad-developers/kicad/doc is permanently redirected to http://bazaar.launchpad.net/~kicad-developers/kicad/doc/changes
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
No revisions or tags to pull.                                                  
 * exporting ...
bzr: ERROR: Requested revision: '4609' does not exist in branch: file:///usr/portage/distfiles/bzr-src/kicad-doc/
Displacer ★★
()
Последнее исправление: Displacer (всего исправлений: 2)
Ответ на: комментарий от megabaks

И кстати говоря после сборки если смотреть информацию о версии, то остаются не установленными еще два параметра:

USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF

Насколько они сильно нужны или не нужны вовсе я не знаю.

Displacer ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.