mig4nto problem

Hi,

I have an “old” program which was running under Photon on QNX 4. I read
“Migration Guide” and managed to compile all source files after some minor
adjustments and modifications.
The program uses Send/Reply/Readmsg functions as they were supported by the
old OS. Thus, I installed the migration library. When the library is
included <mig4nto.h>, the compilation works just fine. However, during the
linking process I’ve got this message:

file.o (.text+Oxb94): undefined reference to ‘Reply’

… the same for Readmsg and other functions supported by the library.

What shell I do with this? Should I explicitly specify the path to the
mig4nto library? I am using PhAB for the compilation.

Thanks,
Adrian

adrian@ubicom.tudelft.nl

Adrian Bohdanowicz <adrian@octopus.et.tudelft.nl> wrote:

Hi,

I have an “old” program which was running under Photon on QNX 4. I read
“Migration Guide” and managed to compile all source files after some minor
adjustments and modifications.
The program uses Send/Reply/Readmsg functions as they were supported by the
old OS. Thus, I installed the migration library. When the library is
included <mig4nto.h>, the compilation works just fine. However, during the
linking process I’ve got this message:

file.o (.text+Oxb94): undefined reference to ‘Reply’

… the same for Readmsg and other functions supported by the library.

What shell I do with this? Should I explicitly specify the path to the
mig4nto library? I am using PhAB for the compilation.

You’ll have to add mig4nto (for libmig4nto.a) in two places in your
Makefile. For example:

LDFLAGS = -V$(PLATFORM) -Bstatic $(DEBUG) -l mig4nto -l Ap -l phexlib
-l ph -l phrender $(PHABOPTS) -Bdynamic -l m
SDFLAGS = -V$(PLATFORM) $(DEBUG) -l Ap -l phexlib -l ph
-l phrender $(PHABOPTS) -Bstatic -l mig4nto -l ph -Bdynamic -l m

Thanks,
Adrian

adrian@ubicom.tudelft.nl

Hello,

I have just added this issue to the Knowlege Base at http://qnd.qnx.com.
You can find the solution to this issue, by searching on “mig4nto”.
You’ll also find the answer at the following link:

http://support.qnx.com/support/bok/solution.qnx?10138

Best Regards,

Marcin

Steven Dufresne <stevend@qnx.com> wrote:

Adrian Bohdanowicz <> adrian@octopus.et.tudelft.nl> > wrote:
Hi,

I have an “old” program which was running under Photon on QNX 4. I read
“Migration Guide” and managed to compile all source files after some minor
adjustments and modifications.
The program uses Send/Reply/Readmsg functions as they were supported by the
old OS. Thus, I installed the migration library. When the library is
included <mig4nto.h>, the compilation works just fine. However, during the
linking process I’ve got this message:

file.o (.text+Oxb94): undefined reference to ‘Reply’

… the same for Readmsg and other functions supported by the library.

What shell I do with this? Should I explicitly specify the path to the
mig4nto library? I am using PhAB for the compilation.

You’ll have to add mig4nto (for libmig4nto.a) in two places in your
Makefile. For example:

LDFLAGS = -V$(PLATFORM) -Bstatic $(DEBUG) -l mig4nto -l Ap -l phexlib
-l ph -l phrender $(PHABOPTS) -Bdynamic -l m
SDFLAGS = -V$(PLATFORM) $(DEBUG) -l Ap -l phexlib -l ph
-l phrender $(PHABOPTS) -Bstatic -l mig4nto -l ph -Bdynamic -l m

Thanks,
Adrian

adrian@ubicom.tudelft.nl



Marcin Dzieciol
Technical Support
QNX Software Systems Ltd.
Email: <marcind@qnx.com>

Hello!

I installed the mig4nto-procmgr files as described on the website (i.e. make
install), which put a copy of the executable mig4nto-procmgr in my /x86/bin
directory. When I try to run it from that directory (i.e. ./mig4nto-procmgr -vv
&) it says that it can’t find the library libmig4nto.so.1.

I looked for that library and found a similar one (libmig4nto.so) in
/usr/nto/src/nto/mig4nto/mig4nto/x86/so. I copied that library to /lib and tried
running the executable from the /x86/bin directory again, but it gave the same
error message.

I renamed the library from .so to .so.1 and reran the executable and it didn’t
give me any error message, but neither did it print out anything about successful
operation.

My questions are:

  1. Was renaming the library the right thing to do?

  2. If so, is there any way to verify that mig4nto-procmgr is running correctly
    (i.e. what should I expect to see with the -vv flags on)?

Thanks.

Neville

Neville Bonwit <neville@erg.sri.com> wrote:

Hello!

I installed the mig4nto-procmgr files as described on the website (i.e. make
install), which put a copy of the executable mig4nto-procmgr in my /x86/bin
directory. When I try to run it from that directory (i.e. ./mig4nto-procmgr -vv
&) it says that it can’t find the library libmig4nto.so.1.

I looked for that library and found a similar one (libmig4nto.so) in
/usr/nto/src/nto/mig4nto/mig4nto/x86/so. I copied that library to /lib and tried
running the executable from the /x86/bin directory again, but it gave the same
error message.

I renamed the library from .so to .so.1 and reran the executable and it didn’t
give me any error message, but neither did it print out anything about successful
operation.

My questions are:

  1. Was renaming the library the right thing to do?

Better way would be to setup a symbolic link.
ie.
ln -sv /mig4nto/mig4nto/x86/so/libmig4nto.so /lib/libmig4nto.so.1

  1. If so, is there any way to verify that mig4nto-procmgr is running correctly
    (i.e. what should I expect to see with the -vv flags on)?

Use pidin to verify if it is running, and try your app with ie. qnx_name_attach().

Best Regards,

Marcin


Thanks.

Neville