worawit / blutter

Flutter Mobile Application Reverse Engineering Tool
MIT License
752 stars 128 forks source link

fatal error: 'source_location' file not found #38

Closed diduk228 closed 5 months ago

diduk228 commented 5 months ago

On mac os arm64 -- Build files have been written to: /Users/user/Downloads/blutter-main/build/blutter_dartvm2.19.6_android_arm64 [1/4] Building CXX object CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o FAILED: CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o /opt/homebrew/opt/llvm@15/bin/clang++ -DDART_COMPRESSED_POINTERS -DDART_PRECOMPILED_RUNTIME -DDART_TARGET_OS_ANDROID -DDART_TARGET_OS_WINDOWS_UWP -DEXCLUDE_CFE_AND_KERNEL_PLATFORM -DFRIDA_TEMPLATE_DIR=\"/Users/user/Downloads/blutter-main/scripts\" -DHAS_TYPE_REF -DNDEBUG -DPRODUCT -DTARGET_ARCH_ARM64 -DU_USING_ICU_NAMESPACE=0 -D_HAS_EXCEPTIONS=0 -I/opt/homebrew/Cellar/capstone/5.0.1/include/capstone -isystem /Users/user/Downloads/blutter-main/packages/include/dartvm2.19.6 -O3 -DNDEBUG -std=c++20 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk -fexperimental-library -O3 -fno-rtti -fvisibility=hidden -fvisibility-inlines-hidden -fno-omit-frame-pointer -Winvalid-pch -Xarch_arm64 -include/Users/user/Downloads/blutter-main/build/blutter_dartvm2.19.6_android_arm64/CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/cmake_pch_arm64.hxx -MD -MT CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o -MF CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o.d -o CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o -c /Users/user/Downloads/blutter-main/blutter/src/CodeAnalyzer_arm64.cpp /Users/user/Downloads/blutter-main/blutter/src/CodeAnalyzer_arm64.cpp:5:10: fatal error: 'source_location' file not found

include

     ^~~~~~~~~~~~~~~~~

1 error generated. [3/4] Building CXX object CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/main.cpp.o ninja: build stopped: subcommand failed. Traceback (most recent call last): File "/Users/user/Downloads/blutter-main/blutter.py", line 168, in main(args.indir, args.outdir, args.rebuild, args.vs_sln, args.no_analysis) File "/Users/user/Downloads/blutter-main/blutter.py", line 149, in main cmake_blutter(blutter_name, dartlib_name, name_suffix, macros) File "/Users/user/Downloads/blutter-main/blutter.py", line 92, in cmake_blutter subprocess.run([NINJA_CMD], cwd=builddir, check=True) File "/opt/homebrew/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 571, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1. user@MBP-User blutter-main % g++ --version Apple clang version 15.0.0 (clang-1500.1.0.2.5) Target: arm64-apple-darwin23.2.0

On linux the same -- Build files have been written to: /home/www/android/blutter/build/blutter_dartvm2.19.6_android_arm64 [1/17] Building CXX object CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o FAILED: CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o /usr/bin/c++ -DDART_COMPRESSED_POINTERS -DDART_PRECOMPILED_RUNTIME -DDART_TARGET_OS_ANDROID -DDART_TARGET_OS_WINDOWS_UWP -DEXCLUDE_CFE_AND_KERNEL_PLATFORM -DFRIDA_TEMPLATE_DIR=\"/home/www/android/blutter/scripts\" -DHAS_TYPE_REF -DNDEBUG -DPRODUCT -DTARGET_ARCH_ARM64 -DU_USING_ICU_NAMESPACE=0 -D_HAS_EXCEPTIONS=0 -I/usr/include/capstone -isystem /home/www/android/blutter/packages/include/dartvm2.19.6 -O3 -DNDEBUG -std=c++2a -O3 -fno-rtti -fvisibility=hidden -fvisibility-inlines-hidden -fno-omit-frame-pointer -Winvalid-pch -include /home/www/android/blutter/build/blutter_dartvm2.19.6_android_arm64/CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/cmake_pch.hxx -MD -MT CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o -MF CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o.d -o CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/CodeAnalyzer_arm64.cpp.o -c /home/www/android/blutter/blutter/src/CodeAnalyzer_arm64.cpp /home/www/android/blutter/blutter/src/CodeAnalyzer_arm64.cpp:5:10: fatal error: source_location: No such file or directory 5 | #include | ^~~~~ compilation terminated. [3/17] Building CXX object CMakeFiles/blutter_dartvm2.19.6_android_arm64.dir/src/DartDumper.cpp.o ninja: build stopped: subcommand failed. Traceback (most recent call last): File "/home/www/android/blutter/blutter.py", line 168, in main(args.indir, args.outdir, args.rebuild, args.vs_sln, args.no_analysis) File "/home/www/android/blutter/blutter.py", line 149, in main cmake_blutter(blutter_name, dartlib_name, name_suffix, macros) File "/home/www/android/blutter/blutter.py", line 92, in cmake_blutter subprocess.run([NINJA_CMD], cwd=builddir, check=True) File "/usr/lib/python3.9/subprocess.py", line 528, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1.

www@vps2452:~/android/blutter$ g++ --version g++ (Debian 10.2.1-6) 10.2.1 20210110

yzctzl commented 5 months ago

as mentioned in the project readme file, build need c++20, should use gcc >= 13 or clang >= 15 https://github.com/worawit/blutter#environment-setup https://en.cppreference.com/w/cpp/utility/source_location

worawit commented 5 months ago

The building script on macOS was broken. source_location header is in clang version >= 16. On macOS, install llvm@16 and try with latest commit. On Linux, use Debian 13 (trixie) or Ubuntu 23.10.

diduk228 commented 5 months ago

The building script on macOS was broken. source_location header is in clang version >= 16. On macOS, install llvm@16 and try with latest commit. On Linux, use Debian 13 (trixie) or Ubuntu 23.10.