Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Building for QNX and Linux: (6 Items)
   
Building for QNX and Linux  
I have some software that needs to run on both QNX Neutrino and Linux. Using command line tools and custom makefiles 
works fine, however I would like to take advantage of the IDE's functionality. Unfortunately, I see no obvious way to 
add a "Linux target" to a QNX-Project. Also, the standard QNX-Makefiles won't work on machines without the  QNX-specific
 tools and files (recurse.mk,...).
Is there a standard / preferred way to build for both QNX and a different OS?

Any help will be greatly appreciated!
RE: Building for QNX and Linux  
 

> -----Original Message-----
> From: Thomas Buschmann [mailto:buschmann@amm.mw.tum.de] 
> Sent: October 15, 2007 5:14 AM
> To: momenticsgs-community
> Subject: Building for QNX and Linux
> 
> I have some software that needs to run on both QNX Neutrino 
> and Linux. Using command line tools and custom makefiles 
> works fine, however I would like to take advantage of the 
> IDE's functionality. Unfortunately, I see no obvious way to 
> add a "Linux target" to a QNX-Project. Also, the standard 
> QNX-Makefiles won't work on machines without the  
> QNX-specific tools and files (recurse.mk,...).
> Is there a standard / preferred way to build for both QNX and 
> a different OS?

For the most part, the IDE is just sitting on top of your custom
build file functionality.  If you want to tie yourself to the IDE
then I would suggest that you look at the Managed Makefile type
of project.  This project allows different project and build 
configurations that use different toolchains.  It solves a problem
similar to the QNX Makefiles, but in an IDE specific manner.  The
Managed Makefile project is a standard part of the Eclipse CDT.

For the command line, the closest thing to a "standard" would be to 
use a "configure/make" style build, which can be incorporated into 
a QNX makefile structure (see the QNX Programmer's Guide in the 
makefile appendix for more details ... or look at the OS source for
something like ports/tar).

Of course, if the software is going to run under Neutrino and Linux,
then you should already have the Neutrino dev environment installed!
Nobody would want to only build the software for Linux I'm sure =;-)
 
> Any help will be greatly appreciated!

Hope this helps,
 Thomas
Re: RE: Building for QNX and Linux  
Thanks for the quick response. I guess, since I need the flexibility of
compiling on and for different systems with different toolchains, I won't get around writing a
custom Makefile. At least until everybody starts using QNX ;)
        
Re: RE: Building for QNX and Linux  
I'm just trying to do *really* basic open-source development, and feel I'm sinking into quicksand....with the kinder/
gentler/developer friendly 6.4 running natively on x86.

I've been trying for 2 days to make the 'tinyxml' package, http://sourceforge.net/projects/tinyxml, which in turn 
requires GNU autoconf, which in turn requires m4, which in turn requires Perl5.  I tried to download and build Perl5 and
 got very cryptic errors, including some in hints/qnx.sh and otherwise.

So I went through the whole BSD 'bootstrap' process to create the package utils, and then when I go into lang/perl5 and 
type 'make' I get a syntax error.

sheesh!  isn't there a way to just do 'pkgadd' of something as ubiquitous as Perl?

thanks in advance - 
Chris
RE: RE: Building for QNX and Linux  
Binaries can be found at:

ftp://ftp.netbsd.org/pub/pkgsrc/packages/QNX/i386/6.4.0_head_20081005/

For newbies at building packages, that can be a frustrating experience. 

I could not find tinyxml though.  However I remember taking just the source and pretty much included them as is in my 
program without too much problem.

Meanwhile I've switch to Poco, not as tiny though, but Poco supports QNX6 right out of the box.

> -----Original Message-----
> From: Chris Nicholas [mailto:community-noreply@qnx.com]
> Sent: January-13-09 6:16 PM
> To: momenticsgs-community
> Subject: Re: RE: Building for QNX and Linux
> 
> I'm just trying to do *really* basic open-source development, and feel
> I'm sinking into quicksand....with the kinder/gentler/developer
> friendly 6.4 running natively on x86.
> 
> I've been trying for 2 days to make the 'tinyxml' package,
> http://sourceforge.net/projects/tinyxml, which in turn requires GNU
> autoconf, which in turn requires m4, which in turn requires Perl5.  I
> tried to download and build Perl5 and got very cryptic errors,
> including some in hints/qnx.sh and otherwise.
> 
> So I went through the whole BSD 'bootstrap' process to create the
> package utils, and then when I go into lang/perl5 and type 'make' I get
> a syntax error.
> 
> sheesh!  isn't there a way to just do 'pkgadd' of something as
> ubiquitous as Perl?
> 
> thanks in advance -
> Chris
> 
> 
> _______________________________________________
> QNX Momentics Getting Started
> http://community.qnx.com/sf/go/post19995
> 
Re: RE: Building for QNX and Linux  
On Tue, Jan 13, 2009 at 06:16:07PM -0500, Chris Nicholas wrote:
> I'm just trying to do *really* basic open-source development, and feel I'm sinking into quicksand....with the kinder/
gentler/developer friendly 6.4 running natively on x86.
> 
> I've been trying for 2 days to make the 'tinyxml' package, http://sourceforge.net/projects/tinyxml, which in turn 
requires GNU autoconf, which in turn requires m4, which in turn requires Perl5.  I tried to download and build Perl5 and
 got very cryptic errors, including some in hints/qnx.sh and otherwise.
> 
> So I went through the whole BSD 'bootstrap' process to create the package utils, and then when I go into lang/perl5 
and type 'make' I get a syntax error.

Sounds like you're talking about pkgsrc?  You need to use bmake.

> 
> sheesh!  isn't there a way to just do 'pkgadd' of something as ubiquitous as Perl?

See this page:

http://community.qnx.com/sf/wiki/do/viewPage/projects.pkgsrc/wiki/BinaryPackages

Which describes:

# PKG_PATH=ftp://ftp.netbsd.org/pub/pkgsrc/packages/QNX/i386/6.4.0_head_20081005/All # PKG_PATH=ftp://ftp.netbsd.org/pub
/pkgsrc/packages/QNX/i386/6.4.0_head_20081005/All pkg_add -v perl