building subversion --with-zlib=.... seems to have no effect

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

building subversion --with-zlib=.... seems to have no effect

Hiran CHAUDHURI

Hello there.

 

I am building subversion from source but always see the output files depend on the system-supplied zlib which is way older than the one I want to use.

What I did was this:

 

./configure --with-apr=$PREFIX/apr --with-apr-util=$PREFIX /apr-util --with-sqlite=$PREFIX /sqlite

 

which gives me the error message that subversion requires zlib. So far so good. Then I do

 

./configure --with-apr=$PREFIX/apr --with-apr-util=$PREFIX/apr-util --with-sqlite=$PREFIX/sqlite --with-zlib=$PREFIX/zlib

 

which terminates with exit code 0. The messages on stdout look ok, but when I do make and make install, the created libraries will depend on the system-supplied zlib instead of the one I specified to use. Further, in config.log I can see these lines:

 

...

  $ ./configure --with-apr=$PREFIX/apr --with-apr-util=$PREFIX/apr-util --with-sqlite=$PREFIX/sqlite --with-zlib=$PREFIX/zlib

...

Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,a

da --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3 --enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj

--disable-libmudflap --with-slibdir=/lib64 --with-system- zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --program

-suffix=-4.3 --enable-linux-futex --without-system-libunwind --with-cpu=generic --build=x86_64-suse-linux

...

configure:22579: zlib library configuration via prefix

configure:22585: checking zlib.h usability

configure:22585: gcc -c -g -O2  -g -O2 -pthread   -DLINUX -D_REENTRANT -D_GNU_SOURCE -I$PREFIX/zlib/include conftest.c >&5

configure:22585: $? = 0

configure:22585: result: yes

configure:22585: checking zlib.h presence

configure:22585: gcc -E   -DLINUX -D_REENTRANT -D_GNU_SOURCE -I$PREFIX/zlib/include conftest.c

configure:22585: $? = 0

configure:22585: result: yes

configure:22585: checking for zlib.h

configure:22585: result: yes

configure:22593: checking for inflate in -lz

configure:22618: gcc -o conftest -g -O2  -g -O2 -pthread   -DLINUX -D_REENTRANT -D_GNU_SOURCE -I$PREFIX/zlib/include   -L$PREFIX/openldap/lib -L/a

ma/wh/bin/Apache-httpd-5451/expat/lib -L$PREFIX/zlib/lib conftest.c -lz   >&5

configure:22618: $? = 0

configure:22627: result: yes

 

So this is confusing for me. While the parameter I passed was recognized and the different checks on zlib were successful, the overall result is --with-system-zlib?

 

After make and make install, when I check the compiled libraries I get this output:

 

ldd libsvn_client-1.so

...

        libz.so.1 => /lib64/libz.so.1 (0x00007fc978e9f000)

...

 

This shows me that the system zlib library is indeed referenced. How would I compile subversion with zlib in a nonstandard location?

 

Note: the variable $PREFIX does not exist. Instead I work with fully qualified path names but I wanted to save people from reading unnecessary long path names.

 

Hiran

 

 

Hiran Chaudhuri
Principal Support Engineer

Service Reliability Engineering - Custom

Amadeus Data Processing GmbH
Berghamer Strasse 6
85435 Erding
T: +49-8122-43x3662
[hidden email]

http://amadeus.com

 

Reply | Threaded
Open this post in threaded view
|

Re: building subversion --with-zlib=.... seems to have no effect

Daniel Shahaf-2
Hiran CHAUDHURI wrote on Mon, 14 Aug 2017 14:25 +0000:
> I am building subversion from source but always see the output files depend
> on the system-supplied zlib which is way older than the one I want to use.

I gather you build 1.9.5.

> What I did was this:
>
> ./configure --with-apr=$PREFIX/apr --with-apr-util=$PREFIX /apr-util
> --with-sqlite=$PREFIX /sqlite
>
> which gives me the error message that subversion requires zlib. So far so
> good.

This implies that configure doesn't find zlib in the default paths.
That's odd, given that later you indicate that libz was found in
/lib64, which probably _is_ one of the default paths.

Are there any clues in configure's output from this run?

