Has anyone experienced any crashes? I've got the alpha CMake up and running and it starts to work. But it always always ends up in a crash. I'll collect some crash logs. Right now trying to update some code using the newer CMake.
What do you mean "always ends up"? As in : You can start cmake, and it does some work, but then it crashes? At what point does it crash, and of course : What does the crash look like?
If it is another stack issue, then it is easy to fix. AMOF I don't quite remember, if the online version contains a stack cookie.
What do you mean "always ends up"? As in : You can start cmake, and it does some work, but then it crashes? At what point does it crash, and of course : What does the crash look like?
So I enter a build folder and run a "cmake .." like so:
4.RAM Disk:tinf-1.2.1/build> cmake ..
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
After printing all that to CLI I get a reaper. I'll post a cut down of it:
If it is another stack issue, then it is easy to fix. AMOF I don't quite remember, if the online version contains a stack cookie.
You could be right. I checked and my shell has a paltry stack that's barely over 64KB. I changed it to 1MB and CMake didn't crash! Thanks for the hint. The shell needs a bugzilla if the default is really that small.
Ok so that's a lot better. But then I got stuck again. Like happened recently after reading back a few pages CMake cannot find my make command or compiler either:
-- CMAKE_HOST_SYSTEM_VERSION : 53.18
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
I saved a Snoopy fail log but don't see where it's looking for a make or compiler:
This might be a problem with filesystems and case sensitivity issues. I haven't gotten around to checking cmake on another partition, so I can't tell for sure, but if you want to try it out, you can try installing in an sfs partition and see, if that helps. It might also be important, what partition your SDK is located at.
Thanks. That looks like an obvious route. I'm not sure how I did it a few years back. I managed to configure it with the older CMake but it doesn't work now as it relies on older so objects so I can't run it. But the new one complains about the old build files. Suppose I need to treat it like a cross compiler as on AmigaOS you need to hold it's hand when configuring a build, since it doesn't pick up things automatically like on other systems.
This might be a problem with filesystems and case sensitivity issues. I haven't gotten around to checking cmake on another partition, so I can't tell for sure, but if you want to try it out, you can try installing in an sfs partition and see, if that helps.
Default for SFS partitions is case-insensitive, as on any other AmigaOS filesystem.
SFS partitions can be formatted case sensitive, but it has to be done at format time and with "SFSFormat". It's not possible to change it after formatting, nor can it be enabled with the AmigaOS SYS:System/Format tool.
For example OWB, which used CMake as well, can't be built on case-insensitive AmigaOS file systems and I had to use a case sensitive formatted SFS\2 partition for building it.
Okay got it working. It didn't need to be told where compiler is. But it did need to be told where "make" is. So it was able to complete the build. The make ran without problems.
However, I managed to crash it again. I don't know how. I tested CMaking the tinf project from the RAM Disk. It crashed CMake. Does it matter if I CMake direct to list file without a build folder?
For example OWB, which used CMake as well, can't be built on case-insensitive AmigaOS file systems and I had to use a case sensitive formatted SFS\2 partition for building it.
Thanks for the explanation. I had some problems with OWB, that went away, when I moved it to a FFS partition. As I said, I still need to test this difference, I am sure from what I hear from people testing cmake that there is a possible connection on functioning and some relation to the file system(s) used.
@hypex
The crash you are seeing looks strange, and I don't have a ready answer (from looking at the source in this place, there is not much to see, other than a possible connection to pipe()/read() which sometimes has a little bit strange behavior). EDIT: Is it a regular crash, or does it only happen from time to time (ie. are the conditions stable or spurious)?
About using source tree builds, this should not be a problem, but perhaps the specific build situation triggers some otherwise hidden problem.
@Raziel Unfortunately, not yet, but plenty of improvements and fixes are introduced in this release. For the memory leak, we have an open issue, and it is high in our priority to find it and fix it.
I just tried the following CMakeLists.txt Sort of. Note that I commented out the toolchain line at the start and the entire section related to GLFW, but otherwise it's the same.
I get an instant crash. I am assuming that "FetchContent" is not implemented. Would that be correct?
NB: It's really not a big deal as in this case I can cross compile the required libs in docker and then copy them to the Amiga (which I already did). I was purely curious to see if this would work on OS4. Nothing more.
I am guessing, that the command you call FetchContent is using ProcessUNIX.cxx instead of libuv to run exterior commands. This diversion has not been tested and will probably just crash. It could be fixed.