Those functions are not exported from the dll on Windows, -only specific marked 
functions are, ulike unix where we export everything- so a workaround was 
needed to access those functions from our test suite.


This patch will break testing on Windows, but with +- all the buildings down 
for different forms of maintenance nobody notices.

The old issue was test only, and I don't think just breaking all WC test on 
Windows just for build sanityvreasond is a proper fix. This will need a proper 
fix to allow release testing on Windows again.

Bert

Sent from Outlook for Android<https://aka.ms/AAb9ysg>
________________________________
From: Nathan Hartman <hartman.nat...@gmail.com>
Sent: Sunday, May 28, 2023 4:12:25 PM
To: Daniel Sahlberg <daniel.l.sahlb...@gmail.com>
Cc: Jun Omae <jun6...@gmail.com>; phi...@apache.org <phi...@apache.org>; 
dev@subversion.apache.org <dev@subversion.apache.org>
Subject: Re: svn commit: r1908545 - /subversion/trunk/build.conf

On Sun, May 28, 2023 at 5:11 AM Daniel Sahlberg
<daniel.l.sahlb...@gmail.com> wrote:
>
> Good catch Jun!
>
> Den sön 28 maj 2023 kl 07:33 skrev Jun Omae <jun6...@gmail.com>:
>>
>> Hi,
>>
>> On 2023/03/20 10:20, phi...@apache.org wrote:
>
> [...]
>>
>> > ==============================================================================
>> > --- subversion/trunk/build.conf (original)
>> > +++ subversion/trunk/build.conf Mon Mar 20 01:20:29 2023
>> > @@ -1337,7 +1337,7 @@ msvc-force-static = yes
>> >  description = Test Sqlite query evaluation
>> >  type = exe
>> >  path = subversion/tests/libsvn_wc
>> > -sources = wc-queries-test.c ../../libsvn_subr/sqlite3wrapper.c
>> > +sources = wc-queries-test.c
>> >  install = test
>> >  libs = libsvn_test libsvn_wc libsvn_subr apriconv apr sqlite
>
>
> This reverts the first half of half of r1536364:
>
> [[[
> Don't compile the SQLite amalgamation twice. The WC test can use the same
> wrapper as libsvn_subr.
>
> * build.conf (wc-queries-test): Add sqlite3wrapper from libsvn_subr to 
> sources.
> * subversion/tests/libsvn_wc/wc-queries-test.c: Don't include sqlite3.c;
>    Instead, use the same method as libsvn_subr/sqlite.c to import the
>    wrapped functions from sqlite3wrapper.c
>   (test_sqlite_version): Call sqlite3_libversion instead of using the
>    sqlite3_version array directly, since the latter is not exported from
>    sqlite3wrapper.c.
> ]]]
>
> The code in wc-queries-test.c and sqlite.c seems to be exactly the same.
>
> @philip: What was the exact error message from the gcc sanitizer and can you 
> dig a little deeper to see if it could be resolved in another way?
>
> Kind regards,
> Daniel Sahlberg


svn_sqlite3__api_initialize, svn_sqlite3__api_funcs, etc., not being
exported under Windows build?

Or are exported with mangled names for some reason? (e.g., could
happen if built as C++ (e.g., MSVC /TP switch) and extern declarations
aren't wrapped with 'extern "C"'.)

I feel like building/linking twice was a kludge that could happen
because of something like that.

Nathan

Reply via email to