SOCI / soci

Official repository of the SOCI - The C++ Database Access Library
http://soci.sourceforge.net/
Boost Software License 1.0
1.37k stars 472 forks source link

Issue with Boost 1.84 #1128

Closed RuRu92 closed 4 months ago

RuRu92 commented 4 months ago

I am trying to use Soci with Boost 1.84 but experiencing an issue when running the app. By removing dependency on Soci makes it work fine, no issues. Is this a known issue, and any fix for this or a way to work around it ? This is the stack trace:

C:\tools\boost.1.84.0\lib\native\include\boost\assert\source_location.hpp(95): error C2039: '_snprintf': is not a member of 'std'
  C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\cstdarg(20): note: see declaration of 'std'
C:\tools\boost.1.84.0\lib\native\include\boost\assert\source_location.hpp(102): error C2039: '_snprintf': is not a member of 'std'
  C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\cstdarg(20): note: see declaration of 'std'
vadz commented 4 months ago

I don't understand how is this related to SOCI at all. What are you compiling when you get this error?

RuRu92 commented 4 months ago

From digging in the issues catalogue, I found this.

https://github.com/SOCI/soci/issues/714

Seems like this issue resurfaced with new VS2022 and latest boost. If this helps to understand the issue.

vadz commented 4 months ago

No, it doesn't, really, because the check

#if _MSC_VER < 1900

should/is false for MSVS 2022 and so nothing should be redefined for it. Please explain what are you compiling and, ideally, please show the minimal self-contained example reproducing the problem.

RuRu92 commented 4 months ago

Sorry for the confusion. It appears that NuGet doesn't have the latest version of SOCI. Its only has 3.2 and last updated in 2014. (Private work network, cant download in any other way)

I assume its not being maintained by anyone?

vadz commented 4 months ago

Sorry, I have no idea who is/was maintaining this NuGet package, but I definitely don't do it (and don't plan to).

You can use git bundle to get the current Git sources even to an air gapped network, if you can copy any files there at all.

I'm closing this as it's not useful to keep open issues for a 10 year old version.

RuRu92 commented 4 months ago

No problem at all, sorry for the inconvinience. My mistake for assuming that package manager would have to update version without checking.

Perhaps someday it will be added.

But unfortunately there is no room to breath so cant copy or send emails. Have to either file for a request and make a long report of why I need it, or find an alternative. Worse case, write something from scratch to connect to DB.