Кросскомпиляция win->linux (skipping incompatible crtbegin)

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Кросскомпиляция win->linux (skipping incompatible crtbegin)

Сообщение SH@RK » 21.05.2009 23:04:20

Установил вчера Lazarus 0.9.26.2 (FPC 2.2.2) и начал знакомится. С win32 разобрался.
Попробовал под Linux скомпилить примерчик с fpTimer. Скомпилился. При запуске на ubuntu выдало: This binary has no thread support compiled in.
Полазив по форуму понял, что нужно в проекте юзать модуль cthreads. Прописал его. Но скомпилить (точнее слинковать) проект не могу.
Код: Выделить всё
[13.390]Using util d:\Lazarus\fpc\2.2.2\bin\i386-linux\i386-linux-ld.exe
d:\Lazarus\fpc\2.2.2\bin\i386-linux\i386-linux-ld.exe: skipping incompatible D:\Lazarus\fpc\linux\lib\crtbegin.o when searching for D:\Lazarus\fpc\linux\lib\crtbegin.o
d:\Lazarus\fpc\2.2.2\bin\i386-linux\i386-linux-ld.exe: cannot find D:\Lazarus\fpc\linux\lib\crtbegin.o
[13.820] Error while linking
[13.820] There were 1 errors compiling module, stopping
[13.820] Compilation aborted


В директорию D:\Lazarus\fpc\linux\lib распаковано содержимое uclibc-crosstools-mips.i386.rpm
Юзается win32crossbinutils2005.zip

Помогите новичку (третий день познаю fpc).
SH@RK
незнакомец
 
Сообщения: 9
Зарегистрирован: 03.08.2006 15:32:28

Re: Кросскомпиляция win->linux (skipping incompatible crtbegin)

Сообщение Attid » 22.05.2009 11:48:48

пытаетесь скомпилировать в линуксе прогу под венду ?

фпц\лазарус пересобрали под win32?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Кросскомпиляция win->linux (skipping incompatible crtbegin)

Сообщение SH@RK » 22.05.2009 12:23:33

Ну вроде из логов же видно что на винде компилятор и линкер запускаются.
Полазил и сегодня в нете и нашёл ссылки:
http://linuxforum.ru/index.php?showtopic=64425
https://www.linuxquestions.org/question ... or-556296/
из которых понял лишь то, что проблемма skipping incompatible обычно вылазиет при юзании elf_32bit и elf_64bit.
Но я то ведь тока с 32bit объектными файлами работаю.
Да и из названия пакета uclibc-crosstools-mips.i386.rpm ясно что дам elf_i386 , а никак не x86_64.

Может кто нито дать ссылку на "нормальный" uCLibс пакет ?
SH@RK
незнакомец
 
Сообщения: 9
Зарегистрирован: 03.08.2006 15:32:28

Re: Кросскомпиляция win->linux (skipping incompatible crtbegin)

Сообщение Logo » 22.05.2009 12:55:27

Не совсем понял, Вы под Виндовс компилируете для Линукс, или наоборот.

uclibc-crosstools-mips.i386.rpm - это для кросс компиляции под платформы с MIPS процессорами, у Вас Убунта на машине с MIPS, тоесть, на НЕТБУКЕ или каком другом мобильном устройстве?
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Кросскомпиляция win->linux (skipping incompatible crtbegin)

Сообщение SH@RK » 22.05.2009 13:13:55

Logo
Я работаю в win32 среде (32bit). Пытаюсь собрать проект для i386-linux под виндой (через fpc.exe и i386-linux-ld.exe).
У меня убунта на i386.
Я так понял что мне нужно где то взять uCLibс для x86 процев !?
// а что такое MIPS не имею понятия
SH@RK
незнакомец
 
Сообщения: 9
Зарегистрирован: 03.08.2006 15:32:28

Re: Кросскомпиляция win->linux (skipping incompatible crtbegin)

Сообщение Mr.Smart » 22.05.2009 15:23:20

SH@RK писал(а):а что такое MIPS не имею понятия

Для ознакомления :wink:
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Кросскомпиляция win->linux (skipping incompatible crtbegin)

Сообщение SH@RK » 22.05.2009 15:45:10

Mr.Smart
спс
тогда загадка почему в названии архива используются понятия i386 и MIPS ...

Буду искать натуральные i386 объектные файлики (или в ubuntu попробую поискать).
SH@RK
незнакомец
 
Сообщения: 9
Зарегистрирован: 03.08.2006 15:32:28

Re: Кросскомпиляция win->linux (skipping incompatible crtbegin)

Сообщение Logo » 22.05.2009 17:36:35

К сожалению, как под виндовс компилировать для Линукс, не подскажу. Обратное могу.

uclibc-crosstools-mips.i386.rpm:

uclibc-crosstools - Библиотека для кросс компиляции
mips - Получения исходного файла для платформы
.i386 - На какой платформе будет производиться компиляция, в нашем случае i386
rpm - тип установочного пакета, используется для Линукс систем, таких, как Redhet, CentOS, Mandriva, SUSE...... . Для Ubuntu свои пакеты, с "расширением" .deb. Для Windows ни то, ни то не подходит, там своя установка исполняемыми инсталяторами, как все Вин программы. Помойму для кроскомпиляции с Виндовс для Линукс не нужно никаких библиотек, а только кросс компилятор, хотя могу и ошибаться, может кто поправит.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Кросскомпиляция win->linux (skipping incompatible crtbegin)

Сообщение Attid » 22.05.2009 18:16:41

Logo писал(а):может кто поправит.

никто не поправит, все было расписанно в топике на несколько страниц.
с компиляцией как в одну так и в другую сторону.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Кросскомпиляция win->linux (skipping incompatible crtbegin)

Сообщение vad74 » 19.05.2010 17:22:42

Подниму старую тему. Скачал Lazarus (lazarus-0.9.28.2-fpc-2.2.4-win32.exe) и поставил на WinXP. Нигде не могу найти настройки выбора ОС таргета. Мне нужно компилить для Linux и проц 586. Помню что в IDE ДОСовского Free Pascal был выбор ОСей таргета. А тут как? Что надо сделать чтобы Lazarus создавал не ехе, а бинарник для Линукса?
vad74
новенький
 
Сообщения: 25
Зарегистрирован: 19.01.2010 12:48:24
Откуда: Беларусь


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru