carla/Docs/build_faq.md

20 KiB

F.A.Q.

Some of the most common issues regarding CARLA installation and builds are listed here. Some more can be found in the GitHub issues for the project. In case you don't find your doubt listed here, have a look in the forum and feel free to ask there.


System requirements


Linux build


Windows build


Running Carla


Other


System requirements

Expected disk space to build CARLA.

It is advised to have at least 170GB free. Building CARLA requires about 35GB of disk space, plus Unreal Engine which requires about 95-135GB.

CARLA is a performance demanding software. At the very minimum it requires a 6GB GPU or, even better, a dedicated GPU capable of running Unreal Engine.

Take a look at Unreal Engine's recommended hardware.


Linux build

"CarlaUE4.sh" script does not appear when downloading from GitHub.

There is no CarlaUE4.sh script in the source version of CARLA. Follow the build instructions to build CARLA from source.

To run CARLA using CarlaUE4.sh, follow the quick start installation.

"make launch" is not working on Linux.

Many different issues can be dragged out during the build installation and will manifest themselves like this. Here is a list of the most likely reasons why:

  • Run Unreal Engine 4.24. Something may have failed when building Unreal Engine. Try running UE editor on its own and check that it is the 4.24 release.
  • Download the assets. The server will not be able to run without the visual content. This step is mandatory.
  • UE4_ROOT is not defined. The environment variable is not set. Remember to make it persistent session-wide by adding it to the ~/.bashrc or ~/.profile. Otherwise it will need to be set for every new shell. Run export UE4_ROOT=~/UnrealEngine_4.24 to set the variable this time.
  • Check dependencies. Make sure that everything was installed properly. Maybe one of the commands was skipped, unsuccessful or the dependencies were not suitable for the system.
  • Delete CARLA and clone it again. Just in case something went wrong. Delete CARLA and clone or download it again.
  • Meet system requirements. Ubuntu version should be 16.04 or later. CARLA needs around 170GB of disk space and a dedicated GPU (or at least one with 6GB) to run.

Other specific reasons for a system to show conflicts with CARLA may occur. Please, post these on the forum so the team can get to know more about them.

Cloning the Unreal Engine repository shows an error.

1. Is the Unreal Engine account activated? The UE repository is private. In order to clone it, create the UE account, activate it (check the verification mail), and link your GitHub account.

2. Is git properly installed? Sometimes an error shows incompatibilities with the https protocol. It can be solved easily by uninstalling and reinstalling git. Open a terminal and run the following commands:

 sudo apt-get remove git #Uninstall git
 sudo apt install git-all #install git
AttributeError: module 'carla' has no attribute 'Client' when running a script.

Run the following command.

  pip3 install -Iv setuptools==47.3.1

And build the PythonAPI again.

 make PythonAPI

Try to build the docs to test if everything is running properly. A successful message should show.

 make PythonAPI.docs
Cannot run example scripts or "RuntimeError: rpc::rpc_error during call in function version".

faq_rpc_error

If running a script returns an output similar to this, there is a problem with the .egg file in the PythonAPI.

First of all, open <root_carla>/PythonAPI/carla/dist. There should be an .egg file for the corresponding CARLA and Python version you are using (similar to carla-0.X.X-pyX.X-linux-x86_64.egg). Make sure the file matches the Python version you are using. To check your Python version use the following command.

  python3 --version # CARLA no longer provides support for Python2, so we are dismissing it here

If either the file is missing or you think it could be corrupted, try rebuilding again.

 make clean
 make PythonAPI
 make launch

Now try one of the example scripts again.

 cd PythonAPI/examples
 python3 dynamic_weather.py

If the error persists, the problem is probably related with your PythonPATH. These scripts automatically look for the .egg file associated with the build, so maybe there is another .egg file in your PythonPATH interfering with the process. Show the content of the PythonPATH with the following command.

 echo $PYTHONPATH

