13:48:01 hi 14:02:00 I tried to build monero from the source code to hopefully get the code assistant to find all names in the source code. 14:02:01 However even after installing MSYS2 and using the command: 14:02:01 > pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-unbound 14:02:02 The codeAnalysis tools on Visual Studio Code "clangd" (clangTidy) and even "C/C++" (intelliSense) can't make sense of the source code. 14:02:02 I can't believe that monero core devs are dealing with error lens issues, so what exactly must I do so all headers are found correctly? 14:06:04 I mean is needed so that codeAnalysis can understand the code? 14:06:10 *what 14:07:45 Did you build the source code? Code analysis will use CMakeLists.txt or whatever build files it can find, I guess. So you need to make sure it all builds without errors. 14:09:13 I used the command: make release-static-win64 14:09:42 and did it finish without errors? 14:11:44 It finished with this: 14:11:45 [100%] Linking CXX executable ../../bin/monero-blockchain-prune-known-spent-data.exe 14:11:45 [100%] Built target blockchain_prune_known_spent_data 14:11:46 [100%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_prune.dir/blockchain_prune.cpp.obj 14:11:46 [100%] Linking CXX executable ../../bin/monero-blockchain-prune.exe 14:11:47 [100%] Built target blockchain_prune 14:11:47 make[2]: warning:  Clock skew detected.  Your build may be incomplete. 14:11:48 make[1]: Leaving directory '/h/500_WORKSPACE/monero/build/MINGW64_NT-10.0-19045/master/release' 14:12:24 There were no errors, just warnings. 14:12:34 And it completed with 100% 14:13:25 Then refer to the code analysis documentation or whatever you use. If it doesn't support using CMake files, you're out of luck. 14:13:39 It does. 14:14:53 Not sure why you assumed that there is a compatibility with CMake files. 14:14:59 *issue 14:15:22 Do you have a working environment? 14:15:56 I do 14:16:00 But I don't use vscode 14:16:13 and code analysis plugin or whatever it is 14:16:42 so refer to their documentation to debug why they can't find header files 14:17:05 it's probably because you're running it outside of MSYS2 environment and it can't find all header paths (my guess) 14:18:28 How does your setup look? 14:18:57 How can I replicate yours so that everything is found? 14:19:35 Just a standard MSYS2 installation, and following Monero build instructions 14:19:42 I don't use VSCode and code analysis plugin 14:20:14 This is what I mean by it cannot find the headers: 14:20:15 https://i.ibb.co/Ss1f7fn/Capture.png 14:22:01 warnings.h is in contrib/epee/include folder. The include path must be somewhere in the CMake files, otherwise it wouldn't have compiled. 14:22:19 So it's a matter of your tools not picking up everything 14:24:13 Thanks for the clarification. 14:26:17 Also, this is main.cpp in tests folder. IIRC it doesn't compile when you just run make release-static-win64 14:26:41 So there are no generated CMake files for this specific folder 14:29:59 sech1 so how do I run main.cpp? 14:31:02 I am aware that there are instructions on how to build the test files but this probably does not fic code analysis 14:31:05 *fix 14:31:12 "make release-test" to build tests 14:32:06 I don't know if it will fix the code analysis, you're the first one trying this 14:32:34 What about your code analysis? Does it mark everything as errors? 14:33:21 Monero repository uses Coverity for code analysis 14:33:45 They can't fix setup issues with every other code analysis tool under the sun 14:37:37 No, I am asking because I am thinking about using a different environment with a compatible code analysis tool. 14:39:52 Built-in compiler warnings + Coverity reports is what I have for Monero repo. Some other tools like PVS Studio and cppcheck also work just fine, but I rarely use them with Monero repo. You're welcome to provide a patch that will enable code analysis in VSCode. 14:43:35 I would maybe if I get it to work before loosing patience and switching environments. 14:54:02 Why are there source files that include themselves without any other content? 14:54:02 filename crypto-ops.c in directory crypto-ops... content: #include "crypto/crypto-ops.c" 14:54:28 filename crypto-ops.c in directory crypto... content:  "crypto/crypto-ops.c" 14:54:46 .... 14:54:47 ... 14:54:48 ... 14:55:07 Why are there source files that include themselves without any other content? 14:55:07 filename crypto-ops.c in directory crypto... content:  #include "crypto/crypto-ops.c" 15:00:51 what? It doesn't include crypto-ops.c 15:01:03 It includes crypto-ops.h 15:02:12 Please verify 15:02:40 #include "crypto/crypto-ops.c" 15:02:40 are the contents of crypto-ops.c 15:02:53 which is in the directory crypto 15:06:51 https://github.com/monero-project/monero/blob/master/src/crypto/crypto-ops.c 15:06:59 Try to find #include "crypto/crypto-ops.c" there 15:10:38 Yes it is there. 15:11:15 I can't find: #include 15:11:53 This should have been already installed via: 15:11:53 > pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-unbound 15:14:30 There is no #include "crypto/crypto-ops.c" in https://github.com/monero-project/monero/blob/master/src/crypto/crypto-ops.c - do a search in the browser window for this file. Your crypto-ops.c was corrupt by something. 15:16:18 https://github.com/monero-project/monero/blob/master/tests/crypto/crypto-ops.c 15:17:31 I ran this via command prompt: 15:17:31 git clone --recursive https://github.com/monero-project/monero.git 15:18:52 Isn’t this the test importing the implementation? 15:19:37 yes it is 15:20:21 it's just a test code 15:20:58 So… it’s not importing itself. A test is importing what needs to be tested. The actual tests will lie somewhere else, check which files import that test file. 15:21:18 #include I don't have that 15:21:36 but I installed this: 15:21:37 >  pacman -S mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-unbound 15:22:07 Search for boost files in msys64 folder, they will be there 15:26:15 I added this to my environment variables and it is also recognized when called via gcc --version: C:\msys64\mingw64\bin 15:26:16 And I also have C:\msys64\mingw64\include\boost and there is also optional.cpp in it 15:26:26 why the f is it not recognized? 15:27:21 I'll restart my system 15:31:26 nope still can't find boost/optional.cpp although it literally is there 17:08:48 Just gonna warn you because I did this and it ruined my arch setup— 17:08:50 Be very VERY careful if you try to change the version of boost on your system 17:09:17 Or try to manually build it 17:09:18 Basically if you mess with boost things get bad rly rly fast 17:43:06 p​reland: and I thought aready that boost seems like a pain in the ass 18:17:57 --extra-entropy argument for monero-wallet-rpc, will speed up the start or "only" help for better entropy? 18:38:29 manually building boost is easy enough. just don't try to install it anywhere. point the Monero build at the boost staging directory instead. 18:39:36 Hello 20:22:42 I tried that, and my linker literally wouldn’t listen to the cmake file 23:21:02 I'm devastated. How do I build without HIDAPI? Or better without the absolut minimum, I need only `monero-wallet-rpc` and only --offline, without zmq without libhidapi-libusb.so.0, and as static as possible on armv6, I need to build on pi zero w, I still have my build and with ccache on a microSD, what is the shortest path to get a f... build working without external dependencies? I build on PiOS, but the executable goes to a sttripped down buildroot image. 23:21:03 Any help appreciated. Thanks for reading. Need to go now first to get some fresh air. 23:22:05 And best would be realy to only build monero-wallet-rpc, and let aside all what is not needed... pi zero needs 20+ hours to compile....