Ros2 stil gazebo

When I installed ros2 and gazebo harmonic including stil, etc.,I installed it according to the official tutorial ROS 2 with Gazebo — Dev documentation the previous installation was normal,To the build this step colcon build --packages-up-to ardupilot_gz_bringup,It keeps prompting me that the memory is insufficient, I’ve expanded the content a lot, but it still doesn’t work, the memory expands to 40GB, and it says that the number of bytes required is much longer than my computer: here’s my error:
当我安装了 ros2 和 gazebo harmonic 包括 stil 等,我按照官方教程 ROS 2 with Gazebo — Dev documentation 进行安装,之前的安装是正常的,在构建这一步 colcon build --packages-up-to ardupilot_gz_bringup 时,它一直提示内存不足,我已经扩展了很多内容,但仍然不起作用,内存扩展到 40GB,但它说所需的字节数远远超过我的电脑:这是我的错误:~/ardu_ws$ colcon build --packages-up-to ardupilot_gz_bringup ardupilot_sitl ardupilot_gazebo ardupilot_gz_application ardupilot_gz_description ardupilot_gz_gazebo
[0.426s] WARNING:colcon.colcon_ros.prefix_path.ament:The path ‘/home/zhenli/ardu_ws/install/ardupilot_gz_application’ in the environment variable AMENT_PREFIX_PATH doesn’t exist
[0.426s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path ‘/home/zhenli/ardu_ws/install/ardupilot_gz_application’ in the environment variable CMAKE_PREFIX_PATH doesn’t exist
Starting >>> ardupilot_gazebo
Starting >>> ardupilot_msgs
Starting >>> micro_ros_agent
Starting >>> ros_gz_interfaces
Starting >>> sdformat_test_files
Starting >>> ardupilot_gz_description
Starting >>> ardupilot_gz_gazebo
Starting >>> ros_gz_sim
Finished <<< ardupilot_gz_description [0.25s]
Starting >>> ardupilot_gz_application
Finished <<< sdformat_test_files [0.29s]
Starting >>> sdformat_urdf
Finished <<< ardupilot_gz_gazebo [0.31s]
Finished <<< ardupilot_gazebo [0.35s]
Finished <<< micro_ros_agent [0.36s]
Starting >>> ardupilot_sitl_models
Finished <<< ros_gz_sim [0.38s]
Finished <<< ardupilot_sitl_models [0.18s]
Finished <<< sdformat_urdf [0.35s]
Finished <<< ros_gz_interfaces [0.66s]
Starting >>> ros_gz_bridge
Finished <<< ardupilot_msgs [0.69s]
Starting >>> ardupilot_sitl
Finished <<< ros_gz_bridge [0.29s]
Finished <<< ardupilot_gz_application [0.97s]
— stderr: ardupilot_sitl

/usr/bin/ld: out of memory allocating 6417423803996507972 bytes after a total of 100077568 bytes
collect2: error: ld returned 1 exit status

Build failed
→ task in ‘bin/antennatracker’ failed (exit status 1):
{task 138380585785984: cxxprogram GCS_MAVLink_Tracker.cpp.46.o,GCS_Tracker.cpp.46.o,Log.cpp.46.o,Parameters.cpp.46.o,RC_Channel_Tracker.cpp.46.o,Tracker.cpp.46.o,mode.cpp.46.o,mode_auto.cpp.46.o,mode_guided.cpp.46.o,mode_manual.cpp.46.o,mode_scan.cpp.46.o,mode_servotest.cpp.46.o,radio.cpp.46.o,sensors.cpp.46.o,servos.cpp.46.o,system.cpp.46.o,tracking.cpp.46.o → antennatracker}
(run with -v to display more information)
gmake[2]: *** [CMakeFiles/ardupilot_build.dir/build.make:70: CMakeFiles/ardupilot_build] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:168: CMakeFiles/ardupilot_build.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2

Failed <<< ardupilot_sitl [4.96s, exited with code 2]

Summary: 12 packages finished [6.04s]
1 package failed: ardupilot_sitl
1 package had stderr output: ardupilot_sitl
1 package not processed

/usr/bin/ld: out of memory allocating 6417423803996507972 bytes after a total of 100077568 bytes