bolha.us is one of the many independent Mastodon servers you can use to participate in the fediverse.
We're a Brazilian IT Community. We love IT/DevOps/Cloud, but we also love to talk about life, the universe, and more. | Nós somos uma comunidade de TI Brasileira, gostamos de Dev/DevOps/Cloud e mais!

Server stats:

254
active users

#cmake

1 post1 participant0 posts today

#HDF5 is doing great. So basically:

1. Originally, upstream used autotools. The build system installed a h5cc wrapper which — besides being a compiler wrapper — had a few config-tool style options.
2. Then, upstream added #CMake build system as an alternative. It installed a different h5cc wrapper that did not have the config-tool style options anymore.
3. Downstreams that tried CMake quickly discovered that the new wrapper broke a lot of packages, so they reverted to autotools and reported a bug.
4. Upstream closed the bug, handwaving it as "CMake h5cc changes have been noted in the Release.txt at the time of change - archived copy should exist in the history files."
5. Upstream announced the plans to remove autotools support.

So, to summarize the current situation:

1. Pretty much everyone (at least #Arch, #Conda-forge, #Debian, #Fedora, #Gentoo) is building using autotools, because CMake builds cause too much breakage.
2. Downstreams originally judged this to be a HDF5 issue, so they didn't report bugs to affected packages. Not sure if they're even aware that HDF5 upstream rejected the report.
3. All packages remain "broken", and I'm guessing their authors may not even be aware of the problem, because, well, as I pointed out, everyone is still using autotools, and nobody reported the issues during initial CMake testing.
4. I'm not even sure if there is a good "fix" here. I honestly don't know the package, but it really sounds like the config-tool was removed with no replacement, so the only way forward might be for people to switch over to CMake (sigh) — which would of course break the packages almost everywhere, unless people also add fallbacks for compatibility with autotools builds.
5. The upstream's attitude suggests that HDF5 is pretty much a project unto itself, and doesn't care about its actual users.

github.com/HDFGroup/hdf5/issue

When building hdf5 with autotools, the following file is used to produce h5cc and friends: https://github.com/HDFGroup/hdf5/blob/develop/bin/h5cc.in However, when building with cmake, the following...
GitHubh5cc is severely lacking when building hdf5 with cmake, breaking downstream users · Issue #1814 · HDFGroup/hdf5By BtbN

Great news! We just got some packaging work done that's going into the rebase branch. It is now possible to build #AppImages and installers again!

On top of that, SHA256 hashes are now automatically generated, and we now build our installer with #CPack using a custom #CMake script, so all packaging is the same process. When we bring back nightly builds, this will be a nice way to verify your download. Plus, it will save us a few steps in packaging official binaries 😛

Mini-rant ahead:

I'm delving into #cmake to try to make it build a compile_commands.json file to work with #retrocomputing C header files, specifically the #Psion SIBO C SDK (from the early 90s).

I don't actually want cmake to do anything but tell clangd what to do, so that I've got a working language server in NeoVim.

I don't need it to build any Makefiles, I don't need it to tell a compiler what to do. I just want clangd to treat my old 16-bit real mode code correctly, and that the header files are in ~/dosbox/sibo-c/SIBOSDK/include/.

Note that I can't point it at the compiler, because the compiler (TopSpeed) runs in DOSBox. There is no modern compiler that will work.

So... Do I have to fake it somehow? For example, do I have to tell cmake that it's actually using a different compiler (e.g. #Watcom) to make it behave correctly?

I've been fighting with #Fedora40, #cmake, and #qt5 all day, and am at my wits end.

cmake needs to know the location of the qt5-config.cmake file, but from what I've been able to tell, there is no such file on my computer.

There are several QT5 directories in /usr, but all are completely empty. I'm not even sure if QT5 is actually installed at this point. (Though the packages qt5-qtbase and qt5-qtsvg definitely are.)

The #github repository of my #sega #mastersystem and #gamegear #emulator called "Masterlator" is now public 🙂 I've rewritten the code in proper C++, use #cmake as the build system, utilize #sdl2 and added a new #debugger with #wladx compatible *.sym file support, memory viewer and tile/sprite viewer. It's rather basic now but will hopefully be a good tool for #homebrew game #development in the future.

github.com/chn-dev/Masterlator

chn-dev.net/Projects/Masterlat