Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Build failure: Page 1 of 2 (14 Items)
   
Build failure  
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
Re: Build failure  
> 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!
Re: Build failure  
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
Re: Build failure  
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
Re: Build failure  
> 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
Re: Build failure  
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
Re: Build failure  
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
Re: Build failure  
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
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
RE: Build failure  
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.