> Then I do
>
> ./configure --with-apr=$PREFIX/apr --with-apr-util=$PREFIX/apr-util
> --with-sqlite=$PREFIX/sqlite --with-zlib=$PREFIX/zlib
>
> which terminates with exit code 0. The messages on stdout look ok, but when I
> do make and make install, the created libraries will depend on the
> system-supplied zlib instead of the one I specified to use. Further, in
> config.log I can see these lines:
>
> ...  $ ./configure --with-apr=$PREFIX/apr --with-apr-util=$PREFIX/apr-util
> --with-sqlite=$PREFIX/sqlite --with-zlib=$PREFIX/zlib ...  So this is
> confusing for me. While the parameter I passed was recognized and the
> different checks on zlib were successful, the overall result is
> --with-system-zlib?
>
> After make and make install, when I check the compiled libraries I get this
> output:
>
> ldd libsvn_client-1.so ...  libz.so.1 => /lib64/libz.so.1
> (0x00007fc978e9f000) ...
>
> This shows me that the system zlib library is indeed referenced. How would I
> compile subversion with zlib in a nonstandard location?

Possibly apr or serf bring in another copy of zlib than the one you intended.
What's the output of «grep "^SVN_.*LIBS =" Makefile»?

Can you show the linker invocation of libsvn_client?
Reply | Threaded
Open this post in threaded view
|

Re: building subversion --with-zlib=.... seems to have no effect

Johan Corveleyn-3
On Thu, Aug 31, 2017 at 6:56 AM, Daniel Shahaf <[hidden email]> wrote:

> Hiran CHAUDHURI wrote on Mon, 14 Aug 2017 14:25 +0000:
>> I am building subversion from source but always see the output files depend
>> on the system-supplied zlib which is way older than the one I want to use.
>
> I gather you build 1.9.5.
>
>> What I did was this:
>>
>> ./configure --with-apr=$PREFIX/apr --with-apr-util=$PREFIX /apr-util
>> --with-sqlite=$PREFIX /sqlite
>>
>> which gives me the error message that subversion requires zlib. So far so
>> good.
>
> This implies that configure doesn't find zlib in the default paths.
> That's odd, given that later you indicate that libz was found in
> /lib64, which probably _is_ one of the default paths.
>
> Are there any clues in configure's output from this run?
>
>> Then I do
>>
>> ./configure --with-apr=$PREFIX/apr --with-apr-util=$PREFIX/apr-util
>> --with-sqlite=$PREFIX/sqlite --with-zlib=$PREFIX/zlib
>>
>> which terminates with exit code 0. The messages on stdout look ok, but when I
>> do make and make install, the created libraries will depend on the
>> system-supplied zlib instead of the one I specified to use. Further, in
>> config.log I can see these lines:
>>
>> ...  $ ./configure --with-apr=$PREFIX/apr --with-apr-util=$PREFIX/apr-util
>> --with-sqlite=$PREFIX/sqlite --with-zlib=$PREFIX/zlib ...  So this is
>> confusing for me. While the parameter I passed was recognized and the
>> different checks on zlib were successful, the overall result is
>> --with-system-zlib?
>>
>> After make and make install, when I check the compiled libraries I get this
>> output:
>>
>> ldd libsvn_client-1.so ...  libz.so.1 => /lib64/libz.so.1
>> (0x00007fc978e9f000) ...
>>
>> This shows me that the system zlib library is indeed referenced. How would I
>> compile subversion with zlib in a nonstandard location?
>
> Possibly apr or serf bring in another copy of zlib than the one you intended.
> What's the output of «grep "^SVN_.*LIBS =" Makefile»?
>
> Can you show the linker invocation of libsvn_client?

FWIW, I just found a very similar mail thread in the archives of users@:

https://svn.haxx.se/users/archive-2015-01/0014.shtml

--
Johan
Reply | Threaded
Open this post in threaded view
|

RE: [EXT] Re: building subversion --with-zlib=.... seems to have no effect

Hiran CHAUDHURI
In reply to this post by Daniel Shahaf-2
From: Daniel Shahaf [mailto:[hidden email]]
>Hiran CHAUDHURI wrote on Mon, 14 Aug 2017 14:25 +0000:
>> I am building subversion from source but always see the output files
>> depend on the system-supplied zlib which is way older than the one I want to use.
>
>I gather you build 1.9.5.

Confirmed. That is the version I build, based on Apache httpd 2.4.27 and APR 1.6.2.

>> ./configure --with-apr=$PREFIX/apr --with-apr-util=$PREFIX /apr-util
>> --with-sqlite=$PREFIX /sqlite
>>
>> which gives me the error message that subversion requires zlib. So far
>> so good.
>
>This implies that configure doesn't find zlib in the default paths.
>That's odd, given that later you indicate that libz was found in /lib64, which probably _is_ one of the default paths.

In fact there is a zlib installed in a default location, but it is not as current as the zlib I want to use. So I compile it myself (zlib 1.2.11), install it in my path and want to compile subversion using this new zlib.

>Are there any clues in configure's output from this run?

I just ran that command again. I see this:

-STDOUT---------------------->8---------
configure: zlib library configuration via pkg-config
checking for zlib library... no
configure: zlib library configuration
checking zlib.h usability... no
checking zlib.h presence... no
checking for zlib.h... no
configure: error: subversion requires zlib
-STDOUT------8<-------------------------

-config.log---------------------->8---------
configure:22665: zlib library configuration via pkg-config
configure:22668: checking for zlib library
configure:22697: result: no
configure:22704: zlib library configuration
configure:22706: checking zlib.h usability
configure:22706: gcc -c -g -O2  -g -O2 -pthread   -DLINUX -D_REENTRANT -D_GNU_SOURCE conftest.c >&5
conftest.c:75:18: error: zlib.h: No such file or directory
configure:22706: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "subversion"
| #define PACKAGE_TARNAME "subversion"
| #define PACKAGE_VERSION "1.9.5"
| #define PACKAGE_STRING "subversion 1.9.5"
| #define PACKAGE_BUGREPORT "http://subversion.apache.org/"
| #define PACKAGE_URL ""
| #define SVN_SOVERSION 0
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define SVN_HAVE_MEMCACHE 1
| #define SVN_HAS_ATOMIC_BUILTINS 1
| #define SVN_BINDIR "/usr/local/bin"
| #define SVN_LOCALE_DIR "/usr/local/share/locale"
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define SVN_FS_WANT_DB_MAJOR 4
| #define SVN_FS_WANT_DB_MINOR 0
| #define SVN_FS_WANT_DB_PATCH 14
| #define SVN_HAVE_GPG_AGENT 1
| #define ENABLE_NLS 1
| #define HAVE_BIND_TEXTDOMAIN_CODESET 1
| #define STDC_HEADERS 1
| #define HAVE_VPRINTF 1
| #define HAVE_SYMLINK 1
| #define HAVE_READLINK 1
| #define HAVE_SYS_UTSNAME_H 1
| #define HAVE_UNAME 1
| #define HAVE_TCGETATTR 1
| #define HAVE_TERMIOS_H 1
| #define HAVE_TCSETATTR 1
| #define HAVE_TERMIOS_H 1
| /* end confdefs.h.  */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| #  include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| #  include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <zlib.h>
configure:22706: result: no
configure:22706: checking zlib.h presence
configure:22706: gcc -E   -DLINUX -D_REENTRANT -D_GNU_SOURCE conftest.c
conftest.c:42:18: error: zlib.h: No such file or directory
configure:22706: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "subversion"
| #define PACKAGE_TARNAME "subversion"
| #define PACKAGE_VERSION "1.9.5"
| #define PACKAGE_STRING "subversion 1.9.5"
| #define PACKAGE_BUGREPORT "http://subversion.apache.org/"
| #define PACKAGE_URL ""
| #define SVN_SOVERSION 0
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define SVN_HAVE_MEMCACHE 1
| #define SVN_HAS_ATOMIC_BUILTINS 1
| #define SVN_BINDIR "/usr/local/bin"
| #define SVN_LOCALE_DIR "/usr/local/share/locale"
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define SVN_FS_WANT_DB_MAJOR 4
| #define SVN_FS_WANT_DB_MINOR 0
| #define SVN_FS_WANT_DB_PATCH 14
| #define SVN_HAVE_GPG_AGENT 1
| #define ENABLE_NLS 1
| #define HAVE_BIND_TEXTDOMAIN_CODESET 1
| #define STDC_HEADERS 1
| #define HAVE_VPRINTF 1
| #define HAVE_SYMLINK 1
| #define HAVE_READLINK 1
| #define HAVE_SYS_UTSNAME_H 1
| #define HAVE_UNAME 1
| #define HAVE_TCGETATTR 1
| #define HAVE_TERMIOS_H 1
| #define HAVE_TCSETATTR 1
| #define HAVE_TERMIOS_H 1
| /* end confdefs.h.  */
| #include <zlib.h>
configure:22706: result: no
configure:22706: checking for zlib.h
configure:22706: result: no
configure:22760: error: subversion requires zlib
-config.log------8<-------------------------

From this output I would conclude the system-supplied library is not found/accepted as the headers (or zlib-devel) is not installed.

