Hi,
I've a little problem. When I try to compile my code with my new system
(xenomai 2.6.2.1) I get the following error:
gcc: error: ;-Wl,@/usr/xenomai/lib/posix.wrappers: No such file or directory
The
file posix.wrappers exits in the /usr/xenomai/lib-directory.
Futhermore, if move this file to anywhere else I get this message:
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `pthread_mutexattr_settype'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `clock_gettime'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `pthread_condattr_setpshared'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to
`pthread_mutexattr_setprotocol'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `shm_unlink'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `pthread_kill'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `pthread_mutexattr_setpshared'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `mq_send'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `mq_unlink'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `pthread_join'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `pthread_create'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference
to `pthread_mutexattr_init'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `pthread_mutexattr_destroy'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `mq_getattr'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `shm_open'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `mq_receive'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `mq_close'
/home/profit/Work/Development/bv_ProFIT_guidePC_shared/bin/libkogmo_rtdb.so:
undefined reference to `mq_open'
collect2: ld returned 1 exit status
Does
somebody know what does it mean? Is it possible that the error refers
to the commands inside the file and not to the file itself?
I use the following cmake
commands:
cmake_minimum_required(VERSION 2.8)
##################################
# BEGIN OF EDITING THIS TEMPLATE #
##################################
############################################
# PLEASE ENTER HERE THE NAME OF YOUR PROJECT
set(ProjectName "kogmo_man")
PROJECT(${ProjectName})
###############################################
# ENTER HERE THE VERSION NUMBER OF YOUR PROJECT
set(${ProjectName}_VERSION_MAJOR 1)
set(${ProjectName}_VERSION_MINOR 0)
###############################################
# ENABLE OR DIABLE THE USE OF XENOMAI AND QT
option(USE_XENOMAI "xenomai" ON )
option(USE_RTDB "rtdb" ON )
option(USE_RTDB_DEBUG "rtdb_debug"
OFF )
option(USE_RTMALLOC_SUBA "suba" ON )
#############################################
# NOW ADD ALL SOURCE FILES OF YOUR PROJECT
# IF YOU'RE USING QT, ALSO ADD ALL HEADERS OF
# QT-OBJECTS, UI-FILES AND RESOURCES
#####################
# INCLUDE DIRECTORIES
set(MAIN_DIR ${PROJECT_SOURCE_DIR}/../..)
set(RTDB_INC ../include)
#############################################
# ENTER THE INSTALL DIRECTORY
set(INSTALLDIR ${MAIN_DIR}/bin)
include_directories(
${RTDB_INC}
)
###########
# LIBRARIES
set(EXTRA_LIBS
)
######
# CPPs
set(SOURCES
main.c
)
###########
# Resources
set(RESOURCES
)
##################################
# END OF EDITING THIS TEMPLATE
#
##################################
message ("Usage of Xenomai: ${USE_XENOMAI}")
message ("Usage of RTDB Debugger: ${USE_RTDB_DEBUG}")
message ("Usage of RTDB: ${USE_RTDB}")
message ("If there's something wrong with these values, run rm -r * in the
build directory")
message(STATUS
"Generating buid files for project ${ProjectName}, version
${${ProjectName}_VERSION_MAJOR}.${${ProjectName}_VERSION_MINOR}")
include_directories(${INCLUDES})
IF(USE_XENOMAI)
message(STATUS "Starting Xenomai configuration")
set(XENOMAI_DIR "/usr/xenomai")
set(XENOMAI_INCLUDE_DIR ${XENOMAI_DIR}/include)
set(XENOMAI_INCLUDE_POSIX_DIR ${XENOMAI_DIR}/include/posix)
execute_process(COMMAND
"${XENOMAI_DIR}/bin/xeno-config" "--skin=posix" "--ldflags" OUTPUT_VARIABLE
XENOMAI_EXE_LINKER_FLAGS)
set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS}
${XENOMAI_EXE_LINKER_FLAGS})
execute_process(COMMAND "${XENOMAI_DIR}/bin/xeno-config" "--skin=posix"
"--cflags" OUTPUT_VARIABLE XENOMAI_DEFINITIONS)
set(EXTRA_DEFINITIONS ${EXTRA_DEFINITIONS} ${XENOMAI_DEFINITIONS})
ADD_DEFINITIONS(${EXTRA_DEFINITIONS})
set(EXTRA_LIBS ${EXTRA_LIBS} rtdk)
message(STATUS ${XENOMAI_EXE_LINKER_FLAGS})
message(STATUS ${XENOMAI_DEFINITIONS})
message(STATUS "Xenomai configuration finished")
ELSE(USE_XENOMAI)
set(EXTRA_DEFINITIONS ${EXTRA_DEFINITIONS} "-O2 -fno-strict-aliasing
-Wstrict-prototypes -O2 -g -Wall")
set(EXTRA_DEFINITIONS ${EXTRA_DEFINITIONS} "-D_GNU_SOURCE -D_REENTRANT")
find_library(THREAD_LIB pthread ../usr/lib)
set(EXTRA_LIBS ${EXTRA_LIBS} ${THREAD_LIB})
find_library(C_LIB c ../usr/lib)
set(EXTRA_LIBS ${EXTRA_LIBS} ${C_LIB})
find_library(RT_LIB rt ../usr/lib)
set(EXTRA_LIBS ${EXTRA_LIBS} ${RT_LIB})
ENDIF(USE_XENOMAI)
IF (USE_RTDB)
message(STATUS "startign RTDB configuration")
set(KOGMO_DIR ../)
find_library(KOGMO_LIBRARY_KOGMO_RTDB kogmo_rtdb ${KOGMO_DIR}../bin)
set(EXTRA_LIBS ${EXTRA_LIBS} ${KOGMO_LIBRARY_KOGMO_RTDB})
include_directories(${KOGMO_DIR}/include)
include_directories(${KOGMO_DIR}/../bin)
message(STATUS "RTDB configuration finished")
ENDIF
(USE_RTDB)
IF(USE_RTDB_DEBUG)
set(EXTRA_DEFINITIONS ${EXTRA_DEFINITIONS} "-DDEBUG=1023")
ENDIF(USE_RTDB_DEBUG)
IF(USE_RTMALLOC_SUBA)
set(KOGMO_DEFINITIONS "-DRTMALLOC_suba")
set(EXTRA_DEFINITIONS ${EXTRA_DEFINITIONS} ${KOGMO_DEFINITIONS})
ENDIF(USE_RTMALLOC_SUBA)
ADD_DEFINITIONS(${EXTRA_DEFINITIONS})
add_executable(${ProjectName} ${SOURCES})
TARGET_LINK_LIBRARIES(${ProjectName} ${EXTRA_LIBS})
install(TARGETS ${ProjectName} DESTINATION ${INSTALLDIR})
Thanks,
Franz
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai