реклама на сайте
подробности

 
 
> Сборка из исходников, вопросы по сборке будут жить здесь.
Сергей Борщ
сообщение May 17 2013, 07:35
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Вопрос по кросс-сборке.
Задача: на машине с Linux Mint 14 (64 бита) собрать КиКАД для 32-битного виндовса. С wxWidgets проблем нет, указал --host=i686-w64-mingw32 --prefix=$BUILD_DIR/../install/wx-win, все собралось и установилось. Теперь сборка собственно КиКАДа. В доке такой вариант сборки не описан или я его не нашел. Гуглением выяснил, что надо создать файл (win-cross.cmake) примерно следующего содержания
CODE
# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Windows)

# which compilers to use for C and C++
SET(CMAKE_RC_COMPILER  i686-w64-mingw32-windres)
SET(CMAKE_C_COMPILER   i686-w64-mingw32-gcc)
SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)

# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32)

# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

и указать его cmake ключем -DCMAKE_TOOLCHAIN_FILE=../win-cross.cmake. Также указал путь к wx согласно инструкции: -DwxWidgets_ROOT_DIR=$BUILD_DIR/../install/wx-win"
Теперь cmake находит работающий компилятор и OpenGL но вылетает на поиске wxWidgets.

Возможно кто-то уже имеет опыт такой кросс-сборки? Как его заставить? Я, конечно, могу полезть копать внутренности CMakeModules/FindwxWidgets.cmake, но возможно кто-то уже прошел по этим граблям?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AVL
сообщение May 17 2013, 08:18
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 392
Регистрация: 29-05-07
Из: Москва
Пользователь №: 28 020



Цитата(Сергей Борщ @ May 17 2013, 11:35) *
Возможно кто-то уже имеет опыт такой кросс-сборки? Как его заставить? Я, конечно, могу полезть копать внутренности CMakeModules/FindwxWidgets.cmake, но возможно кто-то уже прошел по этим граблям?

Делал такую сборку в Linux Debian 6.0.5.
У меня получилась следующая последовательность действий:
Код
sudo apt-get install mingw32

-----------------------------------------
mkdir /home/a-lunev/bzr/toolchain-mingw
touch /home/a-lunev/bzr/toolchain-mingw/TC-mingw.cmake <
# the name of the target operating system
set(CMAKE_SYSTEM_NAME Windows)

# which compilers to use for C, C++ and resource files
set(CMAKE_C_COMPILER i586-mingw32msvc-gcc)
set(CMAKE_CXX_COMPILER i586-mingw32msvc-g++)
set(CMAKE_RC_COMPILER i586-mingw32msvc-windres)

# where is the target environment located
set(CMAKE_FIND_ROOT_PATH
   /usr/i586-mingw32msvc
   /home/a-lunev/bzr/toolchain-mingw)

# adjust the default bahaviour of the FIND_XXX() commands:
# search programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

# search headers and libraries in the target environment
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

-----------------------------------------

https://sourceforge.net/projects/wxwindows/files/2.9.3/wxWidgets-2.9.3.tar.bz2/download

cd wxWidgets-2.9.3/include/wx/msw
cp setup.h setup0.h

mkdir wxWidgets-2.9.3/build_msw
cd wxWidgets-2.9.3/build_msw
../configure --enable-unicode --enable-monolithic --enable-shared --enable-aui --with-msw --with-opengl --prefix=/home/a-lunev/bzr/toolchain-mingw --host=i586-mingw32msvc --build=x86_64-linux
make
sudo make install
sudo ldconfig
cd /home/a-lunev/bzr/toolchain-mingw/include/wx-2.9/wx/msw
sudo cp setup0.h ../setup.h

bzr branch lp:kicad
cd kicad
bzr patch mingw_kicad.patch

mkdir Release_win32
cd Release_win32
mkdir /home/a-lunev/bzr/kicad-win
cmake -DCMAKE_BUILD_TYPE=Release -DKICAD_TESTING_VERSION=ON -DCMAKE_TOOLCHAIN_FILE=/home/a-lunev/bzr/toolchain-mingw/TC-mingw.cmake -DCMAKE_INSTALL_PREFIX=/home/a-lunev/bzr/kicad-win ../
make
sudo make install

