Problems about installing the smooth-lane-change version of SUMO on Linux from sources

I try to install the master branch version of SUMO, it seems the installation is successful.

[ 0%] Built target generate-version-h
[ 0%] Built target foreign_tcpip
[ 0%] Built target mesogui
[ 1%] Built target foreign_phemlight
[ 3%] Built target libsumostatic
[ 4%] Built target mesosim
[ 9%] Built target microsim
[ 10%] Built target microsim_actions
[ 12%] Built target microsim_cfmodels
[ 12%] Built target microsim_engine
[ 15%] Built target microsim_devices
[ 16%] Built target microsim_lcmodels
[ 16%] Built target microsim_pedestrians
[ 17%] Built target microsim_trigger
[ 20%] Built target microsim_output
[ 24%] Built target microsim_traffic_lights
[ 25%] Built target osgview
[ 26%] Built target utils_common
[ 28%] Built target traciserver
[ 29%] Built target netload
[ 30%] Built target utils_distribution
[ 30%] Built target utils_emissions
[ 31%] Built target utils_geom
[ 32%] Built target utils_iodevices
[ 32%] Built target utils_importio
[ 33%] Built target utils_options
[ 35%] Built target utils_xml
[ 36%] Built target utils_vehicle
[ 37%] Built target utils_shapes
[ 39%] Built target utils_gui_div
[ 41%] Built target utils_foxtools
[ 42%] Built target utils_gui_globjects
[ 42%] Built target utils_gui_images
[ 43%] Built target utils_gui_settings
[ 44%] Built target utils_gui_tracker
[ 44%] Built target utils_gui_shortcuts
[ 44%] Built target utils_gui_cursors
[ 45%] Built target utils_gui_windows
[ 45%] Built target gui_dialogs
[ 46%] Built target guinetload
[ 48%] Built target gui
[ 49%] Built target od
[ 49%] Built target sumo
[ 52%] Built target guisim
[ 56%] Built target netbuild
[ 56%] Built target foreign_eulerspiral
[ 59%] Built target netimport
[ 59%] Built target netimport_vissim
[ 60%] Built target activitygen_activities
[ 63%] Built target netimport_vissim_tempstructs
[ 64%] Built target netwrite
[ 71%] Built target netimport_vissim_typeloader
[ 72%] Built target libsumo_swig_compilation
[ 73%] Built target activitygen_city
[ 75%] Built target router
[ 75%] Built target emissionsMap
[ 76%] Built target netgenerate
[ 78%] Built target polyconvert
[ 79%] Built target emissionsDrivingCycle
[ 80%] Built target utils_traci
[ 80%] Built target netedit_demandelements
[ 80%] Built target testlibsumo
[ 84%] Built target netedit_additionals
[ 86%] Built target netedit_changes
[ 88%] Built target netedit_dialogs
[ 89%] Built target netedit_netelements
[ 91%] Built target netedit_frames
[ 92%] Built target testcommon
[ 93%] Built target testgeom
[ 93%] Built target testmicrosim
[ 93%] Built target testfoxtools
[ 94%] Built target testnetbuild
[ 94%] Built target od2trips
[ 94%] Built target netconvert
[ 94%] Built target sumo-gui
[ 95%] Built target activitygen
[ 96%] Built target dfrouter
[ 96%] Built target duarouter
[ 97%] Built target jtrrouter
[ 98%] Built target marouter
[ 98%] Built target TraCITestClient
[100%] Built target netedit
[100%] Built target _libsumo

But the smooth-lane-change branch version of SUMO, https://github.com/octavdragoi/sumo, still cannot be installed successfully, the error information is as below

