Добрый день!
Fedora 21 64 Workstation
Memory: 8Gb
Не собирается fpc64.
Ошибка сборки с текстом: "relocation truncated to fit: R_X86_64_PC32 against"
Дома, на машинке с 4-мя гигами и такой же операционкой все собралось.
Как решить проблему?
Модератор: Модераторы
Дож писал(а):А если с опцией -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
sudo $vMake install OPT="-fPIC" PP=$vFpcExeDir/$vFpcExeFile INSTALL_PREFIX=/usr/lib/codetyphon/fpc/newfpc
$ 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
alexs писал(а):Всё собирается нормально
У меня такая же конфигурация:
/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
Дож писал(а):fpc -iV
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.
SSerge писал(а):имеет отношение к вашей проблеме? Что компилятор FPC относится к программам, у которых суммарный объем статических и динамических данных при сборке превышает 2G? Вообще то есть метод убедиться, что дело скорее всего не в памяти - быстрый и вульгарный - выньте половину из ваших восьми гектар и посмотрите, что будет
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0