cp /usr/share/doc/mingw32-runtime/mingwm10.dll.gz .
gzip -d mingwm10.dll.gz
mv mingwm10.dll /home/a-lunev/bzr/kicad-win/bin
cp /home/a-lunev/bzr/toolchain-mingw/lib/wxmsw293u_gcc_custom.dll /home/a-lunev/bzr/kicad-win/bin
cp /home/a-lunev/bzr/toolchain-mingw/lib/wxmsw293u_gl_gcc_custom.dll /home/a-lunev/bzr/kicad-win/bin

Прикрепленные файлы
Прикрепленный файл  kicad_mingw.patch.zip ( 527 байт ) Кол-во скачиваний: 59
 
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 17 2013, 10:10
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (AVL @ May 17 2013, 11:18) *
У меня получилась следующая последовательность действий:

Угу. Разница в указании пути к wx через CMAKE_FIND_ROOT_PATH вместо рекомендованного wxWidgets_ROOT_DIR. Попробовал. Не помогло. setup.h у меня оказался в lib/wx/include/i686-w64-mingw32-msw-unicode-static-2.9/wx. Его копирование в include/wx-2.9/wx тоже не помогло. Версия wx отличатеся - у меня 2.9.4. Придется ковырять FindwxWidgets.cmake, смотреть на чем спотыкается.


Какая-то, простите, бяка. Судя по всему, благодаря set(CMAKE_SYSTEM_NAME Windows) для cmake определен символ WIN32. который заставляет FindwxWidgets.cmake искать файл msw/wx/setup.h в директории lib/gcc_lib. Но у меня setup.h живет в lib/wx/include/i686-w64-mingw32-msw-unicode-static-2.9/wx.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 17 2013, 13:00
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



добавил SET(MSYS). Еще веселее:
после выполнения
CODE
    FIND_PROGRAM(wxWidgets_CONFIG_EXECUTABLE wx-config
      ONLY_CMAKE_FIND_ROOT_PATH
      )
в wxWidgets_CONFIG_EXECUTABLE находится ${BUILD_DIR}/wx-config, где никакого wx-config нет (${BUILD_DIR} - место, где запускается cmake). wx-config живет по адресу /home/serzh/build/kicad/install/wx-win/bin/wx-config, при этом CMAKE_FIND_ROOT_PATH содержит /usr/i686-w64-mingw32;/home/serzh/build/kicad/install/wx-win (проверял выводом), и cmake нифига его там не находит. Проблема в cmake?

