Пытаюсь собрать Kicad 4.0 rc1 в Сизиф дистрибутива Альт Линукс.
Опции сборки:
Код
cmake \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX=/usr \
-DKICAD_SKIP_BOOST=ON
Версия Boost 1.58.0
Похоже на это как раз и жалуется:
Код
Found the following Boost libraries:
-- context
-- date_time
-- filesystem
-- iostreams
-- locale
-- program_options
-- regex
-- system
-- thread
CMake Warning at CMakeLists.txt:573 (message):
WARNING: You decided to skip building boost library.
KiCad developers strongly advise you to build the bundled boost library, as
it is known to work with KiCad.
Other versions may contain bugs that may result in KiCad errors.
Из пакета Fedora взял патч с таким содержанием (без него на 49% обрывалось):
Код
--- kicad/CMakeLists.txt.orig 2015-09-16 13:46:35.045271000 +0700
+++ kicad/CMakeLists.txt 2015-09-16 13:56:11.908397288 +0700
@@ -187,7 +187,6 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CX
endif()
if( MINGW )
- set( CMAKE_EXE_LINKER_FLAGS_RELEASE "-s" )
# _UNICODE definition seems needed under mingw/gcc 4.8
# (Kicad uses unicode, and on Windows, wxWidgets >= 2.9.4 is mandatory
@@ -236,7 +235,6 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CX
set( CMAKE_SHARED_LINKER_FLAGS "${TO_LINKER},--no-undefined" )
set( CMAKE_MODULE_LINKER_FLAGS "${TO_LINKER},--no-undefined" )
- set( CMAKE_EXE_LINKER_FLAGS_RELEASE "-s" )
# Defeat ELF's ability to use the GOT to replace locally implemented functions
# with ones from another module.
Ну, а с ним сборка обрывается на 56%:
Код
[ 56%] Building CXX object cvpcb/CMakeFiles/cvpcb_kiface.dir/__/pcbnew/dialogs/wizard_add_fplib.cpp.o
Linking CXX shared module _cvpcb.kiface
../common/libpcbcommon.a(class_pad.cpp.o): In function `D_PAD::SetPadName(wxString const&)':
class_pad.cpp:(.text+0x1268): undefined reference to `wxStringOperationsUtf8::DecodeNonAsciiChar(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)'
CMakeFiles/cvpcb_kiface.dir/class_components_listbox.cpp.o:(.data.rel.ro._ZTV18COMPONENTS_LISTBOX[vtable for COMPONENTS_LISTBOX]+0x780): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)'
CMakeFiles/cvpcb_kiface.dir/class_footprints_listbox.cpp.o:(.data.rel.ro._ZTV18FOOTPRINTS_LISTBOX[vtable for FOOTPRINTS_LISTBOX]+0x780): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)'
CMakeFiles/cvpcb_kiface.dir/class_library_listbox.cpp.o:(.data.rel.ro._ZTV15LIBRARY_LISTBOX[vtable for LIBRARY_LISTBOX]+0x780): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)'
CMakeFiles/cvpcb_kiface.dir/listboxes.cpp.o:(.data.rel.ro._ZTV18ITEMS_LISTBOX_BASE[vtable for ITEMS_LISTBOX_BASE]+0x780): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)'
../common/libpcbcommon.a(class_board.cpp.o): In function `WXSTRING_HASH::operator()(wxString const&) const':
class_board.cpp:(.text._ZNK13WXSTRING_HASHclERK8wxString[WXSTRING_HASH::operator()(wxString const&) const]+0x121): undefined reference to `wxStringOperationsUtf8::DecodeNonAsciiChar(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)'
../common/libpcbcommon.a(class_board_item.cpp.o): In function `BOARD_ITEM::getTrailingInt(wxString)':
class_board_item.cpp:(.text+0x4e9): undefined reference to `wxStringOperationsUtf8::DecodeNonAsciiChar(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)'
../common/libpcbcommon.a(class_module.cpp.o): In function `MODULE::GetReferencePrefix() const':
class_module.cpp:(.text+0x1c2f): undefined reference to `wxStringOperationsUtf8::DecodeNonAsciiChar(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)'
../common/libpcbcommon.a(class_text_mod.cpp.o): In function `TEXTE_MODULE::GetShownText() const':
class_text_mod.cpp:(.text+0x1941): undefined reference to `wxStringOperationsUtf8::DecodeNonAsciiChar(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)'
class_text_mod.cpp:(.text+0x1d61): undefined reference to `wxStringOperationsUtf8::DecodeNonAsciiChar(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)'
../common/libpcbcommon.a(class_text_mod.cpp.o):class_text_mod.cpp:(.text+0x1d71): more undefined references to `wxStringOperationsUtf8::DecodeNonAsciiChar(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)' follow
collect2: ld returned 1 exit status
make[2]: *** [cvpcb/_cvpcb.kiface] Error 1
make[2]: Leaving directory `/usr/src/RPM/BUILD/kicad-4.0.0-rc1'
make[1]: *** [cvpcb/CMakeFiles/cvpcb_kiface.dir/all] Error 2
make[1]: Leaving directory `/usr/src/RPM/BUILD/kicad-4.0.0-rc1'
make: *** [all] Error 2
make: Leaving directory `/usr/src/RPM/BUILD/kicad-4.0.0-rc1'
error: Bad exit status from /usr/src/tmp/rpm-tmp.12272 (%build)