>> After make and make install, when I check the compiled libraries I get
>> this output:
>>
>> ldd libsvn_client-1.so ...  libz.so.1 => /lib64/libz.so.1
>> (0x00007fc978e9f000) ...
>>
>> This shows me that the system zlib library is indeed referenced. How
>> would I compile subversion with zlib in a nonstandard location?
>
>Possibly apr or serf bring in another copy of zlib than the one you intended.
>What's the output of «grep "^SVN_.*LIBS =" Makefile»?

Here is what I get:
/buildApache/build/subversion-1.9.5> grep "^SVN_.*LIBS =" Makefile
SVN_APR_LIBS = -L /buildApache/build/httpd-2.4.27/srclib/apr -lapr-1
SVN_APRUTIL_LIBS = -L /buildApache/build/httpd-2.4.27/srclib/apr-util -laprutil-1  -lldap -llber    -lexpat
SVN_APR_MEMCACHE_LIBS =
SVN_DB_LIBS =
SVN_GPG_AGENT_LIBS = @SVN_GPG_AGENT_LIBS@
SVN_GNOME_KEYRING_LIBS =
SVN_KWALLET_LIBS =
SVN_MAGIC_LIBS =
SVN_INTL_LIBS =
SVN_SASL_LIBS =
SVN_SERF_LIBS =
SVN_SQLITE_LIBS = -L$PREFIX/sqlite/lib -lsqlite3
SVN_XML_LIBS =
SVN_ZLIB_LIBS = -L$PREFIX/zlib/lib -lz
 /buildApache/build/subversion-1.9.5>


> Can you show the linker invocation of libsvn_client?

I may need more information here. How would I find the desired output/command?

Meanwhile I am playing around with
env LDFLAGS='-Wl,-R$PREFIX/openssl/lib,-R$PREFIX/zlib/lib' ./configure .......

It seems this helps to set the run path in the executables and libraries, but I am still trying to figure out whether Subversion was compiled using the correct libraries.

Hiran
Reply | Threaded
Open this post in threaded view
|

RE: [EXT] Re: building subversion --with-zlib=.... seems to have no effect

Hiran CHAUDHURI
In reply to this post by Daniel Shahaf-2
>Can you show the linker invocation of libsvn_client?

Ah, with the hint from https://svn.haxx.se/users/archive-2015-01/0014.shtml
I can produce this output:

/buildApache/build/subversion-1.9.5> make subversion/libsvn_subr/libsvn_subr-1.la
/bin/sh "/buildApache/build/subversion-1.9.5/libtool" --tag=CC --silent --mode=compile gcc -std=c89  -DLINUX -D_REENTRANT -D_GNU_SOURCE   -g -O2  -g -O2 -pthread   -I./subversion/include -I./subversion -I /buildApache/build/httpd-2.4.27/srclib/apr/include   -I /buildApache/build/httpd-2.4.27/srclib/apr-util/include -I$PREFIX/openldap/include/ -I$PREFIX/expat/include -I$PREFIX/sqlite/include -I$PREFIX/zlib/include  -o subversion/libsvn_subr/compress.lo -c subversion/libsvn_subr/compress.c
cd subversion/libsvn_subr && /bin/sh " /buildApache/build/subversion-1.9.5/libtool" --tag=CC --silent --mode=link gcc  -g -O2  -g -O2 -pthread   -Wl,-R$PREFIX/openssl/lib,-R$PREFIX/zlib/lib  -L$PREFIX/openldap/lib -L$PREFIX/expat/lib  -rpath $PREFIX/subversion/lib -version-info 0 -Wl,--no-undefined -o libsvn_subr-1.la  adler32.lo atomic.lo auth.lo base64.lo bit_array.lo cache-inprocess.lo cache-membuffer.lo cache-memcache.lo cache.lo cache_config.lo checksum.lo cmdline.lo compat.lo compress.lo config.lo config_auth.lo config_file.lo config_win.lo crypto.lo ctype.lo date.lo debug.lo deprecated.lo dirent_uri.lo dso.lo eol.lo error.lo fnv1a.lo gpg_agent.lo hash.lo io.lo iter.lo lock.lo log.lo macos_keychain.lo magic.lo md5.lo mergeinfo.lo mutex.lo nls.lo object_pool.lo opt.lo packed_data.lo path.lo pool.lo prefix_string.lo prompt.lo properties.lo quoprint.lo root_pools.lo simple_providers.lo skel.lo sorts.lo spillbuf.lo sqlite.lo sqlite3wrapper.lo ssl_client_cert_providers.lo ssl_client_cert_pw_providers.lo ssl_server_trust_providers.lo stream.lo string.lo subst.lo sysinfo.lo target.lo temp_serializer.lo time.lo token.lo types.lo user.lo username_providers.lo utf.lo utf8proc.lo utf_validate.lo utf_width.lo validate.lo version.lo win32_crashrpt.lo win32_crypto.lo win32_xlate.lo x509info.lo x509parse.lo xml.lo -L /buildApache/build/httpd-2.4.27/srclib/apr-util -laprutil-1  -lldap -llber    -lexpat -L /buildApache/build/httpd-2.4.27/srclib/apr -lapr-1  -L$PREFIX/zlib/lib -lz  -L$PREFIX/sqlite/lib -lsqlite3
/buildApache_2017Aug24_123656/build/subversion-1.9.5>

