Archived

This forum has been archived. Please start a new discussion on GitHub.

Purify Link error

Hello,

I've a link error under solaris when i try to use purify on Ice. I try to compile the hello world program (server part) using purify. When i don't use purify everything link fine ... however when I use purify i've this following error:



purify /u1/SUNWspro/bin/CC -R /export/home/venninj/opt/Ice-3.1.0/lib -z text -mt +p -features=tmplife -xarch=v8plus -KPIC -g -L../../../lib -o server Hello.o HelloI.o Server.o -LOME/usr/lib -lbz2 -L/export/home/venninj/usr/lib -lIce -lIceUtil -mt
Purify 7.0 Solaris 2 (32-bit) (C) Copyright IBM Corporation. 1992, 2006 All Rights Reserved.
Instrumenting: libIce.so.31 libIceUtil.so.31 Linking
Undefined first referenced
symbol in file
BZ2_bzBuffToBuffDecompress /export/home/venninj/opt/Ice-3.1.0/lib/libIce.so.31_pure_p3_c0_104192125_58_32
BZ2_bzBuffToBuffCompress /export/home/venninj/opt/Ice-3.1.0/lib/libIce.so.31_pure_p3_c0_104192125_58_32
ld: fatal: Symbol referencing errors. No output written to server


Can you help me ?

Thank you.

Joël

Comments

  • bernard
    bernard Jupiter, FL
    -LOME/usr/lib -lbz2

    This part of your link-line sounds strange. Did you change the Makefile to add this fragment?

    Cheers,
    Bernard
  • bernard wrote:
    This part of your link-line sounds strange. Did you change the Makefile to add this fragment?
    Bernard

    You're right i've modified the makefile, in the line above i've make an error, however i've fixed it (because there are two version of the bzip2 library installed on the system, so it's why i select one).

    However, the same errror is still present ...

    Another idea ?

    Thank you,

    Joel
  • marc
    marc Florida
    Just as a wild guess, perhaps you must specify -lbz2 as the last library?
    purify /u1/SUNWspro/bin/CC -R /export/home/venninj/opt/Ice-3.1.0/lib -z text -mt +p -features=tmplife -xarch=v8plus -KPIC -g -L../../../lib -o server Hello.o HelloI.o Server.o -L$HOME/usr/lib -L/export/home/venninj/usr/lib -lIce -lIceUtil -lbz2 -mt
    
  • I've already tryed to moved the bz2 library but nothing good ...

    I've checked if the symbol are present inside the bz2 library, and they are present...
    Joel
  • Ok i've found the problem, it comes that i've two different version of bzip2 on my system. Ice is linked with one specifc version, whereas purify instrument a different version of bz2. So it's why i got a link error.

    Thank you,

    Joël