Qt-interest Archive, October 2007
Multi-platforms building
Pages: Prev | 1 | 2 | Next
Message 1 in thread
Hi there ;-) ,
Is there any way to build multi-platforms distros on single OS?
note:
I'm using Windows right now, and I want to build Linux distro.
--
[ signature omitted ]
Message 2 in thread
Hi Muhammed,
> I'm using Windows right now, and I want to build Linux distro.
Yes - that is possible. I do have a cygwin-based cross toolchain. Well -
my target is an uClibc based embedded linux, but it should equally work
with a glibc based cross toolchain.
Regards,
Malte
--
[ signature omitted ]
Message 3 in thread
Malte Witt wrote:
> Hi Muhammed,
>
>
>> I'm using Windows right now, and I want to build Linux distro.
>>
>
> Yes - that is possible. I do have a cygwin-based cross toolchain. Well -
> my target is an uClibc based embedded linux, but it should equally work
> with a glibc based cross toolchain.
>
Humm, can u give a resource talking about how to build a distro to
another OS without installing the target OS, please
> Regards,
> Malte
>
--
[ signature omitted ]
Message 4 in thread
Hi,
It is possible (but difficult) to do cross build between windows,linux
and macosx(using your own makefiles instead of qmake),if you use GCC
as your compiler.
For building crossplatform installation program you would need to use
something like InstallAnywhere
but you need your Qt distributions for those platform built native
first (Qt's build system doesn't support cross-build at all) (and of
course you need licenses if don't use OSS version)
Articles I mention are:
http://doc.trolltech.com/qq/qq11-unix-deployment.html
http://doc.trolltech.com/qq/qq10-windows-deployment.html
http://doc.trolltech.com/qq/qq09-mac-deployment.html
2007/10/18, M. Bashir Al-Noimi <mhdbnoimi@xxxxxxxxx>:
>
>
>
> Malte Witt wrote:
>
> Hi Muhammed,
>
>
>
> I'm using Windows right now, and I want to build Linux distro.
>
> Yes - that is possible. I do have a cygwin-based cross toolchain. Well -
> my target is an uClibc based embedded linux, but it should equally work
> with a glibc based cross toolchain.
>
> Humm, can u give a resource talking about how to build a distro to another
> OS without installing the target OS, please
>
>
> Regards,
> Malte
>
>
> --
> Best Regards تحياتي
> Muhammad Bashir Al-Noimi محمد بشير النعيمي
>
> My Blog مدونتي
> http://hali-sy.com/
>
--
[ signature omitted ]
Message 5 in thread
ÙØØØØØØ ÃØØØØØØØÃ wrote:
> Hi,
>
> It is possible (but difficult) to do cross build between windows,linux
> and macosx(using your own makefiles instead of qmake),if you use GCC
> as your compiler.
>
> For building crossplatform installation program you would need to use
> something like InstallAnywhere
>
For cross-platform installers it's no matter, I'm using InstallJammer
(http://www.installjammer.com/) it's wonderful installer and don't need
Java runtime (JRE) like Installanywhere
> but you need your Qt distributions for those platform built native
> first (Qt's build system doesn't support cross-build at all) (and of
> course you need licenses if don't use OSS version)
>
> Articles I mention are:
> http://doc.trolltech.com/qq/qq11-unix-deployment.html
> http://doc.trolltech.com/qq/qq10-windows-deployment.html
> http://doc.trolltech.com/qq/qq09-mac-deployment.html
I'm escaping from installing many OS on my computer so i need a way for
building cross-platform programs without installing many OS.s
--
[ signature omitted ]
Message 6 in thread
> >
> > Articles I mention are:
> > http://doc.trolltech.com/qq/qq11-unix-deployment.html
> > http://doc.trolltech.com/qq/qq10-windows-deployment.html
> > http://doc.trolltech.com/qq/qq09-mac-deployment.html
> I'm escaping from installing many OS on my computer so i need a way for
> building cross-platform programs without installing many OS.
in that case your only option is setup 2 cross-chains(i assume you
host os is windows)
windows->linux-on-intel
windows->macosx-on-intel (if you want to target old macs too you will
need additional crosschain)
this IS possible(but not very easy). you will need to compile
cross-compinging version of gcc/binutils and get
arleady compiled qt for your non-native platforms(which can be got by
asking somebody with access to target platform do build for you if you
use OSS version or just ask TT for binary version if you bought
commercial versions for those platforms)
Of course qmake doesn't support this kind of build nativly (you will
need to hack around with qmakespec's or dont use qmake at all)
p.s.How you plan to debug bugs which only happen on Mac OS X for
example if you don't have Mac OS X installed? It is very possible that
some bugs manifest itself only one platform.
--
[ signature omitted ]
Message 7 in thread
Dmitriy Kazimirov wrote:
> in that case your only option is setup 2 cross-chains(i assume you
> host os is windows)
> windows->linux-on-intel
> windows->macosx-on-intel (if you want to target old macs too you will
> need additional crosschain)
>
> this IS possible(but not very easy). you will need to compile
> cross-compinging version of gcc/binutils and get
> arleady compiled qt for your non-native platforms(which can be got by
> asking somebody with access to target platform do build for you if you
> use OSS version or just ask TT for binary version if you bought
> commercial versions for those platforms)
>
> Of course qmake doesn't support this kind of build nativly (you will
> need to hack around with qmakespec's or dont use qmake at all)
>
> p.s.How you plan to debug bugs which only happen on Mac OS X for
> example if you don't have Mac OS X installed? It is very possible that
> some bugs manifest itself only one platform.
I give up >:o
building multi-platforms is impossible choice to me !
it's very hard and has many bugs, i think it's better to build my
project on my OS, and then publish its source code for users which want
to use them on another OS, that's it.
--
[ signature omitted ]
Message 8 in thread
M. Bashir Al-Noimi schrieb:
> Dmitriy Kazimirov wrote:
> > ...
> it's very hard and has many bugs, i think it's better to build my
> project on my OS, and then publish its source code for users which want
> to use them on another OS, that's it.
Or you install the other target OS on your computer (multi-boot), buy a
cheap 2nd "build computer" and install the target OS on it or use a
"virtualised" OS solution, for example have Linux run on Windows "in a
virtual box", there are several (commercial) products such as VMWare. Or
setup a SourceForge project, where others can build your source
(accessible through SVN) and contribute the binaries.
You see, no time for giving up yet ;)
Cheers, Oliver
--
[ signature omitted ]
Message 9 in thread
Till Oliver Knoll wrote:
> buy a cheap 2nd "build computer" and install the target OS on it
that's it :-P
good point Till, thanks
--
[ signature omitted ]
Message 10 in thread
"M. Bashir Al-Noimi" <mhdbnoimi@xxxxxxxxx> wrote on 10/18/2007 06:37:03 AM:
# Till Oliver Knoll wrote:
# > buy a cheap 2nd "build computer" and install the target OS on it
# that's it :-P
#
# good point Till, thanks
FWIW, VMware is cheaper (read: free) and most of the way as fast as the
real thing.
Indeed, if you want a single computer, it almost has to be a Mac.
Installing MacOS into a VM is... messy; it can be done, but not by
any sort of officially acceptable channel.
--
[ signature omitted ]
Message 11 in thread
If you are looking for a relatively cheap build computer, and you really
want to be able to build your application on the Mac, look at the Mac
Mini (http://www.apple.com). If you had one of those plus Parallels
(http://www.parallels.com/) you could have Mac/Win/Linux all installed
on the same hardware. I know your original email was asking the
question about building your application for all operating systems using
only one host operating system, so this isn't what you wanted
originally, but depending on what you are doing and what your budget is,
this might help.
Sean
-----Original Message-----
From: Till Oliver Knoll [mailto:oliver.knoll@xxxxxxxxxxx]
Sent: Thursday, October 18, 2007 6:28 AM
To: Qt Interest List
Subject: Re: Multi-platforms building
M. Bashir Al-Noimi schrieb:
> Dmitriy Kazimirov wrote:
> > ...
> it's very hard and has many bugs, i think it's better to build my
> project on my OS, and then publish its source code for users which
> want to use them on another OS, that's it.
Or you install the other target OS on your computer (multi-boot), buy a
cheap 2nd "build computer" and install the target OS on it or use a
"virtualised" OS solution, for example have Linux run on Windows "in a
virtual box", there are several (commercial) products such as VMWare. Or
setup a SourceForge project, where others can build your source
(accessible through SVN) and contribute the binaries.
You see, no time for giving up yet ;)
Cheers, Oliver
--
[ signature omitted ]
Message 12 in thread
"Дмитрий Казимиров" <dkazimirow@xxxxxxxxx> wrote on 10/18/2007 03:12:30 AM:
# but you need your Qt distributions for those platform built native
# first (Qt's build system doesn't support cross-build at all) (and of
# course you need licenses if don't use OSS version)
Caveat emptor, YMMV, use at your own risk: I have not tried this to
build Qt itself, but I have succeeded in cross-compiling my project
this way...
I have the following fragment in my .pro file:
# Handle cross-compiler toolchains by adjusting CC, CXX, et al
!isEmpty(CROSSTOOL) {
!isEmpty(QMAKE_AR) :QMAKE_AR = $${CROSSTOOL}-$${QMAKE_AR}
!isEmpty(QMAKE_CC) :QMAKE_CC = $${CROSSTOOL}-$${QMAKE_CC}
!isEmpty(QMAKE_CXX) :QMAKE_CXX = $${CROSSTOOL}-$${QMAKE_CXX}
!isEmpty(QMAKE_LINK) :QMAKE_LINK =
$${CROSSTOOL}-$${QMAKE_LINK}
!isEmpty(QMAKE_LINK_SHLIB):QMAKE_LINK_SHLIB =
$${CROSSTOOL}-$${QMAKE_LINK_SHLIB}
!isEmpty(QMAKE_RANLIB) :QMAKE_RANLIB =
$${CROSSTOOL}-$${QMAKE_RANLIB}
}
So if I do "qmake my.pro CROSSTOOL=linux-i386", then instead of calling
gcc it will call linux-i386-gcc.
I cannot remember if there is a mechanism for setting qmake variables
at the Qt build time, but at worst, create a new mkspecs subdirectory
called something like "linux-cross-g++" (do not use "cross-linux-g++"
because of the likelihood of someone in a .pro testing for "linux-*"!)
and make it look something like this:
include(../linux-g++/qmake.conf)
CROSSTOOL=linux-i386
QMAKE_AR = $${CROSSTOOL}-$${QMAKE_AR}
QMAKE_CC = $${CROSSTOOL}-$${QMAKE_CC}
QMAKE_CXX = $${CROSSTOOL}-$${QMAKE_CXX}
QMAKE_LINK = $${CROSSTOOL}-$${QMAKE_LINK}
QMAKE_LINK_SHLIB = $${CROSSTOOL}-$${QMAKE_LINK_SHLIB}
QMAKE_RANLIB = $${CROSSTOOL}-$${QMAKE_RANLIB}
And then when you run configure, make sure to specify
"-platform linux-cross-g++" as an option.
If you try this, please post your results - I'm very curious!
And I'll second the recommendation of using crosstool, or its
successor, crosstool-ng. I'll also give you the hint that to
build as "portable" a Linux binary as possible - i.e., one that
will run on any vaguely recent Linux system - you want to use
glibc 2.3.6. I can't help you with targeting MacOS; I've never
attempted that.
Message 13 in thread
> Humm, can u give a resource talking about how to build a distro to
> another OS without installing the target OS, please
Take a look at "crosstool" - http://www.kegel.com/crosstool/ and "cygwin"
- http://www.cygwin.com/- but be warned - there is a lot of trouble and
patching work involved to get a cross-linux-toolchain running under
windows. It took me ages to set it up and make it work comfortable :-(
Regards,
Malte
--
[ signature omitted ]
Message 14 in thread
Hi,
VMware or VirtualBox could help you. You will need to download ISO of
one of Linux distribution (or order 'free' Ubuntu via their PostIt
service)
Do you want to build distribution of Linux?Or just distribution of
your program for one or more Linux distributions?There was article in
Qt Quaterly about latter
2007/10/18, M. Bashir Al-Noimi <mhdbnoimi@xxxxxxxxx>:
> Hi there ;-) ,
>
> Is there any way to build multi-platforms distros on single OS?
>
> note:
> I'm using Windows right now, and I want to build Linux distro.
>
> --
> Best Regards تحياتي
> Muhammad Bashir Al-Noimi محمد بشير النعيمي
>
> My Blog مدونتي
> http://hali-sy.com/
>
>
--
[ signature omitted ]
Message 15 in thread
Dmitriy Kazimirov wrote:
> Hi,
> VMware or VirtualBox could help you. You will need to download ISO of
> one of Linux distribution (or order 'free' Ubuntu via their PostIt
> service)
>
I think this is not good choice, cuz it means that I must install
another OS on my PC to compile a new distro! this is not acceptable to
me, for example i don't have MAC OS computer !
> Do you want to build distribution of Linux?Or just distribution of
> your program for one or more Linux distributions?
I want to build a distro from my program to Linux & MAC too.
> There was article in
> Qt Quaterly about latter
Can u give me the link, please ;-)
--
[ signature omitted ]
Pages: Prev | 1 | 2 | Next