So at least that tells me that compilation should have happend with the library I supplied.
Then maybe all that is missing is the run path setting in the executables?

Hiran

Reply | Threaded
Open this post in threaded view
|

Re: [EXT] Re: building subversion --with-zlib=.... seems to have no effect

Branko Čibej
On 31.08.2017 14:19, Hiran CHAUDHURI wrote:
>> Can you show the linker invocation of libsvn_client?
> Ah, with the hint from https://svn.haxx.se/users/archive-2015-01/0014.shtml
> I can produce this output:
>
> /buildApache/build/subversion-1.9.5> make subversion/libsvn_subr/libsvn_subr-1.la
> /bin/sh "/buildApache/build/subversion-1.9.5/libtool" --tag=CC --silent --mode=compile gcc -std=c89  -DLINUX -D_REENTRANT -D_GNU_SOURCE   -g -O2  -g -O2 -pthread   -I./subversion/include -I./subversion -I /buildApache/build/httpd-2.4.27/srclib/apr/include   -I /buildApache/build/httpd-2.4.27/srclib/apr-util/include -I$PREFIX/openldap/include/

You actually get "$PREFIX" in the build command line?

-- Brane

Reply | Threaded
Open this post in threaded view
|

RE: [EXT] Re: building subversion --with-zlib=.... seems to have no effect

Hiran CHAUDHURI
>From: Branko Čibej [mailto:[hidden email]]
>On 31.08.2017 14:19, Hiran CHAUDHURI wrote:
>>> Can you show the linker invocation of libsvn_client?
>> Ah, with the hint from https://svn.haxx.se/users/archive-2015-01/0014.shtml
>> I can produce this output:
>>
>> /buildApache/build/subversion-1.9.5> make subversion/libsvn_subr/libsvn_subr-1.la
>> /bin/sh "/buildApache/build/subversion-1.9.5/libtool" --tag=CC --silent --mode=compile gcc -std=c89  -DLINUX -D_REENTRANT -D_GNU_SOURCE   -g -O2  -g -O2 -pthread   -I./subversion/include -I./subversion -I /buildApache/build/httpd-2.4.27/srclib/apr/include   -I /buildApache/build/httpd-2.4.27/srclib/apr-util/include -I$PREFIX/openldap/include/
>
>You actually get "$PREFIX" in the build command line?

No, not literally. I simply text edited the long path I have into something that is shorter to read before sending the mail. Assume $PREFIX to be a path into my directory structure which is not the OS standard paths - definitely not somewhere the linker would be searching for on its own.

Hiran
Reply | Threaded
Open this post in threaded view
|

Re: [EXT] Re: building subversion --with-zlib=.... seems to have no effect

Daniel Shahaf-2
In reply to this post by Hiran CHAUDHURI
Hiran CHAUDHURI wrote on Thu, 31 Aug 2017 12:01 +0000:
> From: Daniel Shahaf [mailto:[hidden email]]
> >Hiran CHAUDHURI wrote on Mon, 14 Aug 2017 14:25 +0000:
> >> I am building subversion from source but always see the output files
> >> depend on the system-supplied zlib which is way older than the one I want to use.
> >
> >I gather you build 1.9.5.
>
> Confirmed. That is the version I build, based on Apache httpd 2.4.27 and APR 1.6.2.

