Проблема R_X86_64_PC32

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

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

Проблема R_X86_64_PC32

Сообщение krab22 » 06.03.2015 09:24:43

Добрый день!
Fedora 21 64 Workstation
Memory: 8Gb

Не собирается fpc64.
Ошибка сборки с текстом: "relocation truncated to fit: R_X86_64_PC32 against"

Дома, на машинке с 4-мя гигами и такой же операционкой все собралось.

Как решить проблему?
krab22
новенький
 
Сообщения: 17
Зарегистрирован: 24.01.2013 06:52:43

Re: Проблема R_X86_64_PC32

Сообщение Дож » 06.03.2015 09:32:25

А если с опцией -fPIC собирать?
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Проблема R_X86_64_PC32

Сообщение krab22 » 06.03.2015 09:49:39

Дож писал(а):А если с опцией -fPIC собирать?

Есть скрипт
Код: Выделить всё
echo "------------------------------------------------"
echo "            Build FreePascal $vBits"
echo "------------------------------------------------"

#sleep 100

case $vOSName in
solaris)
   sudo $vMake all OPT="-Xn" PP=$vFpcExeDir/$vFpcExeFile PPUMOVE=/usr/lib/codetyphon/fpcsrc/compiler/utils/ppumove
;;
linux)
   sudo $vMake all PP=$vFpcExeDir/$vFpcExeFile PPUMOVE=/usr/lib/codetyphon/fpcsrc/compiler/utils/ppumove
;;
freebsd)
   sudo $vMake all OPT="-Fl/usr/local/lib" PP=$vFpcExeDir/$vFpcExeFile PPUMOVE=/usr/lib/codetyphon/fpcsrc/compiler/utils/ppumove
;;
openbsd)
   sudo $vMake all OPT="-Fl/usr/local/lib" PP=$vFpcExeDir/$vFpcExeFile PPUMOVE=/usr/lib/codetyphon/fpcsrc/compiler/utils/ppumove
;;
netbsd)
   sudo $vMake all OPT="-Fl/usr/local/lib" PP=$vFpcExeDir/$vFpcExeFile PPUMOVE=/usr/lib/codetyphon/fpcsrc/compiler/utils/ppumove
;;
dragonfly)
   sudo $vMake all OPT="-Fl/usr/local/lib" PP=$vFpcExeDir/$vFpcExeFile PPUMOVE=/usr/lib/codetyphon/fpcsrc/compiler/utils/ppumove
;;
darwin) 
   sudo $vMake all PP=$vFpcExeDir/$vFpcExeFile PPUMOVE=/usr/lib/codetyphon/fpcsrc/compiler/utils/ppumove   
;;
*)
   sudo $vMake all PP=$vFpcExeDir/$vFpcExeFile PPUMOVE=/usr/lib/codetyphon/fpcsrc/compiler/utils/ppumove
;;
esac

# =======================================================
if [ -f $vCTDir/Settings/CT_FPC_Stop_Before_Install.ctsw ] ;
then
  echo "   "
  echo "[INFO]: Switch, FPC Stop Before Install Procedure, is ON."
  echo "        FPC Build procedure STOP.."
  echo "   "
  exit
fi
# =====================================================
echo "   "
echo "------------------------------------------------"
echo "        Install FreePascal $vBits"
echo "------------------------------------------------"

sudo $vMake install PP=$vFpcExeDir/$vFpcExeFile INSTALL_PREFIX=/usr/lib/codetyphon/fpc/newfpc


Куда ключик пихнуть?
krab22
новенький
 
Сообщения: 17
Зарегистрирован: 24.01.2013 06:52:43

Re: Проблема R_X86_64_PC32

Сообщение Дож » 06.03.2015 10:02:57

Код: Выделить всё
sudo $vMake install OPT="-fPIC" PP=$vFpcExeDir/$vFpcExeFile INSTALL_PREFIX=/usr/lib/codetyphon/fpc/newfpc
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Проблема R_X86_64_PC32

