Den mån 1 nov. 2021 kl 09:32 skrev Gretton, Liam <liam.gret...@leicester.ac.uk>:
>
> I'm rebuilding our Subversion server, getting it up to date after a fair 
> period of neglect.
>
>
>
> I'm finding that 1.41.1 has a problem somewhere in its SQLite code and fails 
> at the make stage. 1.10.7 succeeds with exactly the same build process and 
> dependencies.
>
>
>
> I'm using CentOS 7, but with Apache 2.4.8, APR 1.7.0, APR-util 1.6.1 and 
> SQLite 3.36.0.
>
>
>
> cd subversion-1.14.1
>
> unzip ../sqlite-amalgamation-3360000.zip
>
> mv sqlite-amalgamation-3360000.zip sqlite-amalgamation
>
>
>
> ./configure --prefix=/local/software/subversion-1.14.1 \
>
>   --with-lz4=internal \
>
>   --with-utf8proc=internal \
>
>   --with-apxs=/local/software/httpd/bin/apxs \
>
>   --with-apr=/local/software/bin \
>
>   --with-apr-util=/local/software/bin
>
> make
>
>
>
> …
>
>
>
> In file included from subversion/libsvn_subr/sqlite3wrapper.c:63:0:
>
> /home/liam/downloads/subversion-1.14.1/sqlite-amalgamation/sqlite3.c:38012:12:
>  warning: ‘unixFcntlExternalReader’ used but never defined [enabled by 
> default]
>
> static int unixFcntlExternalReader(unixFile*, int*);
>
>
>
> …
>
>
>
> .libs/sqlite3wrapper.o: In function `unixFileControl':
>
> /home/liam/downloads/subversion-1.14.1/sqlite-amalgamation/sqlite3.c:38131: 
> undefined reference to `unixFcntlExternalReader'
>
> /usr/bin/ld: .libs/sqlite3wrapper.o: relocation R_X86_64_PC32 against 
> undefined symbol `unixFcntlExternalReader' can not be used when making a 
> shared object; recompile with -fPIC
>
> /usr/bin/ld: final link failed: Bad value
>
> collect2: error: ld returned 1 exit status
>
> make: *** [subversion/libsvn_subr/libsvn_subr-1.la] Error 1
>
>
>
> Any idea what I can do to get past this?

Hi!

I reproduce this behaviour.

As far as I can tell this is a bug in SQLite. The offending function
was added 2021-04-02 [1] and it seems to be hidden by #ifdef
SQLITE_OMIT_WAL. There is a reference to the same error in the SQLite
forums [2] with a suggestion to leave out SQLITE_OMIT_WAL on
compilation.

It seems to be possible to restore the old behaviour by reverting our
r1865523 (which is defining SQLITE_OMIT_WAL, triggering the build
failure). I'm adding Evgeny Kotkov, author of r1865523, for a second
pair of eyes, but I don't think that we are doing anything wrong.

I think it should also be possible to use an older version of SQLite
(released before 2021-04-02).

Kind regards,
Daniel

[1] https://sqlite.org/src/info/e16da5af822ef31d
[2] https://sqlite.org/forum/info/f4640ddef932093c

Reply via email to