carla: Carla 0.9.9 make PythonAPI failed: recipe for target 'osm2odr' failed

When I run “make PythonAPI”, I failed and got the following error message:

Setup.sh: llvm-8.0 already installed.
Setup.sh: boost-1.72.0-c8 already installed.
Setup.sh: rpclib-v2.2.1_c3-c8 already installed.
Setup.sh: gtest-1.8.1-c8 already installed.
Setup.sh: recast-cdce4e-c8 already installed.
Setup.sh: CARLA version 0.9.9.4-255-gc56a7738.
Version.h
Setup.sh: Generating CMake configuration files.
Setup.sh: Success!
BuildLibCarla.sh: Building LibCarla "Client.Release" configuration.
[5/5] Linking CXX executable LibCarla/cmake/test/libcarla_test_client_release
[0/1] Install the project...
-- Install configuration: "Client"
-- Installing: /home/xiruo/carla/PythonAPI/carla/dependencies/include/carla/Version.h
-- Installing: /home/xiruo/carla/PythonAPI/carla/dependencies/lib/libcarla_client.a
-- Installing: /home/xiruo/carla/PythonAPI/carla/dependencies/test/libcarla_test_client_release
-- Set runtime path of "/home/xiruo/carla/PythonAPI/carla/dependencies/test/libcarla_test_client_release" to ""
BuildLibCarla.sh: Success!
-- Eclipse version is set to 3.6 (Helios). Adjust CMAKE_ECLIPSE_VERSION if this is wrong.
-- CMAKE_BINARY_DIR: /home/xiruo/carla/Build/libosm2dr-build
-- CMAKE_SOURCE_DIR: /home/xiruo/carla/Util/OSM2ODR
-- 
-- Platform: 
--     Host: Linux-5.4.0-42-generic x86_64
--     Target: Linux-5.4.0-42-generic x86_64
--     CMake: 3.10.2
--     CMake generator: Ninja
--     CMake build tool: /usr/bin/ninja
--     Compiler: Clang 8.0.1
-- 
-- Found Python: /usr/bin/python
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Failed to find XercesC (missing: XercesC_LIBRARY XercesC_INCLUDE_DIR
  XercesC_VERSION)
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.10/Modules/FindXercesC.cmake:91 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:88 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/xiruo/carla/Build/libosm2dr-build/CMakeFiles/CMakeOutput.log".
Util/BuildTools/Linux.mk:158: recipe for target 'osm2odr' failed
make: *** [osm2odr] Error 1

What is going on here? My system is as below

Carla version: 0.9.9 OS: Ubuntu 18.04 Python on the machine: 2.7 & 3.6

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 16 (2 by maintainers)

Most upvoted comments

apt install libxerces-c-dev could be a work-around.

OK I added libxerces-c-dev to the list of apt-install packages in Prerequisites.Dockerfile which did indeed get me past the Xerces problem, thanks. Next my docker build failed because the Python module distro was not found. I added pip and pip3 install distro to the Carla.Dockerfile command to get past that. (Would have been more elegant to add it to Prerequisites, but I didn’t want to have to run all of that again.) I don’t understand why anyone else should have been able to build the Docker image without those changes – I thought the whole point was that it gave a uniform environment for everyone? But it’s my first experience with Docker. I have not succeeded yet though. My Carla.Dockerfile build still failed with this:

  LogTexture: Display: Building textures: T_Jacket_n (BC5, 2048X2048)
  LogTexture: Display: Building textures: T_Jacket_orm (AutoDXT, 2048X2048)
Took 795.927096s to run UE4Editor, ExitCode=137
ERROR: Cook failed.
       (see /home/ue4/Library/Logs/Unreal Engine/LocalBuildLogs/Log.txt for full exception trace)
AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)
RunUAT ERROR: AutomationTool was unable to run successfully.
make: *** [package] Error 25
Util/BuildTools/Linux.mk:16: recipe for target 'package' failed

I have plenty of spare disk space by the way, and 32GB of RAM, so I don’t think it was running out of resources. I will try and figure out how to access the logfile in the docker image (if that got built despite the command error?) to figure out that next problem. Incidentally, it is extremely painful having the 12GB assets download as part of that last stage – if something goes wrong, it means doing it all over again. If that download could be made a separate step to get the local file, and have that ingested into the docker build, it would be a great advantage.

@charlie-wartnaby Hi. Have you been able to find a solution to this issue?

Hi @tungnt101294 , I just gave up on using Docker. Instead I just run carla using ‘make launch’ (and then ‘make launch-only’).

I was trying out the Docker build as that was a recommended route for importing a new map, but in the end the only way I found I could usefully import my map from RoadRunner was to go through the deprecated instructions for importing the assets manually into Unreal Editor.

@charlie-wartnaby Hi. Have you been able to find a solution to this issue?

I’m sorry @tungnt101294 , I haven’t looked at it since. This was back in CARLA 0.9.9 or 0.9.10.