Сообщение krab22 » 06.03.2015 10:49:19

Неа ...
не прокатило...
параметр в командной строке компилятора появился, но увы и ах
krab22
новенький
 
Сообщения: 17
Зарегистрирован: 24.01.2013 06:52:43

Re: Проблема R_X86_64_PC32

Сообщение Дож » 06.03.2015 11:14:33

Пробовали брать не CodeTyphon сборку, а официальные исходники?

Так-то похоже на ошибку линковки, спросите совета на fpc-pascal@lists.freepascal.org
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Проблема R_X86_64_PC32

Сообщение alexs » 06.03.2015 12:12:20

Всё собирается нормально
У меня такая же конфигурация:
Код: Выделить всё
$ uname -r
3.18.7-200.fc21.x86_64

Код: Выделить всё
$cat make_lin.sh
make clean
make all PP=/home/install/fpc_compile/starter/ppcx64

В качестве стартового компилятора использую:
Код: Выделить всё
$ /home/install/fpc_compile/starter/ppcx64
Free Pascal Compiler version 2.6.4 [2014/03/03] for x86_64

Исходники взяты отсюда:
http://svn.freepascal.org/svn/fpc/trunk
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Проблема R_X86_64_PC32

Сообщение krab22 » 06.03.2015 12:56:59

alexs писал(а):Всё собирается нормально
У меня такая же конфигурация:

Дык я писал выше....
Дома собирается....

Отличие в размере оперативки

Добавлено спустя 5 минут 25 секунд:
вот лог
Код: Выделить всё
/bin/mkdir -p x86_64/units/x86_64-linux
/usr/lib/codetyphon/fpc/fpc64/bin/x86_64-linux/ppcx64 -Ur -Xs -O2 -n -Fux86_64 -Fusystems -Fu/usr/lib/codetyphon/fpcsrc/rtl/units/x86_64-linux -Fix86_64 -FE. -FUx86_64/units/x86_64-linux -Cg -dRELEASE -fPIC   -dx86_64 -dGDB -dBROWSERLOG -Fux86 -Sew pp.pas
/bin/ld: warning: ./link.res contains output sections; did you forget -T?
/usr/lib/codetyphon/fpcsrc/rtl/units/x86_64-linux/sysutils.o: In function `SYSUTILS_$$_EXPANDFILENAMECASE$RAWBYTESTRING$TFILENAMECASEMATCH$$RAWBYTESTRING':
sysutils.pp:(.text.n_sysutils_$$_expandfilenamecase$rawbytestring$tfilenamecasematch$$rawbytestring+0x22b): relocation truncated to fit: R_X86_64_PLT32 against symbol `fpc_ansistr_assign' defined in .text.n_fpc_ansistr_assign section in /usr/lib/codetyphon/fpcsrc/rtl/units/x86_64-linux/system.o
pp.pas(247,1) Error: Error while linking
pp.pas(247,1) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Makefile:3925: ошибка выполнения рецепта для цели «ppcx64»
make[5]: *** [ppcx64] Ошибка 1
make[5]: выход из каталога «/usr/lib/codetyphon/fpcsrc/compiler»
Makefile:3967: ошибка выполнения рецепта для цели «next»
make[4]: *** [next] Ошибка 2
make[4]: выход из каталога «/usr/lib/codetyphon/fpcsrc/compiler»
Makefile:3972: ошибка выполнения рецепта для цели «ppc1»
make[3]: *** [ppc1] Ошибка 2
make[3]: выход из каталога «/usr/lib/codetyphon/fpcsrc/compiler»
Makefile:3984: ошибка выполнения рецепта для цели «cycle»
make[2]: *** [cycle] Ошибка 2
make[2]: выход из каталога «/usr/lib/codetyphon/fpcsrc/compiler»
Makefile:2779: ошибка выполнения рецепта для цели «compiler_cycle»
make[1]: *** [compiler_cycle] Ошибка 2
make[1]: выход из каталога «/usr/lib/codetyphon/fpcsrc»
Makefile:2804: ошибка выполнения рецепта для цели «build-stamp.x86_64-linux»
make: *** [build-stamp.x86_64-linux] Ошибка 2
   
