Open MTRNord opened 7 months ago
Hm it gets even weirder after I disable the vptr sanitizer. After successful build it fails with further lookup errors:
./persephone: symbol lookup error: /run/media/marcel/1ac60e61-e5e2-4157-9a7a-830801a3fb0b/projects/persephone/builddir/subprojects/soci-4.0.3/libsoci_postgresql.so: undefined symbol: _ZTIN4soci7details21ref_counted_statementE
Sorry, no idea what's going on here but it would definitely be best to compile both SOCI and your project with the same options.
@MTRNord could you maybe retry with #1118 ? I have no idea what the exact cause for the behavior you're seeing could be but given that the current cmake setup does have qutie a few quirks and oddities, I wouldn't be surprised if this issue is fixed as a side-effect of my PR.
Hi :)
I am using soci in my project via meson (essentially via cmake). In my project, I wanted to use
-fsanitize=address,undefined
. So far so good. However, while using this with clang++16 I got the following linker errors with soci:The sourcecode for this can be found at https://github.com/MTRNord/persephone/tree/291b037e5f57e2eabb0b214509de9c231061e8ea
Relevant in the meson.build is probably only that I disable the boost part and use lto. However, neither seem to make any difference in outcome.
I am targeting c++20 if this matters.
(also sorry if I miss some obvious thing here. I am still fairly new to C++)
The whole project compiled fine if I remove the
undefined
sanitizer. (Likely because then no RTTI is required)