1.9.5 has a known security issue (https://subversion.apache.org/security/ -> CVE-2017-9800);
you should use 1.9.7 instead.

> It seems this helps to set the run path in the executables and
> libraries, but I am still trying to figure out whether Subversion was
> compiled using the correct libraries.

'svn --version --verbose' prints the build-time and run-time versions of zlib.
Reply | Threaded
Open this post in threaded view
|

Re: [EXT] Re: building subversion --with-zlib=.... seems to have no effect

Daniel Shahaf-2
In reply to this post by Hiran CHAUDHURI
Hiran CHAUDHURI wrote on Thu, 31 Aug 2017 12:19 +0000:
> >Can you show the linker invocation of libsvn_client?
>
> Ah, with the hint from https://svn.haxx.se/users/archive-2015-01/0014.shtml
> I can produce this output:
>
> cd subversion/libsvn_subr && /bin/sh " /buildApache/build/subversion-1.9.5/libtool" --tag=CC --silent --mode=link gcc  -g -O2  -g -O2 -pthread   -Wl,-R$PREFIX/openssl/lib,-R$PREFIX/zlib/lib  -L$PREFIX/openldap/lib -L$PREFIX/expat/lib  -rpath $PREFIX/subversion/lib -version-info 0 -Wl,--no-undefined -o libsvn_subr-1.la  adler32.lo atomic.lo [...]
>

I don't see anything wrong here; but the post you link to says: you can
see the actual linked invocation by running this (long) command
manually, after changing --silent to --verbose or to --debug.

> So at least that tells me that compilation should have happend with the library I supplied.
> Then maybe all that is missing is the run path setting in the executables?

Setting the linker runtime path may help.  The libtool warning messages
printed during 'make install' describe how to do that.
Reply | Threaded
Open this post in threaded view
|

RE: [EXT] Re: building subversion --with-zlib=.... seems to have no effect

Hiran CHAUDHURI
In reply to this post by Daniel Shahaf-2
From: Daniel Shahaf [mailto:[hidden email]]
>> >I gather you build 1.9.5.
>>
>> Confirmed. That is the version I build, based on Apache httpd 2.4.27 and APR 1.6.2.
>
>1.9.5 has a known security issue (https://subversion.apache.org/security/ -> CVE-2017-9800); you should use 1.9.7 instead.

Thank you for pointing out. I will make use of that new version.

>> It seems this helps to set the run path in the executables and
>> libraries, but I am still trying to figure out whether Subversion was
>> compiled using the correct libraries.
>
>'svn --version --verbose' prints the build-time and run-time versions of zlib.

With my currently compiled version I get this output. So this indicates that svn was compiled with the correct library, and my tweaks meanwhile to modify the run path were successful as well.

* linked dependencies:
  - APR 1.6.2 (compiled with 1.6.2)
  - APR-Util 1.6.0 (compiled with 1.6.0)
  - Expat 2.2.1 (compiled with 2.2.1)
  - SQLite 3.19.3 (compiled with 3.19.3)
  - Utf8proc 1.1.5 (compiled with 1.1.5)
  - ZLib 1.2.11 (compiled with 1.2.11)

While it might be more comfortable to have the run path being set automatically when specifying a specific zlib version it seems my problem is resolved.
:-)

Hiran
Reply | Threaded
Open this post in threaded view
|

RE: [EXT] Re: building subversion --with-zlib=.... seems to have no effect

Hiran CHAUDHURI
In reply to this post by Daniel Shahaf-2
>From: Daniel Shahaf [mailto:[hidden email]]
>Hiran CHAUDHURI wrote on Thu, 31 Aug 2017 12:19 +0000:
>> >Can you show the linker invocation of libsvn_client?
>>
>> Ah, with the hint from
>> https://svn.haxx.se/users/archive-2015-01/0014.shtml
>> I can produce this output:
>>
>> cd subversion/libsvn_subr && /bin/sh " /buildApache/build/subversion-1.9.5/libtool" --tag=CC --silent --mode=link gcc  -g -O2  -g -O2 -pthread   -Wl,-R$PREFIX/openssl/lib,-R$PREFIX/zlib/lib  -L$PREFIX/openldap/lib -L$PREFIX/expat/lib  -rpath $PREFIX/subversion/lib -version-info 0 -Wl,--no-undefined -o libsvn_subr-1.la  adler32.lo atomic.lo [...]
>>
>
>I don't see anything wrong here; but the post you link to says: you can see the actual linked invocation by running this (long) command manually, after changing --silent to --verbose or to --debug.

I changed that parameter and saw output long enough to fill a blog - thus I hesitated pasting it.

>>> So at least that tells me that compilation should have happend with the library I supplied.
>>> Then maybe all that is missing is the run path setting in the executables?
>
>Setting the linker runtime path may help.  The libtool warning messages printed during 'make install' describe how to do that.

Yes, that is what I tried to work with, and it seems to have helped (see my other message).
Thank you for investigating.

Hiran