Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2015-03

Does the basic make INSTALL create ppcross386

4 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

vfclists .

At some stage in the make INSTALL the installation stops with this message.

/usr/bin/install -c -m 755 ppcross386
/home/user/lazarusBuildTesting/testbuild01/fpc/lib/fpc/3.1.1/ppcross386

/usr/bin/install: cannot stat `ppcross386': No such file or directory

The script is adapted from the Codebot setup.sh script created for Linux and follows the logic below. It works on a 64bit Ubuntu 14.04 system but fails when I try it on a 32bit Ubuntu 12.04 system. The first make all and make install succeeds. When it gets to crossinstall phase is when the error occurs with the ppcross386 message

if [ "$CPU" = "i686" ]
then
CPU="i386"
fi

echo "starting main FPC compilation"
cd $THIS_BUILD_DIR/fpc
make all
make install INSTALL_PREFIX=$THIS_BUILD_DIR/fpc

if [ "$CPU" = "i686" ]
then
echo CPU = ${CPU} making crossinstall OS_TARGET=linux CPU_TARGET=x86_64 INSTALL_PREFIX=$THIS_BUILD_DIR/fpc
make crossinstall OS_TARGET=linux CPU_TARGET=x86_64 INSTALL_PREFIX=$THIS_BUILD_DIR/fpc
else
echo CPU = ${CPU} making crossinstall OS_TARGET=linux CPU_TARGET=i386 INSTALL_PREFIX=$THIS_BUILD_DIR/fpc
make crossinstall OS_TARGET=linux CPU_TARGET=i386
INSTALL_PREFIX=$THIS_BUILD_DIR/fpc
fi
make crossinstall OS_TARGET=win32 CPU_TARGET=i386
INSTALL_PREFIX=$THIS_BUILD_DIR/fpc
make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64 INSTALL_PREFIX=$THIS_BUILD_DIR/fpc

Frank Church ======================= http://devblog.brahmancreations.com
leledumbo
to vfclists .
Does the basic make INSTALL create ppcross386 It works on a 64bit Ubuntu 14.04 system but fails when I try it on a 32bit Ubuntu 12.04 system.

It's weird to ask something like this, assuming you've understood the build process already. I thought I've ever mentioned it, but here's again: when you build the cross compiler, that is when CPU_TARGET is not the same as host, the resulting compiler is ppcross<cpu>. Otherwise, which is your case now, it's ppc<cpu>.

Make install accepts the same parameter as other make targets, so above rule holds. Certainly, make install does NOT compile anything. Its purpose is to install what "make all" compiles and links.

To conclude: No ppcross386 shall be created nor installed in case of
building for i386 under i386 systems.
View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Does-the-basic-make-INSTALL-create-ppcross386-tp5721513p5721516.html Sent from the Free Pascal - General mailing list .
vfclists .
to leledumbo
leledumbo wrote 20 lines
> Does the basic make INSTALL create ppcross386 > It works on a 64bit Ubuntu 14.04 system but fails when I try it on a 32bit > Ubuntu 12.04 system. It's weird to ask something like this, assuming you've understood the build process already. I thought I've ever mentioned it, but here's again: when you build the cross compiler, that is when CPU_TARGET is not the same as host, the resulting compiler is ppcross<cpu>. Otherwise, which is your case now, it's ppc<cpu>. Make install accepts the same parameter as other make targets, so above rule holds. Certainly, make install does NOT compile anything. Its purpose is to install what "make all" compiles and links. To conclude: No ppcross386 shall be created nor installed in case of building for i386 under i386 systems.

As I mentioned before my script was adapted from the Sysrpl script which written for a 64bit Ubuntu 14.04 , and may not have been tried on a 32bit system.

1. When 'make all' followed by 'make install' does the 'make all' command generate the cross compilers as well, for them to be installed by crossinstall, or does cross install create the cross compiler from scratch then install it afterwards?

2. Does the source download come with all the necessary tools for a successful crossinstall, or are there additional tools required, and does the make process check for their presence before starting the compilation?

Frank Church ======================= http://devblog.brahmancreations.com
leledumbo
to vfclists .
When 'make all' followed by 'make install' does the 'make all' command

generate the cross compilers as well

again, with CPU_TARGET=i386 on i386 systems: no

for them to be installed by crossinstall, or does cross install create the cross compiler from scratch then install it afterwards?

again, make install does NOT create anything

Does the source download come with all the necessary tools for a successful crossinstall

no

are there additional tools required

cross assembler and linker for cross building, native (or integrated if exists) assembler and linker otherwise, along with proper (unix-like) build environment (make, cp, rm, pwd, install, etc.)

does the make process check for their presence before starting the compilation?

no, AFAIK only pwd checked as indicator of proper build environment

View this message in context: http://free-pascal-general.1045716.n5.nabble.com/Does-the-basic-make-INSTALL-create-ppcross386-tp5721513p5721523.html Sent from the Free Pascal - General mailing list .