I have hit on someting interesting - took a while to figure it out as I wasn’t expecting it.
Many years ago I purchased a data manager called SoftFocus. A bloke in Canada wrote it and it has served me well with QNX4 and Linux. Today I decided to compile it on QNX6.5.0 Sp1. That went surprisingly well. This package is written in C - I am using C++ (QCC).
Until I linked it into a server process that attaches a name using name_attach().
When the data manager is linked in name_open() calls fail. It returns -1 and errno is 2 (ENOENT). It doesn’t matter whether it is a local or remote (global) name. The server sees the _IO_CONNECT message and duly responds with a valid rcvid (MsgReply returns 0). The name does exists in /dev/name/local (or global as the case may be) but name_open() always returns -1 with errno 2.
Take the data manager away and it all works fine.
What on earth could cause some C code in an application break the QNET naming system?
gns is running appropriately (that means well). If I stop gns and use only local names, it still fails. So I don’t think gns has anythng to do with it.
Ultimately I intend to purchase a database package like the ITTIA one advertised on this website but my intention at this time was to simply knock something up that was quick and supposedly easy (and cheap to play with during the initial program development). So much for that! Best part of a day tracking this one down!
What on earth in some