Branko Čibej wrote:
> Stefan Küng wrote:
>> Hi,
>>
>> If Subversion (and BDB) is compiled with VC8 (or
>> VCExpress/VS.NET2005), the resulting binaries will work ok, but BDB
>> repositories aren't compatible anymore with other clients.
>>
>> I've searched the web and found some posts indicating that the change
>> in the size of time_t is the reason for this. So by defining
>> _USE_32BIT_TIME_T, this should not be a problem anymore. But a BDB
>> repo created with the official Subversion client is still
>> incompatible. A client compiled with VC8 still can't access such a
>> repository via file:/// but crashes.
>>
>> Does anyone know how to fix this? Maybe a compiler switch I can use?
>> Another define I forgot? Because if I can't keep a client compiled
>> with VC8 compatible anymore to the official Subversion client, that's
>> bad.
>> I'm close to getting rid of BDB in TSVN because of this: better to
>> have users ask why something doesn't work anymore and tell them to
>> dump/load to FSFS than to receive 50 crashreports a day.
>
> I've told you this before: *don't build your own BDB DLLs for TSVN*.
>
> Use the ones that I posted on subversion.tigris.org. There is no issue
> of runtime library compatibility since at least svn-1.1, because we tell
> BDB which malloc(), realloc() and free() to use.
The problem with that approach is that I can't debug my app anymore.
Because the CRT debug dll's aren't part of the OS, and they don't ship
with the newer VS.NET but only with VC6.
But I now got it working anyway:
add the line
#define _USE_32BIT_TIME_T
at the top of the file /build_win32/db_config.h and then rebuild the
berkeley db dll's. It's not enough to just set _USE_32BIT_TIME_T as a
compiler define - I don't know why but that doesn't work.
Then, all the libs using the berkeley dll's must also be compiled with
_USE_32BIT_TIME_T defined. That includes apr-util and Subversion. So you
might want to patch your build generator to set that define.
For those interested:
I have created Nant build scripts which will build all the libs and
Subversion without using devenv but the cl.exe and link.exe alone.
You can find those scripts here:
http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/ext/build/
By using those scripts, I can avoid learning python to patch the
Subversion build generator if I need to.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jan 19 00:08:31 2006