Gradle differences between Linux and MacOS behavior with respect to up-to-date handling - gradle

I've got a large Gradle build script that I run on several different platforms. I was very surprised to discover that it gets (or appears to get) out-of-date checking wrong on Linux.
I tried to get some feedback from a forum post:
https://discuss.gradle.org/t/macos-vs-linux-and-up-to-date-checking/44499
but no joy. Any clues most joyfully accepted.

Related

GPU Compute unavailable in wsl2 in new build?

I’m in the windows insider program to utilize the gpu-compute features that were implemented last summer. Things have worked great. However, after updating to the most recent build, nvidia-smi no longer works. I get an error saying “your operating system doesn’t allow it”
https://blogs.windows.com/windows-insider/2021/04/07/announcing-windows-10-insider-preview-build-21354/
This is the release doc. I’m unsure whether my error is a result of the last bullet point in the known issues section, or if my driver has somehow been corrupted, or if something needs to be toggled back on in windows.
Correct, it not working in this build (21354).
If you have already updated you can try to rollback to the last build. Go to Settings -> Update&Security -> Recovery and select "Go back to the previous version of Windows 10".
Known issue. Should be resolved in next build. The issue can be tracked here:
https://github.com/microsoft/WSL/issues/6773
Update: It has been resolved as of build 21359

FAILURE: Build failed with an exception. Gradle not working on bash on Ubuntu on Windows

I'm trying to figure out how to use gradle on bash on Ubuntu on Windows, but all the tutorials assume that everything goes smoothly and I keep getting this error:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred starting process 'Gradle build daemon'
I tried to post code from the stacktrace here, but it was impossible to format as code on this form. The "code" button doesn't do anything and I wasn't even able to use 4 spaces in parts of my code to manually format it. I am extremely intelligent, but I have never used gradle successfully before (and this form being wonky is double frustrating) and I've worked dozens of hours to find a useful tutorial for someone like me who has run many complex programs in compilers, but never used a build tool before. Frankly, no one has ever told me what a build tool is useful for (other than basic scripting which I understand) and the information is hidden very well online. My programs run fine without a scripting tool, but I know I'm missing something and gradle seems to be essential for some reason, but nearly impossible to learn without expert guidance since all the tutorials leave out essential information. I assume knowledge of ant and maven are taken for granted, but if gradle is as superior as it is touted to be, it would be counterproductive to learn the inferior build tools. Is there any way to learn gradle without wishing for death? Please help.

Neovim builds failing on OS X 10.10.2

I should mention that I originally posted this as an issue on Neovim's tracker, but it hasn't been getting a ton of traction there lately and I'm beginning to suspect that it's more an issue with my setup rather than Neovim itself.
Essentially, I had stopped building neovim nightlies for a few months. Having heard that it's getting integrated terminal support I decided to rebuild using the latest source, only to get a persistent, odd error. No matter what my build settings are, it always boils down to make hitting an error when it has to compile a file called loop.so. I hadn't noticed this issue with any other software I try to build, but I suspect it could be an issue with my environment.
Does anyone here know what this file's role is, and why the compilation could be failing at that point?
You might need to install the full Xcode app and not just the command line. This fixed the issue for me.
The issue turned out to be a bad typedef in a libuv header, object.h.

Dependency solution when make/compile error from source code

Very often we need to install software from its source code. Most of the time I just hit "make world" or "make all" then it will work like a charm. But some other time we see make errors, and we need to install other packages in order to let the make go through. This is particularly a problem for compiling low-level systems, such as a Linux kernel or Xen hypervisor.
I have one experience with Xen 3.4. Maybe it has been documented in some corner documents, but it depends on udev-125 to work properly. The weird thing is it functions well most of the time when udev version is 160+, it only breaks in certain cases! It took me a few MONTHS to find out it was because of the wrong udev version!
To make developers' life easier, when a source code is made successfully in one machine, is there some tools to record the list of packages and versions of that machine? Such a 'snapshot' should be shipped with the source code as well, so that when someone meets the make error they at least have a successful 'snapshot' for reference.
Is there such a tool already?
If your software depends on a specific version of a dependency, you should write a check for your configure script/cmakefile/etc. that tests the version of the dependency and bails out if the wrong version was found.
Comparing the output of config.log (a file created by a configure script) can also help diagnose problems like you encountered.

Making Android NDK apps with NativeActivity?

I know that in a normal NDK build, the C++ libraries are built and packed into an apk file. But how can I automate this in Eclipse? I have tried following http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-development/ to run the native-activity sample that came with the NDK, and it ended up not working. Even after I got past most of the reference errors via including, nothing happens when I run it as an Android Application (with a Motorola phone plugged in).
I have looked around quite a bit about this and am still stuck, so I'm open to suggestions at this point. Thanks!
(Please keep in mind that I'm using MinGW/MSys on Windows 7, mostly for running scripts with bash)
I've just decided to go with an Ubuntu VM and use that, and with some tweaking it seems to be working the way it should. I used a combination of http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-development/ and http://developer.android.com/sdk/ndk/overview.html#native-activity to get everything set up. Also a very important note, go to C/C++ General -> Code Analysis -> Launching in your Eclipse project settings and disable both of those options for any native activities you make. I'm not sure if there's a good way to set the libs and includes up for it to work, but currently live bug checking screws things up in the NDK, and I can currently build successfully without it. Plus it'll still mark errors in red after a failed build, so you shouldn't be completely in the middle of nowhere when finding errors.

Resources