[INFO]: Switch, FPC Stop Before Install Procedure, is ON.
        FPC Build procedure STOP..
   
_______________________________________________________________

Terminate Action at 6-3-15 12:09:07
Total time: 00:00:19.331
ExitCode : 0
krab22
новенький
 
Сообщения: 17
Зарегистрирован: 24.01.2013 06:52:43

Re: Проблема R_X86_64_PC32

Сообщение alexs » 06.03.2015 14:46:41

А если взять официальные исходники? CT - не лучший выбор. Они там чего хочешь могли натворить.
Скачай с svn и собери.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Проблема R_X86_64_PC32

Сообщение krab22 » 06.03.2015 14:52:14

Взял http://svn.freepascal.org/svn/fpc/tags/release_2_6_4
make install
сваливается по ошибке: "systemh.inc(508,3) Fatal: Cannot find system type "TEXTREC". Check if you use the correct run time library."
krab22
новенький
 
Сообщения: 17
Зарегистрирован: 24.01.2013 06:52:43

Re: Проблема R_X86_64_PC32

Сообщение Дож » 06.03.2015 15:01:42

fpc -iV
что говорит?
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Проблема R_X86_64_PC32

Сообщение krab22 » 06.03.2015 15:32:51

Дож писал(а):fpc -iV

3.1.1
только 2.6.4. не взлетело
поэтому fpc молчит
а fpc32 и fpc64 говорит то что я привел выше (это от CodeTyphon)
krab22
новенький
 
Сообщения: 17
Зарегистрирован: 24.01.2013 06:52:43

Re: Проблема R_X86_64_PC32

Сообщение krab22 » 09.03.2015 09:17:48

Во еще нашел https://software.intel.com/en-us/articl ... n-intel64/
Только где этот параметр (–mcmodel=medium) выставить
krab22
новенький
 
Сообщения: 17
Зарегистрирован: 24.01.2013 06:52:43

Re: Проблема R_X86_64_PC32

Сообщение SSerge » 09.03.2015 11:23:49

krab22 писал(а):Во еще нашел https://software.intel.com/en-us/articl ... n-intel64/
Только где этот параметр (–mcmodel=medium) выставить


Вы серьезно считаете, что
Root Cause : The default memory model for the Intel® Compiler for Intel64 Linux* is small (–mcmodel=small). This restricts both code and global or static data to the first 2 GB of address space and allows all accesses to be made with instruction pointer (IP)-relative addressing. If an application containing a total of more than 2 GB of global or static data is built with default options, the IP-relative addressing may result in a relocation overflow error at link time.

имеет отношение к вашей проблеме? Что компилятор FPC относится к программам, у которых суммарный объем статических и динамических данных при сборке превышает 2G? Вообще то есть метод убедиться, что дело скорее всего не впамяти - быстрый и вульгарный - выньте половину из ваших восьми гектар и посмотрите, что будет
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Проблема R_X86_64_PC32

Сообщение krab22 » 10.03.2015 06:34:19

Хорошо. Возможно компилятор и не использует таким образом память..
Тогда в чем проблема?
Ваши варианты?

Добавлено спустя 10 минут 26 секунд:
SSerge писал(а):имеет отношение к вашей проблеме? Что компилятор FPC относится к программам, у которых суммарный объем статических и динамических данных при сборке превышает 2G? Вообще то есть метод убедиться, что дело скорее всего не в памяти - быстрый и вульгарный - выньте половину из ваших восьми гектар и посмотрите, что будет

Убрал 4Gb все собралось на мах.....
krab22
новенький
 
Сообщения: 17
Зарегистрирован: 24.01.2013 06:52:43

След.

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

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

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

Рейтинг@Mail.ru