Menu

#293 Player SVN trunk: new errors

trunk
closed-fixed
player (137)
5
2009-08-04
2009-07-23
Anonymous
No

[ 40%] Building CXX object
libplayercore/CMakeFiles/playercore.dir/remote_driver.o
Linking CXX shared library libplayercore.so
/usr/qnx641/host/qnx6/x86/usr/bin/ntox86-ld: cannot find -lplayerreplace
collect2: ld returned 1 exit status
make[2]: *** [libplayercore/libplayercore.so.3.0.0-rc2~svn] Error 1
make[1]: *** [libplayercore/CMakeFiles/playercore.dir/all] Error 2
make: *** [all] Error 2

Looks like playerreplace should be compiled before playercore.

Scanning dependencies of target playerprop
[ 92%] Building CXX object utils/playerprop/CMakeFiles/playerprop.dir/playerprop.o
Linking CXX executable playerprop
CMakeFiles/playerprop.dir/playerprop.o: In function `main':
playerprop.cpp:(.text+0x1072): undefined reference to `PlayerCc::ClientProxy::GetBoolProp(char*, bool*)'
playerprop.cpp:(.text+0x1510): undefined reference to `PlayerCc::ClientProxy::SetBoolProp(char*, bool)'
playerprop.cpp:(.text+0x153e): undefined reference to `PlayerCc::ClientProxy::SetBoolProp(char*, bool)'
collect2: ld returned 1 exit status

Discussion

  • G Biggs

    G Biggs - 2009-07-23

    I'm not sure why it's not building playerreplace before playercore. The dependency is clearly specified and that works fine for every other lib with internal dependencies.

    playerprop compiles fine for me on both Windows and Linux. Was this a clean checkout? If not, perhaps try doing a make clean first?

     
  • Nobody/Anonymous

    I'm always doing fresh build in empty build directory.
    Problem with playerprop that occured on Linux seem to be fixed in newer trunk snapshots.
    Problem with libplayerreplace is more complex. This library never existed and as I looked at trunk snapshot from 3rd of July 2009, none of cmake spec files referenced that. Nowadays replace/CMakeLists.txt has this fragment added:
    IF (replaceSrcs)
    PLAYER_ADD_LIBRARY (playerreplace ${replaceSrcs})
    TARGET_LINK_LIBRARIES (playerreplace playercommon)
    IF (NOT HAVE_XDR OR NOT HAVE_POLL)
    TARGET_LINK_LIBRARIES (playerreplace Ws2_32)
    ENDIF (NOT HAVE_XDR OR NOT HAVE_POLL)
    PLAYER_MAKE_PKGCONFIG ("playerreplace" "Player library of replacements for missing platform functionality - part of the Player Project" "${ws2_32Lib}" "" "" "")
    ENDIF (replaceSrcs)
    Looks like this is never touched by cmake during whole build process which is not a problem on Linux where all functions are present, so no one noticed this so far.

     
  • G Biggs

    G Biggs - 2009-08-04
    • status: open --> closed-fixed
     
  • G Biggs

    G Biggs - 2009-08-04

    Fixed in CVS HEAD. Thanks very much for the report.

     

Log in to post a comment.