Micro DDS INSTALL ERROR

2 posts / 0 new
Last post
Offline
Last seen: 3 years 6 months ago
Joined: 02/15/2021
Posts: 2
Micro DDS INSTALL ERROR

I'm trying to install Micro dds in raspberry pi

I have a file name "rti_connext_dds_micro-3.0.0" 

I have made the RTIMEHOME=/home/pi/rti_connext_dds_micro-3.0.0 and after i build using resource/scripts/rtime-make --target self --name i86Linux3.4gcc5.4.0 -G "Unix Makefiles" --build

The build ended well and now i'm trying to make example to use HelloWorld_dpse.

but The problem is that make doesn't finish well

When I input "make DEBUG=Y" it first go on but soon it get's error and stop

<<

/usr/bin/ld: /home/pi/rti_connext_dds_micro-3.0.0/src/osapi/posix/posixTread/c:281: undefined reference to 'pthread_create' 

collect2: error: ld returned 1 exit status

make: *** [Makefile:214: objs/rti_connext_dds_micro-3.0.0/HelloWorld_publisher.out] Error1>>

 

How could I solve this problem??

 

please Needs Some HELP!!!

Howard's picture
Offline
Last seen: 1 day 15 hours ago
Joined: 11/29/2012
Posts: 605

Dear Kwon Hye In,

What University are you affliated with?  What is the project?

When you built RTI Connext Micro, you only built the release version of the RTI Connext Micro libraries.  If you want to build debug versions of an application that uses the debug versions of RTI Connext Micro, you also need to build the debug version of RTI Connext Micro.

You probably should read through this section of the manual:

https://community.rti.com/static/documentation/connext-micro/3.0.3/doc/html/building/building.html?highlight=debug

 

Another suggestion is that you are just invoking a standard makefile to build the Hello_dpse example (why dpse?  the dpde example is better to start with).

You can/should modify the makefile to show the command line invocation of the compiler and see if the arguments passed to gcc are correct.  The error message about missing "pthread_create" indicates that the linker is missing the Pthread library...which is usually specified using "-lpthread"...and that's in the makefile.