I am attempting to follow the example here but I keep getting a fail on the second docker command,
docker run -it --rm -v `pwd`:/app -w="/app" dds-build \
make -f makefile_Values_x64Linux3gcc5.4.The error I get is a missing library,
```
gcc -m64 -Wl,--no-as-needed -o objs/x64Linux3gcc5.4.0/Values_subscriber objs/x64Linux3gcc5.4.0/Values_subscriber.o objs/x64Linux3gcc5.4.0/ValuesPlugin.o objs/x64Linux3gcc5.4.0/Values.o objs/x64Linux3gcc5.4.0/ValuesSupport.o -L/opt/rti_connext_dds-6.0.1/lib/x64Linux3gcc5.4.0 -lnddscz -lnddscorez -ldl -lnsl -lm -lpthread -lrt
/usr/bin/ld: cannot find -lnddscz
/usr/bin/ld: cannot find -lnddscorez
collect2: error: ld returned 1 exit status
makefile_Values_x64Linux3gcc5.4.0:90: recipe for target 'objs/x64Linux3gcc5.4.0/Values_subscriber' failed
make: *** [objs/x64Linux3gcc5.4.0/Values_subscriber] Error 1
```
I cannot find the libraries on my system. Any ideas how to solve this?
Hi,
I assume you created "dds-build" image based on the following article. You need to have a Connext package (including the missing libraries) on your system to build the image.
https://community.rti.com/kb/creating-docker-image-rti-connext-dds
If you could build the image, can you check the image contains the libraries that you are missing under /opt/rti_connext_dds-6.0.1/x64Linux3gcc5.4.0?
Right, I followd the script in https://community.rti.com/kb/creating-docker-image-rti-connext-dds and it builds. When I look at the image in a shell there are a number of libraries installed. The installed libraries are
# cd x64Linux4gcc7.3.0# ls
liblua.so libnddscpp2zd.a libnddsmetpzd.a librticonnextmsgcpp2zd.a librtidlcppz.a librtirecordingserviced.so librtirsinfrastructurez.a libnddsc.so libnddscppd.so libnddstransporttcp.so librticonnextmsgcppd.so librtidlcppzd.a librtirecordingservicez.a librtirsinfrastructurezd.a libnddscd.so libnddscppz.a libnddstransporttcpd.so librticonnextmsgcppz.a librtidlcz.a librtirecordingservicezd.a librtirsjniadapter.so libnddscore.so libnddscppzd.a libnddstransporttcpz.a librticonnextmsgcppzd.a librtidlczd.a librtiroutingservice.so librtirsjniadapterd.so libnddscored.so libnddscz.a libnddstransporttcpzd.a librticonnextmsgcz.a librtijniroutingservice.so librtiroutingserviced.so librtixml2.so libnddscorez.a libnddsczd.a librticonnextmsgc.so librticonnextmsgczd.a librtijniroutingserviced.so librtiroutingservicez.a librtixml2d.so libnddscorezd.a libnddsjava.so librticonnextmsgcd.so librtiddsconnectorlua.so librtimonitoring.so librtiroutingservicezd.a librtixml2z.a libnddscpp.so libnddsjavad.so librticonnextmsgcpp.so librtidlc.so librtimonitoringd.so librtirsassigntransf.so librtixml2zd.a libnddscpp2.so libnddsmetp.so librticonnextmsgcpp2.so librtidlcd.so librtimonitoringz.a librtirsassigntransfd.so libnddscpp2d.so libnddsmetpd.so librticonnextmsgcpp2d.so librtidlcpp.so librtimonitoringzd.a librtirsinfrastructure.so libnddscpp2z.a libnddsmetpz.a librticonnextmsgcpp2z.a librtidlcppd.so librtirecordingservice.so librtirsinfrastructured.so
What can I do from here?
Ok, well, I figured some things out ... still need HELP!!! :(
I have x64Linux4gcc7.3.0.rtipkg sot the platform is 7.3.0. When I try to build on this platform I get an error,
ERROR com.rti.ndds.nddsgen.Main Fail: com.rti.ndds.nddsgen.Main$ArgumentException: rtiddsgen can not generate build/project files for the architecture: x64Linux3gcc7.3.0 rtiddsgen version 3.0.1This error now comes on the command:
docker run -it --rm -v `pwd`:/app -w="/app" dds-build rtiddsgen Values.idl -ppDisable -language C -create typefiles -create examplefiles -create makefiles -platform x64Linux3gcc7.3.0How can I build with this platform?
Hi,
Looks like you have the library files in the image, but you use a different architecture (x64Linux4gcc7.3.0) from one that you used for makefile (x64Linux3gcc5.4.0).
Can you try to generate an example with the architecture you use?
$ docker run -it --rm -v `pwd`:/app -w="/app" dds-build \ rtiddsgen Values.idl -ppDisable -language C \ -create typefiles -create examplefiles -create makefiles \ -platform x64Linux4gcc7.3.0Can you try it with x64Linux4gcc7.3.0 (not x64Linux3gcc7.3.0)?
It worked :)
Great!