Look up in the output for other instances of .egg files in a route similar to PythonAPI/carla/dist, and get rid of these. They probably belong to other instances of CARLA installations. For example, if you also installed CARLA via apt-get, you can remove it with the following command, and the PythonPATH will be cleaned too.

 sudo apt-get purge carla-simulator

Ultimately there is the option to add the .egg file of your build to the PythonPATH using the ~/.bashrc. This is not the recommended way. It would be better to have a clear PythonPATH and simply add the path to the necessary .egg files in the scripts.

First, open ~/.bashrc.

 gedit ~/.bashrc

Add the following lines to ~/.bashrc. These store the path to the build .egg file, so that Python can automatically find it. Save the file, and reset the terminal for changes to be effective.

export PYTHONPATH=$PYTHONPATH:"${CARLA_ROOT}/PythonAPI/carla/dist/$(ls ${CARLA_ROOT}/PythonAPI/carla/dist | grep py3.)"
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla

After cleaning the PythonPATH or adding the path to the build .egg file, all the example scripts should work properly.


Windows build

"CarlaUE4.exe" does not appear when downloading from GitHub.

There is no CarlaUE4.exe executable in the source version of CARLA. Follow the build instructions to build CARLA from source. To directly get the CarlaUE4.exe, follow the quick start instructions.

CarlaUE4 could not be compiled. Try rebuilding it from source manually.

Something went wrong when trying to build CARLA. Rebuild using Visual Studio to discover what happened.

1. Go to carla/Unreal/CarlaUE4 and right-click the CarlaUE4.uproject.
2. Click on Generate Visual Studio project files.
3. Open the file generated with Visual Studio 2017.
4. Compile the project with Visual Studio. The shortcut is F7. The build will fail, but the issues found will be shown below.

Different issues may result in this specific error message. The user @tamakoji solved a recurrent case where the source code hadn't been cloned properly and the CARLA version could not be set (when downloading this as a .zip from git).

  • Check the Build/CMakeLists.txt.in. If it shows as set(CARLA_VERSION ) do the following:

1. Go to Setup.bat line 198.

2. Update the line from:

for /f %%i in ('git describe --tags --dirty --always') do set carla_version=%%i

to:

for /f %%i in ('git describe --tags --dirty --always') do set carla_version="0.9.9"
CMake error shows even though CMake is properly installed.

This issue occurs when trying to use the make command either to build the server or the client. Even if CMake is installed, updated and added to the environment path. There may be a conflict between Visual Studio versions.

Leave only VS2017 and completely erase the rest.

Error C2440, C2672: compiler version.

The build is not using the 2017 compiler due to conflicts with other Visual Studio or Microsoft Compiler versions. Uninstall these and rebuild again.

Visual Studio is not good at getting rid of itself. To completely clean Visual Studio from the computer go to Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\layout and run .\InstallCleanup.exe -full. This may need admin permissions.

To keep other Visual Studio versions, edit %appdata%\Unreal Engine\UnrealBuildTool\BuildConfiguration.xml by adding the following lines:

 <VCProjectFileGenerator>
   <Version>VisualStudio2017</Version>
</VCProjectFileGenerator>
 <WindowsPlatform>
   <Compiler>VisualStudio2017</Compiler>
</WindowsPlatform>
"make launch" is not working on Windows.

Many different issues can be dragged out during the build installation and manifest themselves like this. Here is a list of the most likely reasons why:

  • Restart the computer. There is a lot going on during the Windows build. Restart and make sure that everything is updated properly.
  • Run Unreal Engine 4.24. Something may have failed when building Unreal Engine. Run the Editor and check that version 4.24 is being used.
  • Download the assets. The server will not be able to run without the visual content. This step is mandatory.
  • Visual Studio 2017. If there are other versions of Visual Studio installed or recently uninstalled, conflicts may arise. To completely clean Visual Studio from the computer go to Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\layout and run .\InstallCleanup.exe -full.
  • Delete CARLA and clone it again. Just in case something went wrong. Delete CARLA and clone or download it again.
  • Meet system requirements. CARLA needs around 170GB of disk space and a dedicated GPU (or at least one with 6GB) to run.

