CarMaker & ROS Docker Image

I am trying to get CarMaker for Linux to run in an Ubuntu 18 Docker container with sensor support and ROS support. I currently have CarMaker running in Docker with full sensor support, however when the desktop-full version of ROS melodic is installed, I get a tcl version mismatch.

The same issue occurs with tk. One workaround I have is deleting /usr/lib/x86_64-linux-gnu/libtcl8.6.so and /usr/lib/x86_64-linux-gnu/libtk8.6.so and then creating a symbolic link between CarMaker’s libtcl8.6.so / libtk8.6.so and the deleted files, but I am not sure of the issues this will create with other packages that depend on tcl and tk. Is there any way to make CarMaker find its versions of tcl and tk?

Morning Onish,
Apologies for the late reply.

I had a chat with our main Docker users. Would it be possible to share your Dockerfile with me (here or over e-mail), and we can have a look if there is anything immediately wrong with it?

Thanks,
Bogomil

Hello Onish,

I consulted with some of my colleagues. I was told that sometimes other software sets the LD_LIBRARY_PATH environment variable, which causes issues for CarMaker. Try to unset it manually and test whether CarMaker works.

For a more automated approach, I was given the following script:
CM.txt (510 Bytes)

The forums won’t let me upload an SH extension, so the TXT needs to be manually changed to SH for this to work.

Thank you Bogomil for all your help with this! For anyone that is looking into this in the future, you need to either:

unset LD_LIBRARY_PATH

or in your Dockerfile, you need to add CarMaker’s GUI and GUI/lib folders to you LD_LIBRARY_PATH after installing CarMaker:

ENV LD_LIBRARY_PATH="/opt/ipg/carmaker/linux64-10.1/GUI/:/opt/ipg/carmaker/linux64-10.1/GUI/lib/:${LD_LIBRARY_PATH}"