Gordon Molek
12/19/2007 9:10 AM
post3901
|
Hello,
I'm attempting to build QFC for the first time and when I attempt to build sigc++ I get errors in signal.h
33: typedef size_t size_type; - ISO C++ forbids declaration
34: typedef ptrdiff_t difference_type - ISO C++ forbids declaration
and similarly in signal_base.h
45: typedef size_t size_type; - ISO C++ fobids declaration
I am running Momemtics Version: 4.0.1 Build id: I20070321
Thanks in advance,
Gordon Molek
Zebra Technologies Corporation
|
|
|
Rennie Allen
12/19/2007 10:49 AM
post3917
|
> Hello,
> I'm attempting to build QFC for the first time and when I attempt to build
> sigc++ I get errors in signal.h
>
> 33: typedef size_t size_type; - ISO C++ forbids declaration
> 34: typedef ptrdiff_t difference_type - ISO C++ forbids declaration
>
> and similarly in signal_base.h
>
> 45: typedef size_t size_type; - ISO C++ fobids declaration
>
> I am running Momemtics Version: 4.0.1 Build id: I20070321
>
> Thanks in advance,
>
> Gordon Molek
> Zebra Technologies Corporation
Hi Gordon,
This is an error on my part (sorry). Momentics base directory used to be QNX630, but it is now QNX632.
Here is how to fix this.
1. right-click on the "sigc++" project and then select "properties".
2. on the properties dialog select "C/C++ build"
3. on the "configuration" drop-down, select the build target (unfortunately, the following steps need to be performed
for each build target)
4. once you have the desired build target selected, then under "QCC Compiler", select the "General" item
5. you should now see a text field titled "Other Options"; in this field change all references to QNX630 to QNX632
That should do it. I'll update this in the next few days. Thanks for pointing this out!
|
|
|
Gordon Molek
12/27/2007 8:23 AM
post3991
|
Rennie,
Thanks, now we can build.
I've attempted to run the RAM disk example. I've copied the libsigc-2.0_g.so and libqfc_g.so libraries to the target
and placed them in /lib. The RAM disk application runs and is receive blocked until I attempt to do anything signficant
to it, e.g., ls -l /mount-point, cd /mount-point, etc., at which point it terminates. Running in the debugger doesn't
help much as I don't know how to set it up yet to see all the necessary source (I only see the main() source for the ram
disk application.
Thanks,
Gordon Molek
|
|
|
Rennie Allen
01/02/2008 9:45 PM
post4025
|
Hi Gordon,
What is your command line invocation for Ramdisk?
It requires a single argument (which is the mountpoint of the ramdisk). Since it is intended as example code, the error
handling of detecting a NULL argv[0] is omitted...
Thanks,
Rennie
|
|
|
Gordon Molek
01/07/2008 7:57 AM
post4079
|
> Hi Gordon,
>
> What is your command line invocation for Ramdisk?
>
> It requires a single argument (which is the mountpoint of the ramdisk). Since
> it is intended as example code, the error handling of detecting a NULL argv[0
> ] is omitted...
>
> Thanks,
>
> Rennie
Rennie,
In the "Arguments" tab of the "Open Launch Config" pane reached via "Run As->C/C++ QNX Conn" menu I simply but "/ramdisk
". Did you mean to say "argv[1]" as isn't argv[0] the programe's name, supplied by the fork/exec?
Also, is there any way to set up my account to receive e-mail notification when a post in made to the forum?
Thanks,
Gordon
|
|
|
Rennie Allen
01/07/2008 12:16 PM
post4092
|
Gordon,
Are saying you started Ramdisk like so:
# Ramdisk /ramdisk ?
If so then this should work. Can you get a back-trace from gdb?
You can certainly get notification of posts, by clicking on the "monitor" button for the forum.
Thanks,
Rennie
|
|
|
Gordon Molek
01/07/2008 2:23 PM
post4102
|
Rennie,
I would be happy to provide a backtrace if you can provide me with instructions on how to do so (I am new to QNX).
Thanks regarding the "Monitor" button. I wasn't looking for it at that level of the forums.
Gordon
|
|
|
Gordon Molek
01/07/2008 2:40 PM
post4104
|
Ok, I figured it out (I think). Here you go.
#0 0xb0320668 in _list_release ()
from /usr/qnx632/target/qnx6/x86/lib/libc.so.2
#1 0xb0320f41 in __prelocked_free ()
from /usr/qnx632/target/qnx6/x86/lib/libc.so.2
#2 0xb0320ff0 in __free () from /usr/qnx632/target/qnx6/x86/lib/libc.so.2
#3 0xb031ea4e in free () from /usr/qnx632/target/qnx6/x86/lib/libc.so.2
#4 0xb82fd351 in operator delete(void*) ()
from /usr/qnx632/target/qnx6/x86/lib/libcpp.so.4
#5 0xb82911e9 in ~Node (this=0x80476cc) at node.cpp:519
#6 0xb8293651 in ~Ocb (this=0x80596a0) at ocb.cpp:122
#7 0xb82661f8 in QNXAPI::Resmgr::DispatchCloseOcb(_resmgr_context*, void*, ocb*
) (this=0x80477c4, ctp=0x8059738, reserved=0x0, ocb=0x80596f8)
at resmgr.cpp:801
#8 0xb8263180 in QNXAPI::CloseRedir(_resmgr_context*, void*, ocb*) (
ctp=0x8059738, msg=0x0, ocb=0x80596f8) at resmgr.cpp:155
#9 0xb033785c in _resmgr_close_handler ()
from /usr/qnx632/target/qnx6/x86/lib/libc.so.2
#10 0xb0337aa8 in _resmgr_connect_handler ()
from /usr/qnx632/target/qnx6/x86/lib/libc.so.2
#11 0xb0338db5 in _resmgr_handler ()
from /usr/qnx632/target/qnx6/x86/lib/libc.so.2
#12 0xb032a432 in resmgr_handler ()
from /usr/qnx632/target/qnx6/x86/lib/libc.so.2
#13 0xb826854c in QNXAPI::Resmgr::ResmgrIoSelector::BlockContext(_resmgr_context
*) (this=0x8047a10, context=0x8059738) at resmgr.cpp:1251
#14 0xb82829d7 in sigc::bound_mem_functor1<void, QNXAPI::Resmgr::ResmgrIoSelecto
r, _resmgr_context*>::operator()(_resmgr_context* const&) const (
this=0x804d29c, _A_a1=@0x80475bc) at functors/mem_fun.h:1851
#15 0xb828295f in operator()<resmgr_context_t* const&> (this=0x804d298,
_A_arg1=@0x80475bc) at adaptor_trait.h:84
#16 0xb8282931 in sigc::internal::slot_call1<sigc::bound_mem_functor1<void, QNXA
PI::Resmgr::ResmgrIoSelector, _resmgr_context*>, void, _resmgr_context*>::call_i
t(sigc::internal::slot_rep*, _resmgr_context* const&) (rep=0x804d280,
a_1=@0x80475bc) at functors/slot.h:136
#17 0xb8282df5 in sigc::internal::signal_emit1<void, _resmgr_context*, sigc::nil
>::emit(sigc::internal::signal_impl*, _resmgr_context* const&) (
impl=0x804b398, _A_a1=@0x80475bc) at signal.h:686
#18 0xb826ba3a in sigc::signal1<void, _resmgr_context*, sigc::nil>::emit(_resmgr
_context* const&) const (this=0x8047a2c, _A_a1=@0x80475bc) at signal.h:1812
#19 0xb826b5c5 in QNXAPI::IoSelector<_resmgr_context>::Block() (this=0x8047a10)
at ioselector:447
#20 0xb8268827 in QNXAPI::Resmgr::Run(sigc::slot<bool, int, sigc::nil, sigc::nil
, sigc::nil, sigc::nil, sigc::nil, sigc::nil>) (this=0x80477c4, loopControl=
{<slot1<bool,int>> = {<slot_base> = {<functor_base> = {<No data fields
>}, rep_ = 0x804d4b0, blocked_ = false}, <No data fields>}, <No data fields>})
at resmgr.cpp:1288
#21 0xb82685e4 in QNXAPI::Resmgr::Run() (this=0x80477c4) at resmgr.cpp:1267
#22 0x0804911d in main (argc=2, argv=0x8047a6c) at main.cpp:38
|
|
|
Rennie Allen
02/04/2008 2:04 PM
post4781
|
I Gordon,
Sorry, I thought I had responded. The fact that you have list corruption implies a build error.
Could you clean the library, re-build and download to target, and then rebuild Ramdisk and try again?
I have tried it here (from the repository) and it works fine for me.
Thanks,
Rennie
|
|
|
Gordon Molek
02/06/2008 11:58 AM
post4837
|
Rennie,
Thanks for the response. I did a fresh check-out, fixed the libsigc++
include file reference problem, downloaded libsigc-2.0_g.so and
libqfc_g.so to /lib on the target and ran Ramdisk_g from within
Momentics, setting its argument to the mount point "/ramdisk". It seems
to run and I can do an "ls -l /ramdisk" which returns an empty
directory, but when I attempt to copy a file into the /ramdisk directory
I get the error message "Can't open destination file. (/ramdisk/foo):
Resource temporarily unavailable"
Thanks,
Gordon Molek
-----Original Message-----
From: Rennie Allen [mailto:rallen@qnx.com]
Sent: Monday, February 04, 2008 1:04 PM
To: install-qfc
Subject: Re: Build failure
I Gordon,
Sorry, I thought I had responded. The fact that you have list
corruption implies a build error.
Could you clean the library, re-build and download to target, and then
rebuild Ramdisk and try again?
I have tried it here (from the repository) and it works fine for me.
Thanks,
Rennie
_______________________________________________
QFC Installation and build
http://community.qnx.com/sf/go/post4781
- CONFIDENTIAL-
This email and any files transmitted with it are confidential, and may also be legally privileged. If you are not the
intended recipient, you may not review, use, copy, or distribute this message. If you receive this email in error,
please notify the sender immediately by reply email and then delete this email.
|
|
|
|