Saul A
|
Version of Development suite vs. target OS
|
Saul A
11/16/2010 9:56 AM
post74791
|
Version of Development suite vs. target OS
Is my understanding correct that the version of Development suite is bound to version of the target? Using a newer
Momentics IDE is not officially supported agains older target versions? Or, are there any directions on mismatching
versions?
Thanks,
Saul
|
|
|
Elena Laskavaia
|
Re: Version of Development suite vs. target OS
|
Elena Laskavaia
11/16/2010 10:02 AM
post74796
|
Re: Version of Development suite vs. target OS
IDE can work with older versions of SDP, but SDP on host must match one on target for debugging.
I.e. if you have 6.3.2 installer you can use IDE 4.7 (from 6.5) to re-target to use 6.3.2 tools and API's.
Re-target using Windows->Preferences->QNX
On 16/11/10 09:56 AM, Saul A wrote:
> Is my understanding correct that the version of Development suite is bound to version of the target? Using a newer
Momentics IDE is not officially supported agains older target versions? Or, are there any directions on mismatching
versions?
>
> Thanks,
> Saul
>
>
>
>
> _______________________________________________
>
> QNX Momentics Getting Started
> http://community.qnx.com/sf/go/post74791
>
|
|
|
Saul A
|
Re: Version of Development suite vs. target OS
|
Saul A
11/16/2010 10:13 AM
post74800
|
Re: Version of Development suite vs. target OS
Elena, this is exactly what I'm having trouble with. C++ apps built in IDE 4.6 with target files from 4.01 (as you
adviced) do not work on 6.3.2 target because they depend on libc.so.3. I"ve copied it to the target but then other
things fail.
Apps written in plain C do not require newere libs.
Should I try IDE 4.7?
Thanks,
Saul
|
|
|
Elena Laskavaia
|
Re: Version of Development suite vs. target OS
|
Elena Laskavaia
11/16/2010 10:29 AM
post74806
|
Re: Version of Development suite vs. target OS
No you need 6.3.2 SDP to build. You are building using 6.4 SDP which uses new libc. You can try 4.7 but workflow is the
same. You have to change Target SDP is the settings first.
On 16/11/10 10:13 AM, Saul A wrote:
> Elena, this is exactly what I'm having trouble with. C++ apps built in IDE 4.6 with target files from 4.01 (as you
adviced) do not work on 6.3.2 target because they depend on libc.so.3. I"ve copied it to the target but then other
things fail.
> Apps written in plain C do not require newere libs.
>
> Should I try IDE 4.7?
>
> Thanks,
> Saul
>
>
>
>
> _______________________________________________
>
> QNX Momentics Getting Started
> http://community.qnx.com/sf/go/post74800
>
|
|
|
Saul A
|
Re: Version of Development suite vs. target OS
|
Saul A
11/16/2010 8:41 PM
post74896
|
Re: Version of Development suite vs. target OS
I switch SDPs with qwincfg.
Is this same as selecting SDP from Window -> preferences -> QNX?
Could anyone confirm that one can in IDE 4.7 or 4.6 select SDP 6.3.2 (which is installed, of course) and build a "hello
world" sample c++ app, and it will run on clean 6.3.2 ?
Because, for me it does not run. The c++ app refers to libc.so.3.
Can this be because of some c++ options, such as kind of c++ library?
Plain C apps build with this setup, refer to libc.so.2 and work.
C++ apps built in the 4.01 IDE also refer to libc.so.2 (and libcpp.so.4) and run on 6.3.2.
- S.
|
|
|
Andy Jin(deleted)
|
RE: Version of Development suite vs. target OS
|
Andy Jin(deleted)
11/16/2010 9:11 PM
post74897
|
RE: Version of Development suite vs. target OS
You need to use the IDE Windows -> Preferences -> QNX -> Installed Baseline and select your 6.3.2 installation, and
restart your IDE for it to take effect. "qwincfg" does not change what the IDE uses.
After you switch your SDP, you can build and run your binary on the same SDP target. We have many users doing this
already.
-----Original Message-----
From: Saul A [mailto:community-noreply@qnx.com]
Sent: Tue 16/11/2010 8:41 PM
To: momenticsgs-community
Subject: Re: Version of Development suite vs. target OS
I switch SDPs with qwincfg.
Is this same as selecting SDP from Window -> preferences -> QNX?
Could anyone confirm that one can in IDE 4.7 or 4.6 select SDP 6.3.2 (which is installed, of course) and build a "hello
world" sample c++ app, and it will run on clean 6.3.2 ?
Because, for me it does not run. The c++ app refers to libc.so.3.
Can this be because of some c++ options, such as kind of c++ library?
Plain C apps build with this setup, refer to libc.so.2 and work.
C++ apps built in the 4.01 IDE also refer to libc.so.2 (and libcpp.so.4) and run on 6.3.2.
- S.
|
|
|
Saul A
|
Re: Version of Development suite vs. target OS
|
Saul A
11/17/2010 7:00 AM
post74906
|
Re: Version of Development suite vs. target OS
Andy, thanks for heads up. But unfortunately this does not work for me, and only with C++.
Let me explain the setup.
SDP 4.6 is installed in C:\Progs\QNX641.
SDP 4.01 installed in C:\Progs\QNX632.
I made a new xml file in C:\Program Files\QNX Software Systems\qconfig,
qnx_sdp_641-over-632.xml with content:
<?xml version="1.0" ?>
<qnxSystemDefinition>
<installation>
<base>C:/progs/QNX641</base>
<name>QNX SDP 6.4.1 over 6.3.2</name>
<host>C:/progs/QNX641/host/win32/x86</host>
<target>C:/progs/QNX632/target/qnx6</target>
</installation>
</qnxSystemDefinition>
Then I start IDE 4.6, select this file in Windows/Preferences/QNX and restart.
The preferences dialog won't let to enter the path, only to select a config file.
Then, I can successfully create a plain C app for 6.3.2.
But when I create a new QNX c++ project, build fails:
C:\progs\QNX641\host\win32\x86\usr\bin\ntox86-ld: cannot find -lcpp
Then I copy the target stuff from C:/progs/QNX632/target/qnx6 to C:/progs/QNX641/target/qnx6 and edit the config file
accordingly.
Then build of the c++ app completes successfully, but it appears that the app got linked to libc.so.3 and thus won't run
on 6.3.2.
Building the plain c app works fine again.
So it seems that your advice works generaly, but not specifically for c++.
Thanks,
-- S
|
|
|
Andy Jin(deleted)
|
RE: Version of Development suite vs. target OS
|
Andy Jin(deleted)
11/17/2010 7:20 AM
post74907
|
RE: Version of Development suite vs. target OS
Saul, why do you "hack" into the QNX_CONFIGURATION area and create a mixed config? When I say "mixed" I mean you mix the
6.4.1 host with 6.3.2 target. You should use your "pure" 6.3.2 installation.
-----Original Message-----
From: Saul A [mailto:community-noreply@qnx.com]
Sent: Wed 17/11/2010 7:00 AM
To: momenticsgs-community
Subject: Re: Version of Development suite vs. target OS
Andy, thanks for heads up. But unfortunately this does not work for me, and only with C++.
Let me explain the setup.
SDP 4.6 is installed in C:\Progs\QNX641.
SDP 4.01 installed in C:\Progs\QNX632.
I made a new xml file in C:\Program Files\QNX Software Systems\qconfig,
qnx_sdp_641-over-632.xml with content:
<?xml version="1.0" ?>
<qnxSystemDefinition>
<installation>
<base>C:/progs/QNX641</base>
<name>QNX SDP 6.4.1 over 6.3.2</name>
<host>C:/progs/QNX641/host/win32/x86</host>
<target>C:/progs/QNX632/target/qnx6</target>
</installation>
</qnxSystemDefinition>
Then I start IDE 4.6, select this file in Windows/Preferences/QNX and restart.
The preferences dialog won't let to enter the path, only to select a config file.
Then, I can successfully create a plain C app for 6.3.2.
But when I create a new QNX c++ project, build fails:
C:\progs\QNX641\host\win32\x86\usr\bin\ntox86-ld: cannot find -lcpp
Then I copy the target stuff from C:/progs/QNX632/target/qnx6 to C:/progs/QNX641/target/qnx6 and edit the config file
accordingly.
Then build of the c++ app completes successfully, but it appears that the app got linked to libc.so.3 and thus won't run
on 6.3.2.
Building the plain c app works fine again.
So it seems that your advice works generaly, but not specifically for c++.
Thanks,
-- S
|
|
|
Elena Laskavaia
|
Re: Version of Development suite vs. target OS
|
Elena Laskavaia
11/17/2010 7:55 AM
post74910
|
Re: Version of Development suite vs. target OS
This still means correct compilers are not called. Also please set env
variables QNX_HOST, QNX_TARGET and MAKEFLAGS to point to 632.
On 17/11/2010 7:00 AM, Saul A wrote:
> Andy, thanks for heads up. But unfortunately this does not work for me, and only with C++.
>
> Let me explain the setup.
>
> SDP 4.6 is installed in C:\Progs\QNX641.
> SDP 4.01 installed in C:\Progs\QNX632.
>
> I made a new xml file in C:\Program Files\QNX Software Systems\qconfig,
>
> qnx_sdp_641-over-632.xml with content:
>
> <?xml version="1.0" ?>
> <qnxSystemDefinition>
> <installation>
> <base>C:/progs/QNX641</base>
> <name>QNX SDP 6.4.1 over 6.3.2</name>
> <host>C:/progs/QNX641/host/win32/x86</host>
> <target>C:/progs/QNX632/target/qnx6</target>
> </installation>
> </qnxSystemDefinition>
>
> Then I start IDE 4.6, select this file in Windows/Preferences/QNX and restart.
> The preferences dialog won't let to enter the path, only to select a config file.
>
> Then, I can successfully create a plain C app for 6.3.2.
>
> But when I create a new QNX c++ project, build fails:
>
> C:\progs\QNX641\host\win32\x86\usr\bin\ntox86-ld: cannot find -lcpp
>
> Then I copy the target stuff from C:/progs/QNX632/target/qnx6 to C:/progs/QNX641/target/qnx6 and edit the config file
accordingly.
>
> Then build of the c++ app completes successfully, but it appears that the app got linked to libc.so.3 and thus won't
run on 6.3.2.
>
> Building the plain c app works fine again.
>
> So it seems that your advice works generaly, but not specifically for c++.
>
> Thanks,
> -- S
>
>
>
>
>
> _______________________________________________
>
> QNX Momentics Getting Started
> http://community.qnx.com/sf/go/post74906
>
|
|
|
Saul A
|
Re: Version of Development suite vs. target OS
|
Saul A
11/17/2010 10:21 AM
post74933
|
Re: Version of Development suite vs. target OS
Seems I've found a workaround, will verify and post later.
Another C++ issue with 6.3.2 toolchain: it does not like .cpp suffix of source files.
Suffix .cc works. With .cpp suffix, build complains "nothing to build".
But "Compile selected" on each .cpp file works. Weird.
Thanks,
S.
|
|
|
Saul A
|
Re: Version of Development suite vs. target OS
|
Saul A
11/20/2010 2:20 PM
post75438
|
Re: Version of Development suite vs. target OS
The workaround is to copy target/qnx632/x86/lib/gcc/3.3.5
to 4.3.3 (since this is the gcc version in SDP 4.6)
( target/qnx632 has been copied from installation of the SPD 4.01)
and manually add to common.mk:
EXTRA_SUFFIXES+=cpp
Registering the cpp suffix thru CDT project config did not work.
This seems to work, but still testing.
( Perhaps the same could be achieved just by editing gcc configuration files, but this is woodoo for me.
The libc.so mismatch in my earlier posts regarding c++ was because I've borrowed lib/gcc/4.3.3 from CDT 4.6, where
libcpp refers to libc.so.3 )
with best regards,
- S.
|
|
|
|