Сделал ему символическую ссылку оттуда, где wx-config есть туда, где cmake его как бы находит, "нехай подавится". Собралось.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Сергей Борщ   Сборка из исходников   May 17 2013, 07:35
|- - AVL   Цитата(Сергей Борщ @ May 17 2013, 17:00) ...   May 17 2013, 14:45
|- - Сергей Борщ   QUOTE (AVL @ May 17 2013, 17:45) А после ...   May 17 2013, 17:58
|- - AHTOXA   То-то я удивлялся, что сделанный мной deb-пакет дл...   May 17 2013, 19:18
|- - AVL   Цитата(Сергей Борщ @ May 17 2013, 21:58) ...   May 17 2013, 19:51
- - tema-electric   До нового года в недалеком 2012 спокойно собирал к...   May 22 2013, 16:04
|- - AVL   Цитата(tema-electric @ May 22 2013, 20...   May 22 2013, 16:30
|- - tema-electric   Цитата(AVL @ May 22 2013, 23:30) Если cma...   May 22 2013, 16:43
- - AVL   Я на самом деле под винду делаю следующие простые ...   May 22 2013, 17:25
|- - tema-electric   Цитата(AVL @ May 23 2013, 00:25) kicad-wi...   May 23 2013, 02:24
|- - Сергей Борщ   QUOTE (tema-electric @ May 23 2013, 05...   May 23 2013, 05:54
|- - tema-electric   Цитата(Сергей Борщ @ May 23 2013, 12:54) ...   May 23 2013, 09:03
|- - Сергей Борщ   QUOTE (tema-electric @ May 23 2013, 12...   May 23 2013, 13:34
|- - tema-electric   Цитата(Сергей Борщ @ May 23 2013, 20:34) ...   May 23 2013, 14:35
- - mobidev   Цитата(viknn @ May 22 2013, 22:11) Другой...   May 23 2013, 20:04
- - mobidev   Цитата(mobidev @ May 24 2013, 00:04) Попр...   May 24 2013, 04:44
|- - AVL   Цитата(mobidev @ May 24 2013, 08:44) Каже...   May 24 2013, 05:52
|- - mobidev   Цитата(AVL @ May 24 2013, 09:52) Попробуй...   May 25 2013, 06:39
|- - mobidev   Цитата(AVL @ May 24 2013, 09:52) Попробуй...   May 28 2013, 12:00
|- - AVL   Цитата(mobidev @ May 28 2013, 16:00) А не...   May 28 2013, 12:42
- - tema-electric   Не было печали. Залил последнюю версию гостовского...   Jun 3 2013, 04:14
|- - AVL   Цитата(tema-electric @ Jun 3 2013, 08...   Jun 3 2013, 08:12
|- - tema-electric   Цитата(AVL @ Jun 3 2013, 15:12) Прикольны...   Jun 3 2013, 09:02
|- - AVL   Цитата(tema-electric @ Jun 3 2013, 13...   Jun 3 2013, 09:50
|- - tema-electric   Цитата(AVL @ Jun 3 2013, 16:50) Попробуйт...   Jun 3 2013, 10:24
|- - AVL   Цитата(tema-electric @ Jun 3 2013, 14...   Jun 3 2013, 11:38
|- - tema-electric   Цитата(AVL @ Jun 3 2013, 18:38) Да, интер...   Jun 3 2013, 12:00
|- - AVL   Цитата(tema-electric @ Jun 3 2013, 16...   Jun 3 2013, 21:36
|- - tema-electric   Цитата(AVL @ Jun 4 2013, 04:36) тоже все ...   Jun 4 2013, 03:11
|- - AVL   Цитата(tema-electric @ Jun 4 2013, 07...   Jun 4 2013, 05:23
|- - Guest_mobidev_*   Цитата(tema-electric @ Jun 4 2013, 06...   Jun 5 2013, 05:51
|- - tema-electric   Цитата(Guest_mobidev_* @ Jun 5 2013, 12:5...   Jun 5 2013, 08:53
|- - viknn   Получается сейчас на сборочном компе должен быть И...   Jun 5 2013, 08:56
|- - AVL   Цитата(viknn @ Jun 5 2013, 12:56) Получае...   Jun 5 2013, 09:14
|- - tema-electric   А он ее разве не один раз грузит?   Jun 5 2013, 09:14
|- - mobidev   Цитата(tema-electric @ Jun 5 2013, 13...   Jun 6 2013, 08:19
- - Барановский Константин   Хочу собрать последний KiCAD из gost ветки, получа...   Jun 6 2013, 08:02
- - zöner   возможно, есть смысл сделать редактор атрибутов эл...   Jun 9 2013, 09:58
|- - AVL   Цитата(zöner @ Jun 9 2013, 13:58) во...   Jun 9 2013, 10:15
- - zöner   где ? не могу найти   Jun 9 2013, 10:33
|- - AVL   Цитата(zцner @ Jun 9 2013, 14:33) где ? н...   Jun 9 2013, 11:01
- - zöner   у меня свежесобранный BZR-4182-GOST, под линухом. ...   Jun 9 2013, 11:29
|- - AVL   Цитата(zöner @ Jun 9 2013, 15:29) у ...   Jun 9 2013, 11:56
|- - Aldan   Цитата(zöner @ Jun 9 2013, 15:29) у ...   Jun 9 2013, 12:37
|- - AVL   Цитата(Aldan @ Jun 9 2013, 16:37) В насто...   Jun 9 2013, 14:20
|- - Aldan   Есть такое понятие - «эффект свежака», который ино...   Jun 9 2013, 15:53
|- - AVL   Цитата(Aldan @ Jun 9 2013, 19:53) Вы же с...   Jun 11 2013, 21:10
|- - Aldan   Цитата(AVL @ Jun 12 2013, 01:10) Извините...   Jun 11 2013, 22:37
|- - AVL   Цитата(Aldan @ Jun 12 2013, 02:37) При эт...   Jun 12 2013, 07:15
|- - AHTOXA   Цитата(AVL @ Jun 12 2013, 13:15) То есть ...   Jun 12 2013, 09:27
|- - Aldan   Цитата(AVL @ Jun 12 2013, 10:15) Здесь пр...   Jun 12 2013, 10:06
- - break   Aldan Мой "опыт дурака" говорит то же...   Jun 10 2013, 08:55
|- - Aldan   Цитата(break @ Jun 10 2013, 12:55) Aldan ...   Jun 11 2013, 20:43
- - tema-electric   Честно говоря, проблема версий совершенно не волну...   Jun 12 2013, 02:02
|- - Aldan   Цитата(tema-electric @ Jun 12 2013, 06...   Jun 12 2013, 05:58
- - faa   ИМХО, ревизию lp:kicad можно указывать в комментар...   Jun 12 2013, 09:44
|- - AVL   Цитата(faa @ Jun 12 2013, 13:44) Кстати, ...   Jun 12 2013, 11:30
||- - Aldan   Цитата(AVL @ Jun 12 2013, 15:30) Я пока н...   Jun 12 2013, 12:29
|- - Aldan   Цитата(faa @ Jun 12 2013, 13:44) Если уж ...   Jun 21 2013, 21:43
- - zöner   зачем Make танет boost из сети, если у меня уже ус...   Jun 12 2013, 15:50
|- - AVL   Цитата(zцner @ Jun 12 2013, 19:50) зачем ...   Jun 12 2013, 16:13
- - AVL   Повторно реанимирован BOM ("eeschema->Tool...   Jun 12 2013, 21:49
|- - AHTOXA   Спасибо! А 4209 lp:kicad - это stable или нет...   Jun 13 2013, 03:45
|- - AVL   Цитата(AHTOXA @ Jun 13 2013, 07:45) Спаси...   Jun 13 2013, 05:55
- - tema-electric   Не собирается последняя ревизия кикада у меня. в...   Jun 17 2013, 07:00
|- - mobidev   Цитата(tema-electric @ Jun 17 2013, 11...   Jun 17 2013, 07:24
|- - AVL   Цитата(tema-electric @ Jun 17 2013, 11...   Jun 17 2013, 08:11
|- - tema-electric   Цитата(AVL @ Jun 17 2013, 15:11) Просьба ...   Jun 17 2013, 09:40
||- - AVL   Цитата(tema-electric @ Jun 17 2013, 13...   Jun 17 2013, 09:56
|||- - tema-electric   Цитата(AVL @ Jun 17 2013, 16:56) Не на то...   Jun 17 2013, 10:44
|||- - AVL   Цитата(tema-electric @ Jun 17 2013, 14...   Jun 17 2013, 12:05
|||- - tema-electric   Цитата(AVL @ Jun 17 2013, 19:05) Сможете ...   Jun 17 2013, 13:29
|||- - AVL   Цитата(tema-electric @ Jun 17 2013, 17...   Jun 17 2013, 19:09
|||- - tema-electric   Цитата(AVL @ Jun 18 2013, 02:09) Влил это...   Jun 18 2013, 04:12
||- - mobidev   Цитата(tema-electric @ Jun 17 2013, 13...   Jun 17 2013, 10:37
|- - viknn   Цитата(AVL @ Jun 17 2013, 12:11) Просьба ...   Jun 17 2013, 15:30
- - faa   4153 не собралось. Ошибка: Код/home/faa/rpmbuild/B...   Jun 17 2013, 17:03
- - Canis Dirus   Кто-нибудь смог собрать bz4152 (из kicad-gost на ф...   Jun 22 2013, 17:52
|- - AVL   Цитата(Canis Dirus @ Jun 22 2013, 21:52) ...   Jun 22 2013, 18:11
||- - Canis Dirus   Цитата(AVL @ Jun 23 2013, 00:11) Вот что ...   Jun 29 2013, 03:56
||- - AVL   Цитата(Canis Dirus @ Jun 29 2013, 07:56) ...   Jun 29 2013, 07:31
|- - AVL   Цитата(Canis Dirus @ Jun 22 2013, 21:52) ...   Jun 29 2013, 20:09
- - alex9   RE: Сборка из исходников   Sep 15 2013, 11:40
- - tema-electric   Цитата(alex9 @ Sep 15 2013, 18:40) Пытаюс...   Sep 16 2013, 15:53
- - alex9   Цитата(tema-electric @ Sep 16 2013, 18...   Sep 16 2013, 17:00
- - AVL   Цитата(alex9 @ Sep 16 2013, 21:00) Не пом...   Sep 16 2013, 19:16
- - alex9   Цитата(AVL @ Sep 16 2013, 22:16) Вместо -...   Sep 17 2013, 15:52
3 страниц V   1 2 3 >


Reply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 14:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01546 секунд с 7
ELECTRONIX ©2004-2016