Установка fpc на FreeBSD amd64 из портов

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

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

Установка fpc на FreeBSD amd64 из портов

Сообщение AbakAngelSoft » 03.12.2009 11:42:41

Поддержка i386 на FreeBSD поднята.
По аналогии с установкой других i386 программ делаю:
В MakeFile закомментировать # ONLY_FOR_ARCHS = i386
и добавить ARCH = i386

все скачивает, долго что-то собирает и в конце
i386/prt0.as: Assembler messages:
i386/prt0.as:51: Error: suffix or operands invalid for `push'
i386/prt0.as:53: Error: suffix or operands invalid for `push'
i386/prt0.as:54: Error: suffix or operands invalid for `push'
i386/prt0.as:55: Error: suffix or operands invalid for `push'
i386/prt0.as:59: Error: `8(%ebp)' is not a valid 64 bit base/index expression
i386/prt0.as:61: Error: `-4(%edi)' is not a valid 64 bit base/index expression
i386/prt0.as:63: Error: `4(%ebp)' is not a valid 64 bit base/index expression
i386/prt0.as:64: Error: `12(%ebp,%ebx,4)' is not a valid 64 bit base/index expression
i386/prt0.as:69: Error: `8(%ebp)' is not a valid 64 bit base/index expression
i386/prt0.as:73: Error: `(%eax)' is not a valid 64 bit base/index expression
i386/prt0.as:77: Error: `(%eax)' is not a valid 64 bit base/index expression
i386/prt0.as:79: Error: `1(%eax)' is not a valid 64 bit base/index expression
i386/prt0.as:83: Error: `(%eax)' is not a valid 64 bit base/index expression
i386/prt0.as:97: Error: suffix or operands invalid for `push'
i386/prt0.as:107: Error: suffix or operands invalid for `push'
gmake[5]: *** [prt0.o] Error 1
gmake[4]: *** [freebsd_all] Error 2
gmake[3]: *** [rtl] Error 2
gmake[2]: *** [next] Error 2
gmake[1]: *** [ppc1] Error 2
gmake: *** [cycle] Error 2

как указать ассемблеру архитектуру? и какие еще камни будут?
Аватара пользователя
AbakAngelSoft
постоялец
 
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение Dmitry » 03.12.2009 12:12:14

Dmitry
новенький
 
Сообщения: 52
Зарегистрирован: 05.07.2005 08:53:06

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение AbakAngelSoft » 03.12.2009 13:31:42

Спасибо ваша ссылка помогла установил снапшот, но при сборке проектов вываливает
Error: ppcx64 can't be executed, error message: Failed to execute "ppcx64", error code: 127
что делать дальше?

Добавлено спустя 2 минуты 11 секунд:
судя по всему этого файла просто нет! где его брать?
Аватара пользователя
AbakAngelSoft
постоялец
 
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение Mr.Smart » 03.12.2009 13:58:51

На сколько я понял вы пытаетесь собирать под i386 в системе x86_64.
так ppcx64 - 64 битная весия компилятора, а вам нужна ppc386.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение AbakAngelSoft » 03.12.2009 14:16:26

уже нет. На freepascal.org говорят что fpc 2.2.4 i386 под x86_64 на FreeBSD не соберешь. Есть snapshot fpc 2.3.1 для FreeBSD x86_64. Я его поставил (просто распаковал в нужные каталоги /usr/bin /usr/lib и т.д.) но при компиляции выдает вышеозначенное сообщение. Указанный файл нашелся в папке /usr/lib/fpc/2.3.1. Из командной строки вызывается нормально (выводит справку). компилирую так fpc -Mobjfpc -O3 -CX -Os -Xs -XX my.lpr -FE/home/www/cgi/bin -omy

Добавлено спустя 3 минуты 4 секунды:
my.lpr тестовое cgi приложение "hello world"

Добавлено спустя 15 минут 51 секунду:
На других дистрибутивах linux 64 этот файлик лежит в bin я тоже переложил его соответственно в /usr/bin сообщения изменились:
Fatal: Can't find unit httpDefs used by my
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)

Добавлено спустя 2 часа 5 минут 9 секунд:
Итог установка fpc для FreeBSD под x86_64
скачиваем
http://www.stack.nl/~marcov/snapshot-fr ... 98.tar.bz2
распаковываем в соответствующие папки /usr/...
добавляем в /etc/ файл fpc.cfg из другой системы где fpc работает
поправляем пути в файле fpc.cfg
копируем /usr/lib/fpc/2.3.1/ppcx64 в /usr/bin/

ура! работает.
Аватара пользователя
AbakAngelSoft
постоялец
 
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение Dmitry » 04.12.2009 13:11:19

Поздравляю! Вы прошли квест! :)

P.S.
Я так понял, что в 2.4.0 таки не будет FreeBSD x86_64 версии.
Dmitry
новенький
 
Сообщения: 52
Зарегистрирован: 05.07.2005 08:53:06

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение AbakAngelSoft » 08.12.2009 13:30:53

Таки прошел!
Не будет? Это не есть хорошо!
FreeBSD в основном стоит на серверах, а на сервера народ старается железо помощнее и поновее.
Хотя помимо fpc у многих программных продуктов проблема с FreeBSD x86_64. А поддержка i386 на этой платформе подкачала :(.
Но наш проект уже выпущен под FreeBSD x86_64 и даже работает. :)
Аватара пользователя
AbakAngelSoft
постоялец
 
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение Dmitry » 13.12.2009 00:11:19

Поставил и себе. При компиляции паскалевских прог выдает странное сообщение:

ar: warning: creating libplcalck.a

где pcalck - имя компилируемой программы
Dmitry
новенький
 
Сообщения: 52
Зарегистрирован: 05.07.2005 08:53:06

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение AbakAngelSoft » 13.12.2009 15:18:21

если вы не ошиблись при копировании то ваша программа называется pcalck, а линкер требует библиотеку plcalck. Дайте ему то что он просит и все будут счастливы. :)
Аватара пользователя
AbakAngelSoft
постоялец
 
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение Dmitry » 15.12.2009 13:17:13

AbakAngelSoft писал(а):если вы не ошиблись при копировании то ваша программа называется pcalck, а линкер требует библиотеку plcalck. Дайте ему то что он просит и все будут счастливы. :)

Он компилит нормально. Но постоянно выводит такой варнинг.
Dmitry
новенький
 
Сообщения: 52
Зарегистрирован: 05.07.2005 08:53:06

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение AbakAngelSoft » 15.12.2009 13:30:02

у меня тоже выводить для каждой программы и модуля сообщение о том что создан *.a но без всяческих warning-ов. :?:
Аватара пользователя
AbakAngelSoft
постоялец
 
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар

Re: Установка fpc на FreeBSD amd64 из портов

Сообщение Dmitry » 15.12.2009 17:01:04

AbakAngelSoft писал(а):у меня тоже выводить для каждой программы и модуля сообщение о том что создан *.a но без всяческих warning-ов. :?:

Код: Выделить всё
program test;

begin
  WriteLn('test');
end.
Код: Выделить всё
# fpc test.pas
Free Pascal Compiler version 2.3.1 [2008/09/17] for x86_64
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: FreeBSD for x86-64
Compiling test.pas
Assembling test
Assembling with smartlinking test
ar: warning: creating libptest.a
Linking test
5 lines compiled, 0.1 sec
Код: Выделить всё
# ./test
test
Dmitry
новенький
 
Сообщения: 52
Зарегистрирован: 05.07.2005 08:53:06


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

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

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

Рейтинг@Mail.ru