Upon trying to install it locally using the makepkg -si command, it asks for the "File to patch" multiple times, but there's only one patch file CMakeLists.patch. The diffs with the patch mention AirSim 1.3.1, but the latest PKGBUILD installs AirSim 1.7.0, leading to following errors.
What I tried
I edited the patch file to have the diffs mention AirSim version 1.7.0, and modified the patch file's sha256sum in the PKGBUILD accordingly, but the build is still failing, as shown below:
Error logs and relevant files
The error says that 1 out of 2 hunks failed, and it saves the rejects into the following file (src/AirSim-1.7.0-linux/cmake/cmake-modules/CommonSetup.cmake.rej):
What's not working
Upon trying to install it locally using the
makepkg -si
command, it asks for the "File to patch" multiple times, but there's only one patch fileCMakeLists.patch
. The diffs with the patch mention AirSim 1.3.1, but the latest PKGBUILD installs AirSim 1.7.0, leading to following errors.What I tried
I edited the patch file to have the diffs mention AirSim version 1.7.0, and modified the patch file's sha256sum in the PKGBUILD accordingly, but the build is still failing, as shown below:
Error logs and relevant files
The error says that 1 out of 2 hunks failed, and it saves the rejects into the following file (
src/AirSim-1.7.0-linux/cmake/cmake-modules/CommonSetup.cmake.rej
):Reject log file
``` --- AirSim-1.7.0-linux/cmake/cmake-modules/CommonSetup.cmake 2020-04-08 19:40:08.000000000 -0400 +++ AirSim-1.7.0-linux.new/cmake/cmake-modules/CommonSetup.cmake 2020-05-22 20:15:43.882542971 -0400 @@ -54,11 +55,12 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wstrict-aliasing -D__CLANG__") else () set(CMAKE_CXX_FLAGS "\ - -std=c++17 -stdlib=libc++ -ggdb -Wall -Wextra -Wstrict-aliasing -Wunreachable-code -Wcast-qual -Wctor-dtor-privacy \ + -std=c++17 -ggdb -Wall -Wextra -Wstrict-aliasing -Wunreachable-code -Wcast-qual -Wctor-dtor-privacy \ -Wdisabled-optimization -Wformat=2 -Winit-self -Wmissing-include-dirs -Wswitch-default \ -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wstrict-overflow=5 -Wswitch-default -Wundef \ -Wno-variadic-macros -Wno-parentheses -Wno-unused-function -Wno-unused -Wno-documentation -fdiagnostics-show-option \ -pthread \ + -fpermissive \ ${RPC_LIB_DEFINES} ${CMAKE_CXX_FLAGS}") if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") ```What else can be done to get both the "hunks" successful?
CMakeLists.patch (edited to include AirSim version 1.7.0 instead of 1.3.1)
``` diff --unified --recursive --text AirSim-1.7.0-linux/cmake/AirLib/CMakeLists.txt AirSim-1.7.0-linux.new/cmake/AirLib/CMakeLists.txt --- AirSim-1.7.0-linux/cmake/AirLib/CMakeLists.txt 2020-04-08 19:40:08.000000000 -0400 +++ AirSim-1.7.0-linux.new/cmake/AirLib/CMakeLists.txt 2020-05-22 20:14:03.895721024 -0400 @@ -28,6 +28,7 @@ CommonTargetLink() target_link_libraries(${PROJECT_NAME} ${RPC_LIB}) target_link_libraries(${PROJECT_NAME} MavLinkCom) +target_link_libraries(${PROJECT_NAME} Eigen3::Eigen) #string(SUBSTRING ${CMAKE_STATIC_LINKER_FLAGS} 9 -1 "BUILD_PLATFORM") #find_package(Threads REQUIRED) diff --unified --recursive --text AirSim-1.7.0-linux/cmake/CMakeLists.txt AirSim-1.7.0-linux.new/cmake/CMakeLists.txt --- AirSim-1.7.0-linux/cmake/CMakeLists.txt 2020-04-08 19:40:08.000000000 -0400 +++ AirSim-1.7.0-linux.new/cmake/CMakeLists.txt 2020-05-22 20:14:28.538801669 -0400 @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.5.0) project(AirSim) -add_subdirectory("rpclib_wrapper") add_subdirectory("AirLib") add_subdirectory("MavLinkCom") -add_subdirectory("AirLibUnitTests") add_subdirectory("HelloDrone") add_subdirectory("HelloCar") add_subdirectory("DroneShell") diff --unified --recursive --text AirSim-1.7.0-linux/cmake/cmake-modules/CommonSetup.cmake AirSim-1.7.0-linux.new/cmake/cmake-modules/CommonSetup.cmake --- AirSim-1.7.0-linux/cmake/cmake-modules/CommonSetup.cmake 2020-04-08 19:40:08.000000000 -0400 +++ AirSim-1.7.0-linux.new/cmake/cmake-modules/CommonSetup.cmake 2020-05-22 20:15:43.882542971 -0400 @@ -6,7 +6,8 @@ endmacro(CommonTargetLink) macro(IncludeEigen) - include_directories(${AIRSIM_ROOT}/AirLib/deps/eigen3) + find_package(Eigen3 REQUIRED) + include_directories(${Eigen_INCLUDE_DIRS}) endmacro(IncludeEigen) macro(AddExecutableSource) @@ -53,11 +54,12 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wstrict-aliasing -D__CLANG__") else () set(CMAKE_CXX_FLAGS "\ - -std=c++17 -stdlib=libc++ -ggdb -Wall -Wextra -Wstrict-aliasing -Wunreachable-code -Wcast-qual -Wctor-dtor-privacy \ + -std=c++17 -ggdb -Wall -Wextra -Wstrict-aliasing -Wunreachable-code -Wcast-qual -Wctor-dtor-privacy \ -Wdisabled-optimization -Wformat=2 -Winit-self -Wmissing-include-dirs -Wswitch-default \ -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wstrict-overflow=5 -Wswitch-default -Wundef \ -Wno-variadic-macros -Wno-parentheses -Wno-unused-function -Wno-unused -Wno-documentation -fdiagnostics-show-option \ -pthread \ + -fpermissive \ ${RPC_LIB_DEFINES} ${CMAKE_CXX_FLAGS}") if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") ```PKGBUILD (edited with modified sha256sum of edited CMakeLists.patch)
``` # Maintainer: acxz