Repository: carla-simulator/carla

Issue #8006: make PythonAPI crashes with 'int64_t' error
Created: 2024-07-31T13:20:54Z
Hello!
Platform/OS: Ubuntu 20.04
CARLA version: recent version from repo
Problem you have experienced:
I want to build carla. I followed the description here: https://carla.readthedocs.io/en/latest/build_linux/. After the installation of the Unreal Engine, cloning the carla repo and downloading the assets, I tried to do "make PythonAPI".
I get following error message:
FAILED: src/CMakeFiles/proj.dir/proj_json_streaming_writer.cpp.o  /home/user/UnrealEngine_4.26/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++  -DMUTEX_pthread -DPROJ_LIB=\"/home/user/UnrealEngine_4.26/Engine/Binaries/Linux/carla/Build/proj-install/share/proj\" -I../src -I../include -Isrc -I/home/user/UnrealEngine_4.26/Engine/Binaries/Linux/carla/Build/sqlite-install/include -std=c++14 -fPIC -O3 -DNDEBUG -fvisibility=hidden   -Wall -Wextra -Wswitch -Wshadow -Wunused-parameter -Wmissing-declarations -Wformat -Wformat-security -Wfloat-conversion -std=c++11 -MD -MT src/CMakeFiles/proj.dir/proj_json_streaming_writer.cpp.o -MF src/CMakeFiles/proj.dir/proj_json_streaming_writer.cpp.o.d -o src/CMakeFiles/proj.dir/proj_json_streaming_writer.cpp.o -c ../src/proj_json_streaming_writer.cpp In file included from ../src/proj_json_streaming_writer.cpp:34: ../src/proj_json_streaming_writer.hpp:42:9: error: no type named 'int64_t' in namespace 'std'; did you mean simply 'int64_t'? typedef std::int64_t GIntBig; ^~~~~~~~~~~~ int64_t /usr/include/x86_64-linux-gnu/bits/stdint-intn.h:27:19: note: 'int64_t' declared here typedef __int64_t int64_t; ^ In file included from ../src/proj_json_streaming_writer.cpp:34: ../src/proj_json_streaming_writer.hpp:43:9: error: no type named 'uint64_t' in namespace 'std'; did you mean simply 'uint64_t'? typedef std::uint64_t GUInt64; ^~~~~~~~~~~~~ uint64_t /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:27:20: note: 'uint64_t' declared here typedef __uint64_t uint64_t; ^ In file included from ../src/proj_json_streaming_writer.cpp:34: ../src/proj_json_streaming_writer.hpp:93:10: error: class member cannot be redeclared void Add(GIntBig nVal); ^ ../src/proj_json_streaming_writer.hpp:91:10: note: previous definition is here void Add(int nVal) { Add(static_cast<GIntBig>(nVal)); } ^ ../src/proj_json_streaming_writer.hpp:94:10: error: class member cannot be redeclared void Add(GUInt64 nVal); ^ ../src/proj_json_streaming_writer.hpp:91:10: note: previous definition is here void Add(int nVal) { Add(static_cast<GIntBig>(nVal)); } ^ ../src/proj_json_streaming_writer.cpp:45:9: error: no type named 'uint64_t' in namespace 'std'; did you mean simply 'uint64_t'? typedef std::uint64_t GUIntBig; ^~~~~~~~~~~~~ uint64_t /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:27:20: note: 'uint64_t' declared here typedef __uint64_t uint64_t; ^ ../src/proj_json_streaming_writer.cpp:238:30: error: redefinition of 'Add' void CPLJSonStreamingWriter::Add(GIntBig nVal) ^ ../src/proj_json_streaming_writer.hpp:91:10: note: previous definition is here void Add(int nVal) { Add(static_cast<GIntBig>(nVal)); } ^ 6 errors generated. [57/205] Generating proj.db ninja: build stopped: subcommand failed. make: *** [Util/BuildTools/Linux.mk:142: setup] Error 1 
What you expected to happen: I would expect after following exactly the description in https://carla.readthedocs.io/en/latest/build_linux/, that the build would finish sucessfully.
Other information (documentation you consulted, workarounds you tried): On my system a working Carla installation was there before. Unfortunately it was broken and I decided to go for a new installation. So my system is not a clean system. I found the issue about using a dockercontainer for the build (#6776). I am not familiar with vscode and docker containers, therefore I did not understand what do from this solution. I hope that maybe someone could give me some advice what else, apart from using a container, could help or which tests I could perform to understand better the true source of my problem.
Thank you very much!
-->

Duplicate issue #8274: Linking error with libproj.a during make launch in Carla 0.9.15 on Ubuntu 20.04
Created: 2024-10-13T09:46:16Z
Carla Version: 0.9.15
OS: Ubuntu 20.04
Compiler: Clang 10.0.1
Issue: Linking error with libproj.a during the make launch step
I am building Carla 0.9.15 on Ubuntu 20.04. While make PythonAPI succeeds without errors, I encounter several undefined symbol errors during the make launch step, particularly related to osgeo::proj::CPLJSonStreamingWriter. Here are the errors:
ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::AddObjKey(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
referenced by singleoperation.cpp singleoperation.cpp.o:(osgeo::proj::operation::OperationMethod::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /path/to/libproj.a

and many other similar undefined symbol errors.
Steps to Reproduce:
Build Carla 0.9.15 on Ubuntu 20.04.
Use Clang 10.0.1 for compilation.
Run make PythonAPI successfully (PROJ_VERSION=proj-7.2.1).
Run make launch and encounter the linking errors.
[23/29] Compile CarlaUE4.cpp
4 warnings generated.
8 warnings generated.
4 warnings generated.
4 warnings generated.
4 warnings generated.
4 warnings generated.
4 warnings generated.
4 warnings generated.
6 warnings generated.
3 warnings generated.
10 warnings generated.
15 warnings generated.
26 warnings generated.
14 warnings generated.
32 warnings generated.
[24/29] Link (lld) libUE4Editor-Carla.so
[25/29] Link (lld) libUE4Editor-StreetMapRuntime.so
[26/29] Link (lld) libUE4Editor-CarlaUE4.so
[27/29] Link (lld) libUE4Editor-StreetMapImporting.so
[28/29] Link (lld) libUE4Editor-CarlaTools.so
ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::AddObjKey(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
>>> referenced by singleoperation.cpp
>>>               singleoperation.cpp.o:(osgeo::proj::operation::OperationMethod::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by singleoperation.cpp
>>>               singleoperation.cpp.o:(osgeo::proj::operation::OperationParameterValue::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by singleoperation.cpp
>>>               singleoperation.cpp.o:(osgeo::proj::operation::OperationParameterValue::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by singleoperation.cpp
>>>               singleoperation.cpp.o:(osgeo::proj::operation::OperationParameterValue::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by singleoperation.cpp
>>>               singleoperation.cpp.o:(osgeo::proj::operation::OperationParameterValue::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystemAxis::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystemAxis::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystemAxis::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystemAxis::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystemAxis::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced 114 more times

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::Add(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
>>> referenced by singleoperation.cpp
>>>               singleoperation.cpp.o:(osgeo::proj::operation::OperationMethod::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by singleoperation.cpp
>>>               singleoperation.cpp.o:(osgeo::proj::operation::OperationParameterValue::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by singleoperation.cpp
>>>               singleoperation.cpp.o:(osgeo::proj::operation::OperationParameterValue::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by singleoperation.cpp
>>>               singleoperation.cpp.o:(osgeo::proj::operation::OperationParameterValue::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystemAxis::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystemAxis::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystemAxis::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystemAxis::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystem::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by io.cpp
>>>               io.cpp.o:(osgeo::proj::io::JSONFormatter::ObjectContext::ObjectContext(osgeo::proj::io::JSONFormatter&, char const*, bool)) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced 42 more times

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::Add(double, int)
>>> referenced by singleoperation.cpp
>>>               singleoperation.cpp.o:(osgeo::proj::operation::OperationParameterValue::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::PrimeMeridian::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::PrimeMeridian::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::Ellipsoid::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::Ellipsoid::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::Ellipsoid::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::Ellipsoid::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::Ellipsoid::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::GeodeticReferenceFrame::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::VerticalReferenceFrame::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced 5 more times

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::StartArray()
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystem::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::CompoundCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::DatumEnsemble::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::IdentifiedObject::formatID(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::ObjectUsage::baseExportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by conversion.cpp
>>>               conversion.cpp.o:(osgeo::proj::operation::Conversion::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by concatenatedoperation.cpp
>>>               concatenatedoperation.cpp.o:(osgeo::proj::operation::ConcatenatedOperation::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by transformation.cpp
>>>               transformation.cpp.o:(osgeo::proj::operation::Transformation::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by projbasedoperation.cpp
>>>               projbasedoperation.cpp.o:(osgeo::proj::operation::PROJBasedOperation::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::EndArray()
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystem::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by coordinatesystem.cpp
>>>               coordinatesystem.cpp.o:(osgeo::proj::cs::CoordinateSystem::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::CompoundCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::CompoundCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::DatumEnsemble::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::DatumEnsemble::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::IdentifiedObject::formatID(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::IdentifiedObject::formatID(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::ObjectUsage::baseExportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::ObjectUsage::baseExportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced 8 more times

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::SetIndentationSize(int)
>>> referenced by io.cpp
>>>               io.cpp.o:(osgeo::proj::io::JSONFormatter::setIndentationWidth(int)) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::~CPLJSonStreamingWriter()
>>> referenced by io.cpp
>>>               io.cpp.o:(osgeo::proj::io::JSONFormatter::~JSONFormatter()) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by io.cpp
>>>               io.cpp.o:(osgeo::proj::io::JSONFormatter::Private::Private()) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::StartObj()
>>> referenced by io.cpp
>>>               io.cpp.o:(osgeo::proj::io::JSONFormatter::ObjectContext::ObjectContext(osgeo::proj::io::JSONFormatter&, char const*, bool)) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::DatumEnsemble::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::ObjectDomain::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::ObjectUsage::baseExportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::Add(char const*)
>>> referenced by io.cpp
>>>               io.cpp.o:(osgeo::proj::io::JSONFormatter::ObjectContext::ObjectContext(osgeo::proj::io::JSONFormatter&, char const*, bool)) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::DerivedCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::GeodeticCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::GeographicCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::VerticalCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::ProjectedCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::CompoundCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::TemporalCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::EngineeringCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by crs.cpp
>>>               crs.cpp.o:(osgeo::proj::crs::ParametricCRS::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced 15 more times

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::EndObj()
>>> referenced by io.cpp
>>>               io.cpp.o:(osgeo::proj::io::JSONFormatter::ObjectContext::~ObjectContext()) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::DatumEnsemble::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by datum.cpp
>>>               datum.cpp.o:(osgeo::proj::datum::DatumEnsemble::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::ObjectDomain::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::ObjectDomain::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::ObjectUsage::baseExportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::ObjectUsage::baseExportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::CPLJSonStreamingWriter(void (*)(char const*, void*), void*)
>>> referenced by io.cpp
>>>               io.cpp.o:(osgeo::proj::io::JSONFormatter::Private::Private()) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a

ld.lld: error: undefined symbol: osgeo::proj::CPLJSonStreamingWriter::Add(long)
>>> referenced by common.cpp
>>>               common.cpp.o:(osgeo::proj::common::UnitOfMeasure::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
>>> referenced by metadata.cpp
>>>               metadata.cpp.o:(osgeo::proj::metadata::Identifier::_exportToJSON(osgeo::proj::io::JSONFormatter*) const) in archive /home/lxx/carla/carla/Unreal/CarlaUE4/Plugins/Carla/CarlaDependencies/lib/libproj.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Makefile:315: CarlaUE4Editor] Error 6
make[1]: Leaving directory '/home/lxx/carla/carla/Unreal/CarlaUE4'
make: *** [Util/BuildTools/Linux.mk:8: launch] Error 2

Closing comment (2024-10-15T15:59:00Z): I have resolved the issue. The problem was similar to #8006 and #6474 so I followed the information provided there and modified setup.sh, but it resulted in an error when running make launch.
The correct solution was to change the PROJ_VERSION  to 9.3.0 on my system, without any additional modifications.