Sign in Join

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

Mailing lists / fpc-devel / 2006-11

Cross compiling issues

6 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

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

ik

Hello,

When I try to create a cross compile of fpc 2.0.4 to i386 (I'm using amd64 native ubuntu edgy).
When I try to compile it as following:

make all tar CPU_TARGET=i386 CROSSINSTALL=1 INSTALL_PREFIX=/usr/lib

It compiles, until it needs to create a tar file and then I have the following error message:
make: *** No rule to make target `tar'. Stop.

The same btw to deb (I know that deb's are not supported for cross compile). How can I pack a build for cross platfrom platform ?

Thanks,

Ido

Reply by email

Peter Vreman
to ik
Show quoted text 11 lines
Hello, When I try to create a cross compile of fpc 2.0.4 to i386 (I'm using amd64 native ubuntu edgy). When I try to compile it as following: make all tar CPU_TARGET=i386 CROSSINSTALL=1 INSTALL_PREFIX=/usr/lib It compiles, until it needs to create a tar file and then I have the following error message: make: *** No rule to make target `tar'. Stop.

There is no 'tar' target. I wonder where you got it from? The help screen if no target is given looks like below.

Targets
all Alias for build
build Build a new compiler and all packages
install Install newly build files
zipinstall Create zip/tar of installed files
singlezipinstall Alias for zipinstall

Distribution Targets:
rpm Build linux .rpm packages
deb Build linux .deb packages

For cross compilations and installations there is special 'crosszipinstall' that will pack a cross compiler instead of native compiler.

Reply by email

ik
to Peter Vreman
Peter Vreman wrote 26 lines
> Hello, > > When I try to create a cross compile of fpc 2.0.4 to i386 (I'm using > amd64 native ubuntu edgy). > When I try to compile it as following: > > make all tar CPU_TARGET=i386 CROSSINSTALL=1 INSTALL_PREFIX=/usr/lib > > It compiles, until it needs to create a tar file and then I have the > following error message: > make: *** No rule to make target `tar'. Stop. There is no 'tar' target. I wonder where you got it from? The help screen if no target is given looks like below. Targets all Alias for build build Build a new compiler and all packages install Install newly build files zipinstall Create zip/tar of installed files singlezipinstall Alias for zipinstall Distribution Targets: rpm Build linux .rpm packages deb Build linux .deb packages

This is what I have when using "make" without any tag: /fpc/fpc_2_0_4$ make

Targets
all Alias for build
build Build a new compiler and all packages
install Install newly build files
zipinstall Create zip/tar of installed files
singlezipinstall Alias for zipinstall

Distribution Targets:
rpm Build linux .rpm packages
deb Build linux .deb packages
inno Build Windows (Innosetup) based installer
tar Build .tar installer

FV based installer Targets:
go32v2zip Build .zip files for go32v2
os2zip Build .zip files for OS/2
sourcezip Build .zip files for the sources

For cross compilations and installations there is special 'crosszipinstall' that will pack a cross compiler instead of native compiler.

I'll try it thanks.

Ido

Reply by email

ik
to ik
ik wrote 57 lines
On 11/9/06, Peter Vreman wrote: > > Hello, > > > > When I try to create a cross compile of fpc 2.0.4 to i386 (I'm using > > amd64 native ubuntu edgy). > > When I try to compile it as following: > > > > make all tar CPU_TARGET=i386 CROSSINSTALL=1 INSTALL_PREFIX=/usr/lib > > > > It compiles, until it needs to create a tar file and then I have the > > following error message: > > make: *** No rule to make target `tar'. Stop. > > There is no 'tar' target. I wonder where you got it from? > The help screen if no target is given looks like below. > > Targets > all Alias for build > build Build a new compiler and all packages > install Install newly build files > zipinstall Create zip/tar of installed files > singlezipinstall Alias for zipinstall > > Distribution Targets: > rpm Build linux .rpm packages > deb Build linux .deb packages > This is what I have when using "make" without any tag: /fpc/fpc_2_0_4$ make Targets all Alias for build build Build a new compiler and all packages install Install newly build files zipinstall Create zip/tar of installed files singlezipinstall Alias for zipinstall Distribution Targets: rpm Build linux .rpm packages deb Build linux .deb packages inno Build Windows (Innosetup) based installer tar Build .tar installer FV based installer Targets: go32v2zip Build .zip files for go32v2 os2zip Build .zip files for OS/2 sourcezip Build .zip files for the sources > For cross compilations and installations there is special > 'crosszipinstall' that will pack a cross compiler instead of native > compiler. I'll try it thanks.

There is no such rule :( when I'm using the above make but with singlezipinstall it creates ppc386 and units for 386 thats all.

Please note that this is from a release tree of fpc 2.0.4 ... so what am I missing here ?

Ido

Ido

Reply by email

Peter Vreman
to ik
Show quoted text 64 lines
On 11/9/06, ik wrote: > On 11/9/06, Peter Vreman wrote: > > > Hello, > > > > > > When I try to create a cross compile of fpc 2.0.4 to i386 (I'm using > > > amd64 native ubuntu edgy). > > > When I try to compile it as following: > > > > > > make all tar CPU_TARGET=i386 CROSSINSTALL=1 INSTALL_PREFIX=/usr/lib > > > > > > It compiles, until it needs to create a tar file and then I have the > > > following error message: > > > make: *** No rule to make target `tar'. Stop. > > > > There is no 'tar' target. I wonder where you got it from? > > The help screen if no target is given looks like below. > > > > Targets > > all Alias for build > > build Build a new compiler and all packages > > install Install newly build files > > zipinstall Create zip/tar of installed files > > singlezipinstall Alias for zipinstall > > > > Distribution Targets: > > rpm Build linux .rpm packages > > deb Build linux .deb packages > > > > This is what I have when using "make" without any tag: > /fpc/fpc_2_0_4$ make > > Targets > all Alias for build > build Build a new compiler and all packages > install Install newly build files > zipinstall Create zip/tar of installed files > singlezipinstall Alias for zipinstall > > Distribution Targets: > rpm Build linux .rpm packages > deb Build linux .deb packages > inno Build Windows (Innosetup) based installer > tar Build .tar installer > > FV based installer Targets: > go32v2zip Build .zip files for go32v2 > os2zip Build .zip files for OS/2 > sourcezip Build .zip files for the sources > > > > > > For cross compilations and installations there is special > > 'crosszipinstall' that will pack a cross compiler instead of native > > compiler. > > I'll try it thanks. There is no such rule :( when I'm using the above make but with singlezipinstall it creates ppc386 and units for 386 thats all. Please note that this is from a release tree of fpc 2.0.4 ... so what am I missing here ?

Try it in the fpcsrc tree:

I just tried under i386-linux:

make crosszipinstall OS_TARGET=win64 CPU_TARGET=x86_64

This gave a:

fpc-2.1.1.x86_64-win64.tar.gz

With the following content:

drwxr-xr-x pfv/users 0 2006-11-09 22:26 bin/ drwxr-xr-x pfv/users 0 2006-11-09 22:26 bin/i386-linux/ -rwxr-xr-x pfv/users 1688388 2006-11-09 22:26 bin/i386-linux/ppcrossx64 drwxr-xr-x pfv/users 0 2006-11-09 22:26 units/ drwxr-xr-x pfv/users 0 2006-11-09 22:26 units/x86_64-win64/ drwxr-xr-x pfv/users 0 2006-11-09 22:26 units/x86_64-win64/rtl/ -rw-r--r-- pfv/users 66 2006-11-09 22:26
units/x86_64-win64/rtl/Package.fpc
-rw-r--r-- pfv/users 552758 2006-11-09 22:26
units/x86_64-win64/rtl/system.ppu
-rw-r--r-- pfv/users 3922 2006-11-09 22:26
units/x86_64-win64/rtl/ctypes.ppu
-rw-r--r-- pfv/users 7752 2006-11-09 22:26
units/x86_64-win64/rtl/objpas.ppu
-rw-r--r-- pfv/users 34557 2006-11-09 22:26
units/x86_64-win64/rtl/macpas.

Reply by email

ik
to Peter Vreman
Peter Vreman wrote 93 lines
> On 11/9/06, ik wrote: >> On 11/9/06, Peter Vreman wrote: >> > > Hello, >> > > >> > > When I try to create a cross compile of fpc 2.0.4 to i386 (I'm using >> > > amd64 native ubuntu edgy). >> > > When I try to compile it as following: >> > > >> > > make all tar CPU_TARGET=i386 CROSSINSTALL=1 INSTALL_PREFIX=/usr/lib >> > > >> > > It compiles, until it needs to create a tar file and then I have the >> > > following error message: >> > > make: *** No rule to make target `tar'. Stop. >> > >> > There is no 'tar' target. I wonder where you got it from? >> > The help screen if no target is given looks like below. >> > >> > Targets >> > all Alias for build >> > build Build a new compiler and all packages >> > install Install newly build files >> > zipinstall Create zip/tar of installed files >> > singlezipinstall Alias for zipinstall >> > >> > Distribution Targets: >> > rpm Build linux .rpm packages >> > deb Build linux .deb packages >> > >> >> This is what I have when using "make" without any tag: >> /fpc/fpc_2_0_4$ make >> >> Targets >> all Alias for build >> build Build a new compiler and all packages >> install Install newly build files >> zipinstall Create zip/tar of installed files >> singlezipinstall Alias for zipinstall >> >> Distribution Targets: >> rpm Build linux .rpm packages >> deb Build linux .deb packages >> inno Build Windows (Innosetup) based installer >> tar Build .tar installer >> >> FV based installer Targets: >> go32v2zip Build .zip files for go32v2 >> os2zip Build .zip files for OS/2 >> sourcezip Build .zip files for the sources >> >> >> >> >> > For cross compilations and installations there is special >> > 'crosszipinstall' that will pack a cross compiler instead of native >> > compiler. >> >> I'll try it thanks. > > There is no such rule :( when I'm using the above make but with > singlezipinstall it creates ppc386 and units for 386 thats all. > > Please note that this is from a release tree of fpc 2.0.4 ... so what > am I missing here ? Try it in the fpcsrc tree: I just tried under i386-linux: make crosszipinstall OS_TARGET=win64 CPU_TARGET=x86_64 This gave a: fpc-2.1.1.x86_64-win64.tar.gz With the following content: drwxr-xr-x pfv/users 0 2006-11-09 22:26 bin/ drwxr-xr-x pfv/users 0 2006-11-09 22:26 bin/i386-linux/ -rwxr-xr-x pfv/users 1688388 2006-11-09 22:26 bin/i386-linux/ppcrossx64 drwxr-xr-x pfv/users 0 2006-11-09 22:26 units/ drwxr-xr-x pfv/users 0 2006-11-09 22:26 units/x86_64-win64/ drwxr-xr-x pfv/users 0 2006-11-09 22:26 units/x86_64-win64/rtl/ -rw-r--r-- pfv/users 66 2006-11-09 22:26 units/x86_64-win64/rtl/Package.fpc -rw-r--r-- pfv/users 552758 2006-11-09 22:26 units/x86_64-win64/rtl/system.ppu -rw-r--r-- pfv/users 3922 2006-11-09 22:26 units/x86_64-win64/rtl/ctypes.ppu -rw-r--r-- pfv/users 7752 2006-11-09 22:26 units/x86_64-win64/rtl/objpas.ppu -rw-r--r-- pfv/users 34557 2006-11-09 22:26 units/x86_64-win64/rtl/macpas.

It worked thank you for the help

Ido

Reply by email