[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Snag building svn 1.3.2 on AIX 4.3.3 with shared libraries

From: <brendan.newport_at_barclays.com>
Date: 2006-10-13 11:35:25 CEST

Hi.

This is my first posting to the mailing list-my apologies that I've not been
able to make a positve contribution yet!

I have also riased this query on the svn forum at
http://www.svnforum.org/2017/viewtopic.php?t=2017&sid=070f2bb512668c849fc814
ea42f04e21 but there has been no reply to date.

I have a problem building svn with shared libraries on this elderly OS. This
problem has (apparently) been seen in the past
(http://svn.haxx.se/users/archive-2005-06/1239.shtml).

I can build with static libraries with few problems. However the shared
library support provides me with functionality that will compete with a
ClearCase environment in use at the client site.

I installed a number of Linux tools for AIX - some of which, like libxml/2
aren't required. binutils did not incorporate GNU ld - I am using the AIX
ld. xlc is not licensed for use, so I have resorted to gcc.
perl-5.8.0-1
m4-1.4-14
autoconf-2.53-1
automake-1.4-3
libtool-1.4.2-1
gcc-2.9.aix43.010216-1
readline-4.2a-1
gdb-2.9.aix43.010414-7
gdbm-1.8.0-5
python-2.2-4
zlib-1.1.4-3
expat-1.95.2-3
expat-devel-1.95.2-3
zlib-devel-1.1.4-3
libxml-1.8.7-5
libxml-devel-1.8.7-5
libxml2-2.5.7-1
libxml2-devel-2.5.7-1
python-devel-2.2-4
make-3.79.1-3
binutils-2.9.aix43.010414-8
bison-1.34-2
glib-devel-1.2.8-5

I tried to compile gcc 3.3.2 from source but it encountered the common
"Virtual Memory Exhausted". A mismatch with autoconf ensured I can't compile
a later svn source distribution.

I built Apache 2.0.59 with shared libaries. Berkeley DB and mod-dav and this
works fine. I struggled building any later version - if I remember because
of autoconf being too old.

for reference ldd reports /usr/local/apache2/bin/httpd as referencing;
/usr/lib/libc.a(pse.o)
/usr/lib/libtli.a(shr.o)
/usr/lib/libpthreads.a(shr.o)
/usr/lib/libpthreads_compat.a(shr.o)
/usr/lib/libnsl.a(shr.o)
/usr/lib/libpthreads.a(shr_comm.o)
/usr/lib/libpthreads.a(shr_xpg5.o)
/usr/local/apache2/lib/libapr-0.so
/usr/lib/libiconv.a(shr4.o)
/usr/local/apache2/lib/libexpat.a(libexpat.so.0)
/usr/lib/librtl.a(shr.o)
/usr/local/BerkeleyDB.4.2/lib/libdb.so
/usr/local/apache2/lib/libaprutil-0.so
httpd
/usr/lib/libcrypt.a(shr.o)
/usr/lib/libc.a(shr.o)

After reading the INSTALL doc, I chose to compile Neon seperately, but to
its default install locations. This was a tad awkward, but finally worked
with;

./configure --enable-maintainer-mode --with-neon=/usr/local
--with-berkeley-db=/usr/local/BerkeleyDB.4.2 --with-apr=/usr/local/apache2
--with-apr-util=/usr/local/apache2 --without-ssl
LDFLAGS=-L/usr/local/include

(note I don't want SSL)

OK, so everything (reasonably) fine up to this point. I moved my source neon
directory out-of-the-way and tried a build of subversion with;

./configure --enable-maintainer-mode --with-neon=/usr/local
--with-berkeley-db=/usr/local/BerkeleyDB.4.2 --with-apr=/usr/local/apache2
--with-apr-util=/usr/local/apache2 --without-ssl

After a make clean the make fails at the linker stage with;

ld: 0711-317 ERROR: Undefined symbol: .svn_path_local_style
ld: 0711-317 ERROR: Undefined symbol: .svn_path_cstring_from_utf8
ld: 0711-317 ERROR: Undefined symbol: .svn_path_join
ld: 0711-317 ERROR: Undefined symbol: .svn_path_is_child
ld: 0711-317 ERROR: Undefined symbol: .svn_path_is_url
ld: 0711-317 ERROR: Undefined symbol: .svn_path_canonicalize
ld: 0711-317 ERROR: Undefined symbol: .svn_path_basename
ld: 0711-317 ERROR: Undefined symbol: .svn_path_uri_decode
ld: 0711-317 ERROR: Undefined symbol: .svn_path_split
ld: 0711-317 ERROR: Undefined symbol: .svn_path_internal_style
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
collect2: ld returned 8 exit status
make: *** [subversion/clients/cmdline/svn] Error 1

Adding -bnoquiet to the Makefile gives a bit more detail. I've added this
output at the end of this email for easier reading.

Retrying, this time with the not advised or useful --disable-shared option
results in a clean make and a make install that correctly details that
shared libraries have not been enabled by libtool.
So I end up with mod_dav_svn.la in /usr/local/apache2/modules, rather than
the shared object mod_dav_svn.so.
I'm no C programmer, so diagnosing the snag is not intuitive. I wondered if
perhaps I need to compile serially (if I knew how) or if the problem is
indicative of shortcomings with the AIX linker, or the make simply needs
further references to library paths with appropriate LDFLAGS.

If anyone has managed to get SVN 1.3.2 compiled with shared libraries on AIX
4.3.3 (or ay other version of AIX, or even Solaris or HP-UX) with GCC with
shared library support, any pointers-perhaps with suggested linker flags
would be gratefully received. I've run out of ideas of what I can
investigate.

Or...as hinted at in the INSTALL file, does anyone know the process for
building a static library for mod_dav_svn that can be linked into
httpd.conf?

"Note: it *is* possible to build mod_dav_svn as a static library and link it
directly into Apache. Possible, but painful. Stick with the shared library
for now; if you can't, then ask."

Ta!

Bren

(that -bnoquiet output)
################################

ld: 0711-318 ERROR: Undefined symbols were found.
The following symbols are in error:
Symbol Inpndx TY CL Source-File(Object-File) OR Import-File{Shared-object}
RLD: Address Section Rld-type Referencing Symbol
----------------------------------------------------------------------------
------------------
ld: 0711-317 ERROR: Undefined symbol: .svn_path_local_style
.svn_path_local_style [26] ER PR
subversion/clients/cmdline/status.c(status.o)
000008bc .text R_RBR [667] .svn_cl__print_status_xml
00000bd0 .text R_RBR [667] .svn_cl__print_status_xml
00000f64 .text R_RBR [680] .svn_cl__print_status
.svn_path_local_style [52] ER PR
subversion/clients/cmdline/status-cmd.c(status-cmd.o)
000006d4 .text R_RBR [673] .svn_cl__status
.svn_path_local_style [52] ER PR
subversion/clients/cmdline/propset-cmd.c(propset-cmd.o)
00000578 .text R_RBR [610] .svn_cl__propset
.svn_path_local_style [40] ER PR
subversion/clients/cmdline/proplist-cmd.c(proplist-cmd.o)
000003a0 .text R_RBR [594] .svn_cl__proplist
.svn_path_local_style [62] ER PR
subversion/clients/cmdline/propedit-cmd.c(propedit-cmd.o)
000007b0 .text R_RBR [618] .svn_cl__propedit
.svn_path_local_style [42] ER PR
subversion/clients/cmdline/propdel-cmd.c(propdel-cmd.o)
000003b0 .text R_RBR [596] .svn_cl__propdel
.svn_path_local_style [16] ER PR
subversion/clients/cmdline/notify.c(notify.o)
00000050 .text R_RBR [583] <.notify>
.svn_path_local_style [32] ER PR
subversion/clients/cmdline/info-cmd.c(info-cmd.o)
00000328 .text R_RBR [673] <.print_info_xml>
00000374 .text R_RBR [673] <.print_info_xml>
00000980 .text R_RBR [686] <.print_info>
00001078 .text R_RBR [686] <.print_info>
000010dc .text R_RBR [686] <.print_info>
00001140 .text R_RBR [686] <.print_info>
000011a4 .text R_RBR [686] <.print_info>
000017cc .text R_RBR [875] .svn_cl__info
00001858 .text R_RBR [875] .svn_cl__info
.svn_path_local_style [58] ER PR
subversion/clients/cmdline/blame-cmd.c(blame-cmd.o)
00000948 .text R_RBR [696] .svn_cl__blame
ld: 0711-317 ERROR: Undefined symbol: .svn_path_cstring_from_utf8
.svn_path_cstring_from_utf8 [44] ER PR
subversion/clients/cmdline/util.c(util.o)
000003cc .text R_RBR [701] .svn_cl__edit_externally
000004f8 .text R_RBR [701] .svn_cl__edit_externally
0000065c .text R_RBR [701] .svn_cl__edit_externally
ld: 0711-317 ERROR: Undefined symbol: .svn_path_join
.svn_path_join [66] ER PR subversion/clients/cmdline/util.c(util.o)
000007fc .text R_RBR [701] .svn_cl__edit_externally
.svn_path_join [42] ER PR subversion/clients/cmdline/diff-cmd.c(diff-cmd.o)
00000740 .text R_RBR [602] .svn_cl(double, int, float, float)
00000758 .text R_RBR [602] .svn_cl(double, int, float, float)
.svn_path_join [42] ER PR
subversion/clients/cmdline/checkout-cmd.c(checkout-cmd.o)
000003fc .text R_RBR [597] .svn_cl__checkout
ld: 0711-317 ERROR: Undefined symbol: .svn_path_is_child
.svn_path_is_child [92] ER PR subversion/clients/cmdline/util.c(util.o)
0000112c .text R_RBR [831] .svn_cl__get_log_message
ld: 0711-317 ERROR: Undefined symbol: .svn_path_is_url
.svn_path_is_url [18] ER PR
subversion/clients/cmdline/switch-cmd.c(switch-cmd.o)
00000094 .text R_RBR [593] <.rewrite_urls>
000000a4 .text R_RBR [593] <.rewrite_urls>
000003dc .text R_RBR [624] .svn_cl__switch
.svn_path_is_url [28] ER PR
subversion/clients/cmdline/proplist-cmd.c(proplist-cmd.o)
00000220 .text R_RBR [594] .svn_cl__proplist
.svn_path_is_url [42] ER PR
subversion/clients/cmdline/propget-cmd.c(propget-cmd.o)
00000464 .text R_RBR [637] .svn_cl__propget
.svn_path_is_url [50] ER PR
subversion/clients/cmdline/propedit-cmd.c(propedit-cmd.o)
0000052c .text R_RBR [618] .svn_cl__propedit
.svn_path_is_url [24] ER PR
subversion/clients/cmdline/mkdir-cmd.c(mkdir-cmd.o)
00000130 .text R_RBR [585] .svn_cl__mkdir
.svn_path_is_url [28] ER PR
subversion/clients/cmdline/merge-cmd.c(merge-cmd.o)
00000228 .text R_RBR [595] .svn_cl__merge
000003a8 .text R_RBR [595] .svn_cl__merge
000003d4 .text R_RBR [595] .svn_cl__merge
.svn_path_is_url [56] ER PR subversion/clients/cmdline/log-cmd.c(log-cmd.o)
000009c4 .text R_RBR [754] .svn_cl__log
00000a20 .text R_RBR [754] .svn_cl__log
00000ac0 .text R_RBR [754] .svn_cl__log
.svn_path_is_url [62] ER PR
subversion/clients/cmdline/info-cmd.c(info-cmd.o)
00001734 .text R_RBR [875] .svn_cl__info
.svn_path_is_url [20] ER PR
subversion/clients/cmdline/import-cmd.c(import-cmd.o)
0000016c .text R_RBR [583] .svn_cl__import
.svn_path_is_url [26] ER PR
subversion/clients/cmdline/diff-cmd.c(diff-cmd.o)
000001a4 .text R_RBR [602] .svn_cl(double, int, float, float)
000001c8 .text R_RBR [602] .svn_cl(double, int, float, float)
000004d8 .text R_RBR [602] .svn_cl(double, int, float, float)
00000514 .text R_RBR [602] .svn_cl(double, int, float, float)
000005b0 .text R_RBR [602] .svn_cl(double, int, float, float)
00000888 .text R_RBR [602] .svn_cl(double, int, float, float)
.svn_path_is_url [22] ER PR
subversion/clients/cmdline/delete-cmd.c(delete-cmd.o)
00000118 .text R_RBR [583] .svn_cl__delete
.svn_path_is_url [20] ER PR
subversion/clients/cmdline/copy-cmd.c(copy-cmd.o)
000000f4 .text R_RBR [581] .svn_cl__copy
00000108 .text R_RBR [581] .svn_cl__copy
.svn_path_is_url [20] ER PR
subversion/clients/cmdline/checkout-cmd.c(checkout-cmd.o)
000000f0 .text R_RBR [597] .svn_cl__checkout
000002fc .text R_RBR [597] .svn_cl__checkout
.svn_path_is_url [54] ER PR
subversion/clients/cmdline/blame-cmd.c(blame-cmd.o)
00000898 .text R_RBR [696] .svn_cl__blame
0000092c .text R_RBR [696] .svn_cl__blame
ld: 0711-317 ERROR: Undefined symbol: .svn_path_canonicalize
.svn_path_canonicalize [32] ER PR
subversion/clients/cmdline/switch-cmd.c(switch-cmd.o)
00000430 .text R_RBR [624] .svn_cl__switch
.svn_path_canonicalize [152] ER PR subversion/clients/cmdline/main.c(main.o)

00000db4 .text R_RBR [822] .main
.svn_path_canonicalize [24] ER PR
subversion/clients/cmdline/checkout-cmd.c(checkout-cmd.o)
00000170 .text R_RBR [597] .svn_cl__checkout
00000398 .text R_RBR [597] .svn_cl__checkout
ld: 0711-317 ERROR: Undefined symbol: .svn_path_basename
.svn_path_basename [32] ER PR
subversion/clients/cmdline/merge-cmd.c(merge-cmd.o)
00000474 .text R_RBR [595] .svn_cl__merge
0000048c .text R_RBR [595] .svn_cl__merge
.svn_path_basename [44] ER PR
subversion/clients/cmdline/info-cmd.c(info-cmd.o)
000009e0 .text R_RBR [686] <.print_info>
.svn_path_basename [22] ER PR
subversion/clients/cmdline/export-cmd.c(export-cmd.o)
00000148 .text R_RBR [581] .svn_cl__export
.svn_path_basename [26] ER PR
subversion/clients/cmdline/checkout-cmd.c(checkout-cmd.o)
00000188 .text R_RBR [597] .svn_cl__checkout
000003cc .text R_RBR [597] .svn_cl__checkout
ld: 0711-317 ERROR: Undefined symbol: .svn_path_uri_decode
.svn_path_uri_decode [34] ER PR
subversion/clients/cmdline/merge-cmd.c(merge-cmd.o)
000004c0 .text R_RBR [595] .svn_cl__merge
.svn_path_uri_decode [24] ER PR
subversion/clients/cmdline/export-cmd.c(export-cmd.o)
0000015c .text R_RBR [581] .svn_cl__export
.svn_path_uri_decode [28] ER PR
subversion/clients/cmdline/checkout-cmd.c(checkout-cmd.o)
0000019c .text R_RBR [597] .svn_cl__checkout
000003e0 .text R_RBR [597] .svn_cl__checkout
ld: 0711-317 ERROR: Undefined symbol: .svn_path_split
.svn_path_split [60] ER PR
subversion/clients/cmdline/propedit-cmd.c(propedit-cmd.o)
00000720 .text R_RBR [618] .svn_cl__propedit
ld: 0711-317 ERROR: Undefined symbol: .svn_path_internal_style
.svn_path_internal_style [172] ER PR
subversion/clients/cmdline/main.c(main.o)
000013c0 .text R_RBR [822] .main
ER: The return code is 8.
collect2: ld returned 8 exit status
make: *** [subversion/clients/cmdline/svn] Error 1

This e-mail and any attachments are confidential and intended solely
for the addressee and may also be privileged or exempt from disclosure
under applicable law. If you are not the addressee, or have received
this e-mail in error, please notify the sender immediately, delete it
from your system and do not copy, disclose or otherwise act upon any
part of this e-mail or its attachments..

Internet communications are not guaranteed to be secure or virus-free.
The Barclays Group does not accept responsibility for any loss arising
from unauthorised access to, or interference with, any Internet
communications by any third party, or from the transmission of any
viruses. Replies to this e-mail may be monitored by the Barclays
Group for operational or business reasons..

Any opinion or other information in this e-mail or its attachments
that does not relate to the business of the Barclays Group is personal
to the sender and is not given or endorsed by the Barclays Group.

Barclays Bank PLC.Registered in England and Wales (registered no. 1026167).
Registered Office: 1 Churchill Place, London, E14 5HP, United Kingdom.

Barclays Bank PLC is authorised and regulated by the Financial Services Authority.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Oct 13 11:38:45 2006

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.