C++ libraries on QNX 6.2

We are trying to port some C++ dynamic libraries to QNX 6.2. These
libraries are network related and will be loaded in the io-net process
space. Initially these libraries did not compile, and the following steps
were taken to overcome this:

  1. Got recurse.mk from 6.1
  2. Made link like: ln -s /usr/lib/libcpp.so.2 /usr/lib/libcpp.so (maybe
    some names are wrong but they should be very similar)
  3. Made some minor changes in cpp files like #include <stdio.h>
  4. Made another minor changes in our sources related to new field names in
    structures (socket.h, etc.)

Now the libraries are compiling, but when they are loaded, io-net is
crashing

load_object: attempt load of libcpp.so.2
load_elf32: loaded lib at addr b034f000(text) b03dbf80(data)
load_object: attempt load of libcaoslog.so.1
load_elf32: loaded lib at addr b8294000(text) b82dcc00(data)
load_object: attempt load of libutils.so.1
load_elf32: loaded lib at addr b82ee000(text) b834f720(data)
load_object: attempt load of libstdc++.so.2.2.10.0
load_elf32: loaded lib at addr b8366000(text) b83a5e00(data)
load_object: attempt load of libm.so.2
load_elf32: loaded lib at addr b83b4000(text) b83c3ee8(data)
mount: Can’t mount / (type io-net)
mount: Possible reason: No such process

When we examine the core, it seems to be crashing in resolve_res() in
libc.so

Regards,

Arkesh

are you using 6.2NC?
if you are developing for commercial applications,
upgrading to 6.2SE or PE should solve your problem.
otherwise, post the source and other people may be able to help you.

frank

Arkesh Kumar <arkesh@cambira.com> wrote:

We are trying to port some C++ dynamic libraries to QNX 6.2. These
libraries are network related and will be loaded in the io-net process
space. Initially these libraries did not compile, and the following steps
were taken to overcome this:

  1. Got recurse.mk from 6.1
  2. Made link like: ln -s /usr/lib/libcpp.so.2 /usr/lib/libcpp.so (maybe
    some names are wrong but they should be very similar)
  3. Made some minor changes in cpp files like #include <stdio.h
  4. Made another minor changes in our sources related to new field names in
    structures (socket.h, etc.)

Now the libraries are compiling, but when they are loaded, io-net is
crashing

load_object: attempt load of libcpp.so.2
load_elf32: loaded lib at addr b034f000(text) b03dbf80(data)
load_object: attempt load of libcaoslog.so.1
load_elf32: loaded lib at addr b8294000(text) b82dcc00(data)
load_object: attempt load of libutils.so.1
load_elf32: loaded lib at addr b82ee000(text) b834f720(data)
load_object: attempt load of libstdc++.so.2.2.10.0
load_elf32: loaded lib at addr b8366000(text) b83a5e00(data)
load_object: attempt load of libm.so.2
load_elf32: loaded lib at addr b83b4000(text) b83c3ee8(data)
mount: Can’t mount / (type io-net)
mount: Possible reason: No such process

When we examine the core, it seems to be crashing in resolve_res() in
libc.so

Regards,

Arkesh

One reason behind Frank’s suggestion is that the libraries for C++ differ
between NC and PE…

“Frank Liu” <liug@mama.indstate.edu> wrote in message
news:ah7k8t$ag4$1@inn.qnx.com

are you using 6.2NC?
if you are developing for commercial applications,
upgrading to 6.2SE or PE should solve your problem.
otherwise, post the source and other people may be able to help you.

frank

Arkesh Kumar <> arkesh@cambira.com> > wrote:
We are trying to port some C++ dynamic libraries to QNX 6.2. These
libraries are network related and will be loaded in the io-net process
space. Initially these libraries did not compile, and the following
steps
were taken to overcome this:

  1. Got recurse.mk from 6.1
  2. Made link like: ln -s /usr/lib/libcpp.so.2 /usr/lib/libcpp.so (maybe
    some names are wrong but they should be very similar)
  3. Made some minor changes in cpp files like #include <stdio.h
  4. Made another minor changes in our sources related to new field names
    in
    structures (socket.h, etc.)

Now the libraries are compiling, but when they are loaded, io-net is
crashing

load_object: attempt load of libcpp.so.2
load_elf32: loaded lib at addr b034f000(text) b03dbf80(data)
load_object: attempt load of libcaoslog.so.1
load_elf32: loaded lib at addr b8294000(text) b82dcc00(data)
load_object: attempt load of libutils.so.1
load_elf32: loaded lib at addr b82ee000(text) b834f720(data)
load_object: attempt load of libstdc++.so.2.2.10.0
load_elf32: loaded lib at addr b8366000(text) b83a5e00(data)
load_object: attempt load of libm.so.2
load_elf32: loaded lib at addr b83b4000(text) b83c3ee8(data)
mount: Can’t mount / (type io-net)
mount: Possible reason: No such process

When we examine the core, it seems to be crashing in resolve_res() in
libc.so

Regards,

Arkesh