Other specific reasons for a system to show conflicts with CARLA may occur. Please, post these on the forum so the team can get to know more about them.

Make is missing libintl3.dll or/and libiconv2.dll.

Download the dependencies and extract the bin content into the make installation path.

Modules are missing or built with a different engine version.

Click on Accept to rebuild them.

There is no dist folder in PythonAPI/carla despite a successful output message.

In Windows, the make PythonAPI command can return a message that the Python API was installed successfully when it actually wasn't. If there is no dist folder created in the PythonAPI/carla directory after you see this output, then look at the command output higher up. It is likely an error occurred and the build needs to be retried after correcting the error and running make clean.


Running CARLA

Low FPS rate when running the server in Unreal Editor.

UE4 Editor goes to a low performance mode when out of focus.

Go to Edit/Editor Preferences/Performance in the editor preferences, and disable the "Use Less CPU When in Background" option.

Can't run a script.

Some scripts have requirements. These are listed in files named Requirements.txt, in the same path as the script itself. Be sure to check these in order to run the script. The majority of them can be installed with a simple pip command.

Sometimes on Windows, scripts cannot run with just > script_name.py. Try adding > python3 script_name.py, and make sure to be in the right directory.

Connect to the simulator while running within Unreal Editor.

Click on Play and wait until the scene is loaded. At that point, a Python client can connect to the simulator as with the standalone simulator.

Can't run CARLA neither binary nor source build.

NVIDIA drivers may be outdated. Make sure that this is not the case. If the issue is still unresolved, take a look at the forum and post the specific issue.

ImportError: DLL load failed: The specified module could not be found.

One of the libraries needed has not been properly installed. As a work around, go to carla\Build\zlib-source\build, and copy the file named zlib.dll in the directory of the script.

ImportError: DLL load failed while importing libcarla: %1 is not a valid Win32 app.

A 32-bit Python version is creating conflicts when trying to run a script. Uninstall it and leave only the Python3 x64 required.

ImportError: No module named 'carla'

This error occurs because Python cannot find the CARLA library. The CARLA library is contained in an .egg file, located in the directory PythonAPI/carla/dist and all the example scripts will look for it in this directory. The .egg file follows the nomenclature of carla-<carla-version>-py<python-version>-<operating-system>.egg.

If you are using a packaged version of CARLA, there will be several .egg files, corresponding to different versions of Python, depending on the version of CARLA. Make sure you are running the scripts with one of these Python versions. To check the default Python version, type the following into the command line:

  python3 --version
  # or
  python --version 

If you built Python from source, the .egg file will be built according to the default Python version on your system. In Linux this will be the default Python version returned for:

  /usr/bin/env python3 --version
  # or if you specify ARGS="--python-version=2"
  /usr/bin/env python2 --version

In Windows it will be the default Python version for:

  py -3 --version

Make sure you are running your scripts with the version of Python that corresponds to your .egg file. In Linux, you may also need to set your Python path to point to the CARLA .egg. To do this, run the following command:

  export PYTHONPATH=$PYTHONPATH:<path/to/carla/>/PythonAPI/carla/dist/<your_egg_file>
  # Check if CARLA can now be found
  python3 -c 'import carla;print("Success")'

Be aware that virtual environments, or other Python environments like Conda, can complicate the installation of CARLA. Make sure you have set up your Python defaults and paths accordingly.


Other

Fatal error: 'version.h' has been modified since the precompiled header.

This happens from time to time due to Linux updates. There is a special target in the Makefile for this issue. It takes a long time but fixes the issue:

 make hard-clean
 make CarlaUE4Editor
Create a binary version of CARLA.

In Linux, run make package in the project folder. The package will include the project, and the Python API modules.

Alternatively, it is possible to compile a binary version of CARLA within Unreal Editor. Open the CarlaUE4 project, go to the menu File/Package Project, and select a platform. This may take a while.

Can I package CARLA for Windows on a Linux machine and vice versa?

Although this feature is available for Unreal Engine, it is not available in CARLA. We have a number of dependencies that are not supported to be cross compiled.