fpcup x86 and x64 lazarus / 1-Linux ---------------------------------------------------------------------- aradeonas · 2015-02-23 14:57 Hi, I am new with fpcup and I have an newbies question: I have an Ubuntu 64bit and get fpcup x64 and it install Lazarus and fpc 64 but I need 32bit compiling and accroding to fpcup wiki I cant cross compile with it. So what can I do? Run fpcup x86 on this 64bit machine and then I can have both? Get another 32bit Ubuntu and install  fpcup x86 on it? Or something else? ---------------------------------------------------------------------- aradeonas · 2015-02-24 22:52 Am I asking too newbie question that not worth to answer or there is no one that run fpcub on a 64 bit Linux? ---------------------------------------------------------------------- engkin · 2015-02-25 01:15 Your question deserves an answer and I think you did not receive any because we don't know or not sure. Take me as an example, I don't use Linux and was waiting to see the answers you'll receive to learn from them.  I just checked Fpcup wiki page and I found that there is a section specifically for your question titled Linux i386 cross. It shows the settings need to be added to settings.ini and how to call Fpcup using these setting. Give that section a try and let us know how it goes. ---------------------------------------------------------------------- aradeonas · 2015-02-25 09:49 Thank you. I did that and after run this command output is: Code: [Select]pp@pp-VirtualBox:~$ /home/pp/fpcup_linux_x64  --inifile=/home/pp/setting.ini --inisection=linuxi386 fpcup An FPC/Lazarus downloader/updater/installer Open source freeware (modified LGPL/BSD), see: https://bitbucket.org/reiniero/fpcup This program will download the FPC and Lazarus sources from the source Subversion/SVN repositories, compile, and install. Result: you get a fresh, up-to-date Lazarus/FPC installation. Version: based on commit fbd73c48eff8 (Sat Nov 15 15:35:25 2014 +0100) Build date: 2014/11/15 15:43:19 Compiled for CPU: x86_64 on linux Options: Bootstrap compiler dir: /home/pp/development/fpcbootstrap Lazarus shortcut name:  Shortcut fpcup name:    FPC URL:                http://svn.freepascal.org/svn/fpc/trunk FPC options:            FPC directory:          /home/pp/development/fpc Lazarus directory:      /home/pp/lazdir=~/development/lazarus Lazarus primary config path: (Lazarus settings path) ~/development/lazarussettings Lazarus URL:            http://svn.freepascal.org/svn/lazarus/trunk Lazarus options:        Keep local changes:     yes Log file name:          /home/pp/fpcup.log Effective parameters:  --fpcdir=~/development/fpc --fpcopt= --fpcurl=http://svn.freepascal.org/svn/fpc/trunk --lazdir=lazdir=~/development/lazarus --primary-config-path=~/development/lazarussettings --lazlinkname= --fpcuplinkname= --fpcbootstrapdir=~/development/fpcbootstrap --noconfirm --keeplocalchanges=true --cputarget=i386 --ostarget=linux --only=FPCCleanOnly,FPCBuildOnly --skip=FPCGetOnly,lazbuild,bigide,useride Persistent parameters (can be saved in shell script): --inifile="/home/pp/setting.ini" --inisection="linuxi386" WARNING: Skipping installation/update of FPCGetOnly,lazbuild,bigide,useride WARNING: Limiting installation/update to FPCCleanOnly,FPCBuildOnly fpcup: info: 25-2-15 03:45:51: fpcup fbd73c48eff8 (Sat Nov 15 15:35:25 2014 +0100) started. fpcup: WARNING: TFPCInstaller: bootstrap compiler detection: assuming this is a x64 processor on Linux fpcup: info: Found bootstrap compiler version 2.6.2 fpcup: info: FPC: running make distclean (OS_TARGET=linux/CPU_TARGET=i386): fpcup: WARNING: TFPCInstaller: bootstrap compiler detection: assuming this is a x64 processor on Linux fpcup: info: Found bootstrap compiler version 2.6.2 fpcup: info: TFPCInstaller: building module FPC... fpcup: info: any_linux386: searched but did not find binutil as in directory /home/pp/development/fpc/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /home/pp/development/cross/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /usr/local/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /usr/local/bin fpcup: info: any_linux386: found binutil as in directory /usr/bin fpcup: info: Tany_linux386: failed: searched libspath /home/pp/development/fpc/lib/i386-linux fpcup: info: Tany_linux386: failed: searched libspath /home/pp/development/cross/lib/i386-linux fpcup: info: Tany_linux386: failed: searched libspath /usr/lib/i386-linux-gnu fpcup: ERROR: Failed to get cross libraries fpcup: ERROR: Error running BuildModuleCustom for module FPC fpcup: info: Error running fpcup. Technical details: error executing sequence FPCBuildOnly; line: 2, param: FPC fpcup: info: Error running fpcup. Technical details: error executing sequence Only; line: 2, param: FPCBuildOnly FPCUp failed. Please check log for details. Possible troubleshooting steps: - run again with --verbose and check for make, lazbuild errors etc. - make sure there's a valid SVN executable in your path. - make sure the GNU binutils (make etc), windres, subversion client are installed   e.g. on Debian/Ubuntu: aptitude install build-essential mingw32-binutils subversion   ln -s /usr/bin/i586-mingw32msvc-windres /usr/bin/windres   see http://wiki.lazarus.freepascal.org/Lazarus_Resources#Checking_yo u_have_windres - if compiling Lazarus, make sure your lhelp is closed. - try removing all intermediate files by running fpcup with the --clean option   and/or manually deleting all *.ppu/*.a/*.o followed by svn up - if that does not work: use the --uninstall option to remove all files   including your FPC and Lazarus directories - remove the files in the bootstrap directory. fpcup will redownload if required. fpcup: info: 25-2-15 03:46:00: fpcup finished. pp@pp-VirtualBox:~$ /home/pp/fpcup_linux_x64  --inifile=/home/pp/setting.ini --inisection=linuxi386 fpcup An FPC/Lazarus downloader/updater/installer Open source freeware (modified LGPL/BSD), see: https://bitbucket.org/reiniero/fpcup This program will download the FPC and Lazarus sources from the source Subversion/SVN repositories, compile, and install. Result: you get a fresh, up-to-date Lazarus/FPC installation. Version: based on commit fbd73c48eff8 (Sat Nov 15 15:35:25 2014 +0100) Build date: 2014/11/15 15:43:19 Compiled for CPU: x86_64 on linux Options: Bootstrap compiler dir: /home/pp/development/fpcbootstrap Lazarus shortcut name:  Shortcut fpcup name:    FPC URL:                http://svn.freepascal.org/svn/fpc/trunk FPC options:            FPC directory:          /home/pp/development/fpc Lazarus directory:      /home/pp/lazdir=~/development/lazarus Lazarus primary config path: (Lazarus settings path) ~/development/lazarussettings Lazarus URL:            http://svn.freepascal.org/svn/lazarus/trunk Lazarus options:        Keep local changes:     yes Log file name:          /home/pp/fpcup.log Effective parameters:  --fpcdir=~/development/fpc --fpcopt= --fpcurl=http://svn.freepascal.org/svn/fpc/trunk --lazdir=lazdir=~/development/lazarus --primary-config-path=~/development/lazarussettings --lazlinkname= --fpcuplinkname= --fpcbootstrapdir=~/development/fpcbootstrap --noconfirm --keeplocalchanges=true --cputarget=i386 --ostarget=linux --only=FPCCleanOnly,FPCBuildOnly --skip=FPCGetOnly,lazbuild,bigide,useride Persistent parameters (can be saved in shell script): --inifile="/home/pp/setting.ini" --inisection="linuxi386" WARNING: Skipping installation/update of FPCGetOnly,lazbuild,bigide,useride WARNING: Limiting installation/update to FPCCleanOnly,FPCBuildOnly fpcup: info: 25-2-15 03:46:05: fpcup fbd73c48eff8 (Sat Nov 15 15:35:25 2014 +0100) started. fpcup: WARNING: TFPCInstaller: bootstrap compiler detection: assuming this is a x64 processor on Linux fpcup: info: Found bootstrap compiler version 2.6.2 fpcup: info: FPC: running make distclean (OS_TARGET=linux/CPU_TARGET=i386): fpcup: WARNING: TFPCInstaller: bootstrap compiler detection: assuming this is a x64 processor on Linux fpcup: info: Found bootstrap compiler version 2.6.2 fpcup: info: TFPCInstaller: building module FPC... fpcup: info: any_linux386: searched but did not find binutil as in directory /home/pp/development/fpc/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /home/pp/development/cross/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /usr/local/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /usr/local/bin fpcup: info: any_linux386: found binutil as in directory /usr/bin fpcup: info: Tany_linux386: failed: searched libspath /home/pp/development/fpc/lib/i386-linux fpcup: info: Tany_linux386: failed: searched libspath /home/pp/development/cross/lib/i386-linux fpcup: info: Tany_linux386: failed: searched libspath /usr/lib/i386-linux-gnu fpcup: ERROR: Failed to get cross libraries fpcup: ERROR: Error running BuildModuleCustom for module FPC fpcup: info: Error running fpcup. Technical details: error executing sequence FPCBuildOnly; line: 2, param: FPC fpcup: info: Error running fpcup. Technical details: error executing sequence Only; line: 2, param: FPCBuildOnly FPCUp failed. Please check log for details. Possible troubleshooting steps: - run again with --verbose and check for make, lazbuild errors etc. - make sure there's a valid SVN executable in your path. - make sure the GNU binutils (make etc), windres, subversion client are installed   e.g. on Debian/Ubuntu: aptitude install build-essential mingw32-binutils subversion   ln -s /usr/bin/i586-mingw32msvc-windres /usr/bin/windres   see http://wiki.lazarus.freepascal.org/Lazarus_Resources#Checking_yo u_have_windres - if compiling Lazarus, make sure your lhelp is closed. - try removing all intermediate files by running fpcup with the --clean option   and/or manually deleting all *.ppu/*.a/*.o followed by svn up - if that does not work: use the --uninstall option to remove all files   including your FPC and Lazarus directories - remove the files in the bootstrap directory. fpcup will redownload if required. fpcup: info: 25-2-15 03:46:14: fpcup finished. I checked verbose,mingw32-binutils and clean but output same result and as I said Im new to linux and just want a way to tun FPC nad Lazarus 32. ---------------------------------------------------------------------- engkin · 2015-02-25 11:21 It seems to me that it needs i386-linux libraries: Quotefpcup: info: Tany_linux386: failed: searched libspath /home/pp/development/fpc/lib/i386-linux fpcup: info: Tany_linux386: failed: searched libspath /home/pp/development/cross/lib/i386-linux fpcup: info: Tany_linux386: failed: searched libspath /usr/lib/i386-linux-gnu fpcup: ERROR: Failed to get cross libraries To continue on x64 you have to copy i386 files. More details should be in: QuoteLog file name:          /home/pp/fpcup.log Check or compress and upload the log file. It is interesting to notice that it mentions the class name "TAny_linux386" inside Fpcup where it fails. ---------------------------------------------------------------------- aradeonas · 2015-02-25 12:41 Thank you for helping me. Here you are the log: Code: [Select] [2015-02-25 06:37:58.898 Info] 25-2-15 06:37:58: fpcup fbd73c48eff8 (Sat Nov 15 15:35:25 2014 +0100) started.  [2015-02-25 06:38:00.008 Info] TFPCInstaller init:  [2015-02-25 06:38:00.008 Info] Bootstrap compiler dir: /home/pp/development/fpcbootstrap/  [2015-02-25 06:38:00.008 Info] FPC URL:                http://svn.freepascal.org/svn/fpc/trunk  [2015-02-25 06:38:00.008 Info] FPC options:             [2015-02-25 06:38:00.008 Info] FPC directory:          /home/pp/development/fpc  [2015-02-25 06:38:00.008 Info] External program path:  /home/pp/devel opment/fpc/bin/x86_64- linux:/home/pp/development/fpc/bin:/home/pp/development/fpc/utils:/usr /local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/u sr/local/games  [2015-02-25 06:38:05.437 Info] TFPCInstaller init:  [2015-02-25 06:38:05.437 Info] Bootstrap compiler dir: /home/pp/development/fpcbootstrap/  [2015-02-25 06:38:05.437 Info] FPC URL:                http://svn.freepascal.org/svn/fpc/trunk  [2015-02-25 06:38:05.437 Info] FPC options:             [2015-02-25 06:38:05.437 Info] FPC directory:          /home/pp/development/fpc  [2015-02-25 06:38:05.437 Info] External program path:  /home/pp/devel opment/fpc/bin/x86_64- linux:/home/pp/development/fpc/bin:/home/pp/development/fpc/utils:/usr /local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/u sr/local/games  [2015-02-25 06:38:07.646 Info] Error running fpcup. Technical details: error executing sequence FPCBuildOnly; line: 2, param: FPC  [2015-02-25 06:38:07.848 Info] Error running fpcup. Technical details: error executing sequence Only; line: 2, param: FPCBuildOnly  [2015-02-25 06:38:08.049 Info] 25-2-15 06:38:08: fpcup finished.  [2015-02-25 06:38:08.249 Info] ------------------------------------------------ and output is: Code: [Select]pp@pp-VirtualBox:~$ /home/pp/fpcup_linux_x64 --inifile=/home/pp/setting.ini --inisection=linuxi386 fpcup An FPC/Lazarus downloader/updater/installer Open source freeware (modified LGPL/BSD), see: https://bitbucket.org/reiniero/fpcup This program will download the FPC and Lazarus sources from the source Subversion/SVN repositories, compile, and install. Result: you get a fresh, up-to-date Lazarus/FPC installation. Version: based on commit fbd73c48eff8 (Sat Nov 15 15:35:25 2014 +0100) Build date: 2014/11/15 15:43:19 Compiled for CPU: x86_64 on linux Options: Bootstrap compiler dir: /home/pp/development/fpcbootstrap Lazarus shortcut name:  Shortcut fpcup name:    FPC URL:                http://svn.freepascal.org/svn/fpc/trunk FPC options:            FPC directory:          /home/pp/development/fpc Lazarus directory:      /home/pp/lazdir=~/development/lazarus Lazarus primary config path: (Lazarus settings path) ~/development/lazarussettings Lazarus URL:            http://svn.freepascal.org/svn/lazarus/trunk Lazarus options:        Keep local changes:     yes Log file name:          /home/pp/fpcup.log Effective parameters:  --fpcdir=~/development/fpc --fpcopt= --fpcurl=http://svn.freepascal.org/svn/fpc/trunk --lazdir=lazdir=~/development/lazarus --primary-config-path=~/development/lazarussettings --lazlinkname= --fpcuplinkname= --fpcbootstrapdir=~/development/fpcbootstrap --noconfirm --keeplocalchanges=true --cputarget=i386 --ostarget=linux --only=FPCCleanOnly,FPCBuildOnly --skip=FPCGetOnly,lazbuild,bigide,useride Persistent parameters (can be saved in shell script): --inifile="/home/pp/setting.ini" --inisection="linuxi386" WARNING: Skipping installation/update of FPCGetOnly,lazbuild,bigide,useride WARNING: Limiting installation/update to FPCCleanOnly,FPCBuildOnly fpcup: info: 25-2-15 06:37:25: fpcup fbd73c48eff8 (Sat Nov 15 15:35:25 2014 +0100) started. fpcup: WARNING: TFPCInstaller: bootstrap compiler detection: assuming this is a x64 processor on Linux fpcup: info: Found bootstrap compiler version 2.6.2 fpcup: info: FPC: running make distclean (OS_TARGET=linux/CPU_TARGET=i386): fpcup: WARNING: TFPCInstaller: bootstrap compiler detection: assuming this is a x64 processor on Linux fpcup: info: Found bootstrap compiler version 2.6.2 fpcup: info: TFPCInstaller: building module FPC... fpcup: info: any_linux386: searched but did not find binutil as in directory /home/pp/development/fpc/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /home/pp/development/cross/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /usr/local/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /usr/local/bin fpcup: info: any_linux386: found binutil as in directory /usr/bin fpcup: info: Tany_linux386: failed: searched libspath /home/pp/development/fpc/lib/i386-linux fpcup: info: Tany_linux386: failed: searched libspath /home/pp/development/cross/lib/i386-linux fpcup: info: Tany_linux386: failed: searched libspath /usr/lib/i386-linux-gnu fpcup: ERROR: Failed to get cross libraries fpcup: ERROR: Error running BuildModuleCustom for module FPC fpcup: info: Error running fpcup. Technical details: error executing sequence FPCBuildOnly; line: 2, param: FPC fpcup: info: Error running fpcup. Technical details: error executing sequence Only; line: 2, param: FPCBuildOnly FPCUp failed. Please check log for details. Possible troubleshooting steps: - run again with --verbose and check for make, lazbuild errors etc. - make sure there's a valid SVN executable in your path. - make sure the GNU binutils (make etc), windres, subversion client are installed   e.g. on Debian/Ubuntu: aptitude install build-essential mingw32-binutils subversion   ln -s /usr/bin/i586-mingw32msvc-windres /usr/bin/windres   see http://wiki.lazarus.freepascal.org/Lazarus_Resources#Checking_yo u_have_windres - if compiling Lazarus, make sure your lhelp is closed. - try removing all intermediate files by running fpcup with the --clean option   and/or manually deleting all *.ppu/*.a/*.o followed by svn up - if that does not work: use the --uninstall option to remove all files   including your FPC and Lazarus directories - remove the files in the bootstrap directory. fpcup will redownload if required. fpcup: info: 25-2-15 06:37:38: fpcup finished. pp@pp-VirtualBox:~$ /home/pp/fpcup_linux_x64 --inifile=/home/pp/setting.ini --inisection=linuxi386 fpcup An FPC/Lazarus downloader/updater/installer Open source freeware (modified LGPL/BSD), see: https://bitbucket.org/reiniero/fpcup This program will download the FPC and Lazarus sources from the source Subversion/SVN repositories, compile, and install. Result: you get a fresh, up-to-date Lazarus/FPC installation. Version: based on commit fbd73c48eff8 (Sat Nov 15 15:35:25 2014 +0100) Build date: 2014/11/15 15:43:19 Compiled for CPU: x86_64 on linux Options: Bootstrap compiler dir: /home/pp/development/fpcbootstrap Lazarus shortcut name:  Shortcut fpcup name:    FPC URL:                http://svn.freepascal.org/svn/fpc/trunk FPC options:            FPC directory:          /home/pp/development/fpc Lazarus directory:      /home/pp/lazdir=~/development/lazarus Lazarus primary config path: (Lazarus settings path) ~/development/lazarussettings Lazarus URL:            http://svn.freepascal.org/svn/lazarus/trunk Lazarus options:        Keep local changes:     yes Log file name:          /home/pp/fpcup.log Effective parameters:  --fpcdir=~/development/fpc --fpcopt= --fpcurl=http://svn.freepascal.org/svn/fpc/trunk --lazdir=lazdir=~/development/lazarus --primary-config-path=~/development/lazarussettings --lazlinkname= --fpcuplinkname= --fpcbootstrapdir=~/development/fpcbootstrap --noconfirm --keeplocalchanges=true --cputarget=i386 --ostarget=linux --only=FPCCleanOnly,FPCBuildOnly --skip=FPCGetOnly,lazbuild,bigide,useride Persistent parameters (can be saved in shell script): --inifile="/home/pp/setting.ini" --inisection="linuxi386" WARNING: Skipping installation/update of FPCGetOnly,lazbuild,bigide,useride WARNING: Limiting installation/update to FPCCleanOnly,FPCBuildOnly fpcup: info: 25-2-15 06:37:58: fpcup fbd73c48eff8 (Sat Nov 15 15:35:25 2014 +0100) started. fpcup: WARNING: TFPCInstaller: bootstrap compiler detection: assuming this is a x64 processor on Linux fpcup: info: Found bootstrap compiler version 2.6.2 fpcup: info: FPC: running make distclean (OS_TARGET=linux/CPU_TARGET=i386): fpcup: WARNING: TFPCInstaller: bootstrap compiler detection: assuming this is a x64 processor on Linux fpcup: info: Found bootstrap compiler version 2.6.2 fpcup: info: TFPCInstaller: building module FPC... fpcup: info: any_linux386: searched but did not find binutil as in directory /home/pp/development/fpc/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /home/pp/development/cross/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /usr/local/bin/i386-linux fpcup: info: any_linux386: searched but did not find binutil as in directory /usr/local/bin fpcup: info: any_linux386: found binutil as in directory /usr/bin fpcup: info: Tany_linux386: failed: searched libspath /home/pp/development/fpc/lib/i386-linux fpcup: info: Tany_linux386: failed: searched libspath /home/pp/development/cross/lib/i386-linux fpcup: info: Tany_linux386: failed: searched libspath /usr/lib/i386-linux-gnu fpcup: ERROR: Failed to get cross libraries fpcup: ERROR: Error running BuildModuleCustom for module FPC fpcup: info: Error running fpcup. Technical details: error executing sequence FPCBuildOnly; line: 2, param: FPC fpcup: info: Error running fpcup. Technical details: error executing sequence Only; line: 2, param: FPCBuildOnly FPCUp failed. Please check log for details. Possible troubleshooting steps: - run again with --verbose and check for make, lazbuild errors etc. - make sure there's a valid SVN executable in your path. - make sure the GNU binutils (make etc), windres, subversion client are installed   e.g. on Debian/Ubuntu: aptitude install build-essential mingw32-binutils subversion   ln -s /usr/bin/i586-mingw32msvc-windres /usr/bin/windres   see http://wiki.lazarus.freepascal.org/Lazarus_Resources#Checking_yo u_have_windres - if compiling Lazarus, make sure your lhelp is closed. - try removing all intermediate files by running fpcup with the --clean option   and/or manually deleting all *.ppu/*.a/*.o followed by svn up - if that does not work: use the --uninstall option to remove all files   including your FPC and Lazarus directories - remove the files in the bootstrap directory. fpcup will redownload if required. fpcup: info: 25-2-15 06:38:08: fpcup finished. ---------------------------------------------------------------------- aradeonas · 2015-02-25 12:49 In the http://wiki.lazarus.freepascal.org/fpcup#Linux_i386_cross it says: Quoteaptitude install mingw32-binutils # this installs e.g. /usr/bin/i586-mingw32msvc-windres # but FPC expects just windres, so: ln -s /usr/bin/i586-mingw32msvc-windres /usr/bin/windres # alternatively (and probably more "official") use -FCi586-mingw32msvc-windres in your calls to fpc or # add -FCi586-mingw32msvc-windres to your fpc.cf And I used it like below but fpcup don't recognize it. Code: [Select]/home/pp/fpcup_linux_x64 --inifile=/home/pp/setting.ini --inisection=linuxi386 -FCi586-mingw32msvc-windres ---------------------------------------------------------------------- engkin · 2015-02-25 13:02 I don't see any extra details in the log file. Basically you need Linux I386 library files, which means you have to install another Linux to copy the files over to 64bit Linux. Here you have two options: 1-Install 32bit Linux and continue with the cross compile process. 2-Install 32bit Linux and use it with 32bit Fpcup. Either way you need to install 32bit Linux. Quote from: aradeonas on February 25, 2015, 01:49:02 pmIn the http://wiki.lazarus.freepascal.org/fpcup#Linux_i386_cross it says: I don't see it there! ---------------------------------------------------------------------- aradeonas · 2015-02-25 13:07 Oh my bad this a the link: http://wiki.lazarus.freepascal.org/Lazarus_Resources#Checking_you_have _windres Ok I am getting a 32bit Xubuntu and I test it.