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

Re: Linker issues building subversion on Windows

From: Robert Dailey <rcdailey_at_gmail.com>
Date: Fri, 28 Aug 2009 08:01:54 -0500

I actually build everything from the ground up. All of subversion's
dependencies I build myself.

Yeah it took me a long long time to build Subversion from scratch. I
actually created a Python 2.6 script that you can use to install Subversion.
It will download all of the dependencies and build it from scratch. If you
want to try it out, you can grab it from my open source project here:
http://code.google.com/p/haresvn/source/browse/trunk/third_party.py

<http://code.google.com/p/haresvn/source/browse/trunk/third_party.py>You'll
need Python 2.6 <http://www.python.org/download/> and the
argparse<http://code.google.com/p/argparse/downloads/list>module to
run it. You can just run the script without parameters and it
should work. Note it's only tested on Windows right now, and I'm pretty sure
it won't work on other operating systems yet. Also make sure you have Visual
Studio 2008 installed. It won't work with other versions of VS. Also if
anyone else wants to peek at it, it will give you a good idea of how I'm
building Subversion. Perhaps you could point out some mistakes I'm making,
which would be extremely helpful.

---------
Robert Dailey

On Fri, Aug 28, 2009 at 3:41 AM, Johan Corveleyn <
johan.corveleyn_at_uz.kuleuven.ac.be> wrote:

> > Van: Robert Dailey [mailto:rcdailey_at_gmail.com]
> > I build subversion and all of its dependencies from scratch on
> > Windows
> > using MSVC9. When I link against the appropriate libraries for my
> > project I get linker warnings and errors. A bunch of them. First,
> > I'll
> > show you the libraries I'm linking against:
> >
> >
> > apr-1.lib
> > aprutil-1.lib
> > ws2_32.lib
> > libsvn_client-1.lib
> > libsvn_subr-1.lib
> > libsvn_wc-1.lib
> >
> >
> > And my preprocessor directives (for my debug configuration):
> >
> >
> > WIN32
> > _WINDOWS
> > _DEBUG
> > _CRT_SECURE_NO_WARNINGS
> > UNICODE
> > _UNICODE
> > BOOST_ALL_NO_LIB
> > APR_DECLARE_STATIC
> > API_DECLARE_STATIC
> > APU_DECLARE_STATIC
> > NDEBUG
> > SVN_NEON_0_26=1
> > SVN_NEON_0_27=1
> > SVN_NEON_0_28=1
> > SVN_HAVE_NEON
> > SVN_LIBSVN_CLIENT_LINKS_RA_NEON
> > SVN_USE_WIN32_CRASHHANDLER
> > _CRTDBG_MAP_ALLOC
> > CMAKE_INTDIR=\"Debug\"
> >
> >
> > And when I build my project, I get the following linker warnings
> > (first) and errors (last set). Note that I did not show them all
> > here,
> > only a few. There are actually hundreds. I can't seem to figure out
> > the cause of the warnings & errors.
> >
> >
> > Warning 1 warning LNK4098: defaultlib 'MSVCRT' conflicts with
> > use of
> > other libs; use /NODEFAULTLIB:library subversion subversion
> > Warning 2 warning LNK4217: locally defined symbol
> > _apr_palloc_at_8
> > imported in function _svn_md5__digests_match libsvn_subr-1.lib
> > subversion
> > Warning 3 warning LNK4217: locally defined symbol
> > _apr_palloc_at_8
> > imported in function _svn_sha1__digests_match libsvn_subr-1.lib
> > subversion
> > Warning 4 warning LNK4049: locally defined symbol
> > _apr_palloc_at_8
> > imported libsvn_subr-1.lib subversion
> > Warning 5 warning LNK4049: locally defined symbol
> > _apr_palloc_at_8
> > imported libsvn_subr-1.lib subversion
> >
> >
> > Error 233 error LNK2019: unresolved external symbol
> > __imp__apr_strnatcmp_at_8 referenced in function
> > _svn_auth_get_platform_specific_provider libsvn_subr-1.lib
> > subversion
> > Error 234 error LNK2019: unresolved external symbol
> > __imp__apr_base64_encode_at_12 referenced in function
> > _windows_password_encrypter libsvn_subr-1.lib subversion
> > Error 235 error LNK2019: unresolved external symbol
> > __imp__apr_base64_encode_len_at_4 referenced in function
> > _windows_password_encrypter libsvn_subr-1.lib subversion
> > Error 236 error LNK2019: unresolved external symbol
> > __imp__CryptProtectData_at_28 referenced in function
> > _windows_password_encrypter libsvn_subr-1.lib subversion
> > Error 237 error LNK2019: unresolved external symbol
> > __imp__CryptUnprotectData_at_28 referenced in function
> > _windows_password_decrypter libsvn_subr-1.lib subversion
> >
> >
> > Help is VERY much appreciated. Thank you.
>
> Just a hunch: did you take those apr libs you're linking against from an
> Apache msi install? Or did you build them yourself with the same MSVC9
> environment? I just remembered the following from the INSTALL file:
> -----
> Note that if you are not using Visual Studio 6 (and you want to
> run and test the server modules) then you must rebuild Apache
> from source -- do not use the stock MSI since mixing C runtime
> libraries is not supported.
> -----
>
> Maybe you are experiencing a similar issue with "mixing C runtime
> libraries"?
>
> Note: I'm very unexperienced in building on Windows, but was trying to make
> a build myself yesterday with VC Express 2008 (based on a Makefile posted by
> Daniel Shahaf: http://svn.haxx.se/users/archive-2009-07/0764.shtml). I
> didn't get through it yet (got stuck on building openssl), and gave up
> around 3am this morning. Will try again this weekend :).
>
> Regards,
> Johan
>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2388239

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-08-28 15:02:53 CEST

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.