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

Re: build error on win32

From: Branko Čibej <brane_at_xbc.nu>
Date: 2002-05-29 23:09:40 CEST

Branko Čibej wrote:

> Patrik Husfloen wrote:
>
>> I'm getting an error building svn on win32 using VC6.
>> I've got the latest version of apr, apr-util and svn (just got them
>> from cvs/svn)
>> if anyone can confirm this it would be great.
>>
>> libsvn_subr.lib(svn_error.obj) : error LNK2001: unresolved external
>> symbol _apr_allocator_set_mutex@8
>> Release/svn.exe : fatal error LNK1120: 1 unresolved externals
>
>
> This looks like a bug in APR. Both apr_allocator_set_mutex and
> apr_allocator_get_mutex are defined with APR_INLINE in apr_pools.c,
> which is clearly major bogosity. Either that APR_INLINE shoudl go
> away, or the inline definitions should move to a header (probably
> apr_allocator.h, where they're declared now), and made static.
>
> Sander, looks like you're the culprit here (the rev 1.159 commit).
> Comments?
>
Ho hum. I think there's also a bug in apr_pool_initialize. The sequence
there is

    apr_allocator_create(&global_allocator)
    apr_pool_create_ex(&global_pool, ...., global_allocator)
    apr_thread_mutex_create(&mutex, ...)
    apr_allocator_set_mutex(global_allocator, mutex)

But apr_pool_create_ex will call apr_allocator_alloc on the provided
allocator, and that will call apr_thread_mutex_lock ... on an
uninitialized mutex, no less.

At least, I /think/ that's the problem. Definitely all SVN tests on
Windows are crashing in the mutex lock in apr_allocator_alloc, and that
mutex definitely hasn't been initialized.

-- 
Brane Čibej   <brane_at_xbc.nu>   http://www.xbc.nu/brane/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Jun 1 14:23:21 2002

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

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