CXX driver 3.5.0 identifies as version 0.0.0

While all versions of the CXX driver up to and including 3.4.1 have ended up with valid data in the bson and mongo version.hpp headers, strangely, the 3.5.0 release consistently ends up with 0.0.0 when I compile it. I’m able to work around the issue by using a cmake flag of -DBUILD_VERSION=3.5.0, but I’m presently at a loss as to why it’s not working as it did previously.

Tracing through the embedded python script that sets these variables does indeed result in 0.0.0 for me.

Curious if this is just me, or if anyone else is seeing the same behavior.

@Allan_Bazinet are you building from Git or from a release tarball? If you are building from a release tarball, ensure that you did not inadvertently remove the VERSION_CURRENT file from the build/ sub-directory. If you are building from Git, then you need to run (from within the build/ sub-directory, the command python ../etc/ >VERSION_CURRENT.

It seems that this may not be properly documented for building the C++ driver from a Git working directory. I’m looking into that.

1 Like

It would seem that adding !VERSION_CURRENT to the .gitignore file in the build directory would be warranted for the release tarball.

Ah, thanks, I see the problem now. I’m building from the release tarball, but there’s a .gitignore file in the build directory, so when we checked the tarball into our build system, it didn’t check in the VERSION_CURRENT file.

@Roberto_Sanchez Perhaps consider adding !VERSION_CURRENT to the .gitignore file in the build directory?

@Allan_Bazinet there is an ongoing internal team discussion related to how we might simplify the build process and reduce the likelihood of issues like this arising. However, we also have goals related to release process improvement and automation which we need to balance.

1 Like