john@john-virtual-machine:~/Documents/sumo/build/cmake-build$ make -j$(nproc)
[ 1%] Built target foreign_tcpip
[ 2%] Built target od
[ 3%] Built target generate-version-h
[ 4%] Built target utils_xml
Scanning dependencies of target utils_importio
[ 5%] Built target utils_common
[ 6%] Built target utils_distribution
[ 6%] Building CXX object src/utils/geom/CMakeFiles/utils_geom.dir/GeoConvHelper.cpp.o
Scanning dependencies of target utils_iodevices
Scanning dependencies of target utils_options
[ 6%] Building CXX object src/utils/importio/CMakeFiles/utils_importio.dir/LineReader.cpp.o
[ 6%] Building CXX object src/utils/iodevices/CMakeFiles/utils_iodevices.dir/OutputDevice.cpp.o
[ 7%] Building CXX object src/utils/options/CMakeFiles/utils_options.dir/Option.cpp.o
In file included from /home/john/Documents/sumo/src/utils/geom/GeoConvHelper.h:34,
from /home/john/Documents/sumo/src/utils/geom/GeoConvHelper.cpp:35:
/usr/include/proj_api.h:37:2: error: #error ‘To use the proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H’
37 | #error ‘To use the proj_api.h you must define the macro ACCEPT_USE_OF_DEPRECATED_PROJ_API_H’
| ^~~~~
[ 7%] Building CXX object src/utils/importio/CMakeFiles/utils_importio.dir/NamedColumnsParser.cpp.o
In file included from /home/john/Documents/sumo/src/utils/geom/GeoConvHelper.h:31,
from /home/john/Documents/sumo/src/utils/geom/GeoConvHelper.cpp:35:
/home/john/Documents/sumo/src/utils/geom/Boundary.h: In member function ‘Boundary& Boundary::operator=(const Boundary&)’:
/home/john/Documents/sumo/src/utils/geom/Boundary.h:42:7: warning: implicitly-declared ‘AbstractPoly& AbstractPoly::operator=(const AbstractPoly&)’ is deprecated [-Wdeprecated-copy]
42 | class Boundary : public AbstractPoly {
| ^~~~~~~~
In file included from /home/john/Documents/sumo/src/utils/geom/PositionVector.h:30,
from /home/john/Documents/sumo/src/utils/geom/GeomHelper.h:31,
from /home/john/Documents/sumo/src/utils/geom/GeoConvHelper.cpp:32:
/home/john/Documents/sumo/src/utils/geom/AbstractPoly.h:42:5: note: because ‘AbstractPoly’ has user-provided ‘AbstractPoly::AbstractPoly(const AbstractPoly&)’
42 | AbstractPoly(const AbstractPoly&) { }
| ^~~~~~~~~~~~
In file included from /home/john/Documents/sumo/src/utils/geom/GeoConvHelper.cpp:35:
/home/john/Documents/sumo/src/utils/geom/GeoConvHelper.h: In member function ‘void GeoConvHelper::setConvBoundary(const Boundary&)’:
/home/john/Documents/sumo/src/utils/geom/GeoConvHelper.h:141:26: note: synthesized method ‘Boundary& Boundary::operator=(const Boundary&)’ first required here
141 | myConvBoundary = boundary;
| ^~~~~~~~
make[2]: *** [src/utils/geom/CMakeFiles/utils_geom.dir/build.make:102: src/utils/geom/CMakeFiles/utils_geom.dir/GeoConvHelper.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3624: src/utils/geom/CMakeFiles/utils_geom.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
[ 7%] Building CXX object src/utils/options/CMakeFiles/utils_options.dir/OptionsCont.cpp.o
[ 7%] Linking CXX static library libutils_importio.a
[ 7%] Built target utils_importio
[ 7%] Building CXX object src/utils/options/CMakeFiles/utils_options.dir/OptionsIO.cpp.o
[ 7%] Building CXX object src/utils/options/CMakeFiles/utils_options.dir/OptionsLoader.cpp.o
[ 7%] Building CXX object src/utils/iodevices/CMakeFiles/utils_iodevices.dir/BinaryFormatter.cpp.o
[ 7%] Building CXX object src/utils/options/CMakeFiles/utils_options.dir/OptionsParser.cpp.o
/home/john/Documents/sumo/src/utils/iodevices/BinaryFormatter.cpp: In member function ‘virtual void BinaryFormatter::openTag(std::ostream&, const string&)’:
/home/john/Documents/sumo/src/utils/iodevices/BinaryFormatter.cpp:93:82: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
93 | openTag(into, (const SumoXMLTag)(SUMOXMLDefinitions::Tags.get(xmlElement)));
| ^
[ 8%] Building CXX object src/utils/iodevices/CMakeFiles/utils_iodevices.dir/BinaryInputDevice.cpp.o
[ 8%] Building CXX object src/utils/iodevices/CMakeFiles/utils_iodevices.dir/OutputDevice_CERR.cpp.o
[ 8%] Building CXX object src/utils/iodevices/CMakeFiles/utils_iodevices.dir/OutputDevice_COUT.cpp.o
[ 8%] Building CXX object src/utils/iodevices/CMakeFiles/utils_iodevices.dir/OutputDevice_File.cpp.o
[ 8%] Building CXX object src/utils/iodevices/CMakeFiles/utils_iodevices.dir/OutputDevice_String.cpp.o
[ 8%] Building CXX object src/utils/iodevices/CMakeFiles/utils_iodevices.dir/OutputDevice_Network.cpp.o
[ 8%] Linking CXX static library libutils_options.a
[ 8%] Built target utils_options
[ 8%] Building CXX object src/utils/iodevices/CMakeFiles/utils_iodevices.dir/PlainXMLFormatter.cpp.o
[ 8%] Linking CXX static library libutils_iodevices.a
[ 8%] Built target utils_iodevices
make: *** [Makefile:141: all] Error 2

I’m wondering if I should define the macro ACCEP_USE_OF
DEPRECATED_PROJ_API_H. But it’s a little difficult for me, I didn’t know
much about the compiler or C++.

Thanks in advance.

Maybe you can try out this solution: link