Hello,
Our company recently implemented a VPN solution called DirectAccess. Due
to the way this works the client application MUST support IPv6, or it
won't work (even when the server is IPv4 only). One of the applications
I need to support via this is Subversion, and since the majority of our
users use TortoiseSVN I need to get a version of it which is IPv6-capable.
I've been following the instructions in the readme.txt and build.txt
with the distribution and I've gotten it to compile without the ipv6
option specified (though it bombs out during creation of the docs, all
the compilation works properly). The command which works is:
nant setup
But running it with:
nant ipv6 setup
Gets me this error when trying to link against the library logcachelib.lib:
> [exec] 24>Compiling resources...
> [exec] 24>Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385
> [exec] 24>Copyright (C) Microsoft Corporation. All rights reserved.
> [exec] 24>Linking...
> [exec] 24>LINK : fatal error LNK1181: cannot open input file '..\..\obj\logcachelib\release\logcachelib.lib'
> [exec] 24>Build log was saved at "file://c:\svn\tortoisesvn\tags\version-1.6.15\obj\TortoiseProc\Release\BuildLog.htm"
> [exec] 24>TortoiseProc - 1 error(s), 4 warning(s)
> [exec] ========== Rebuild All: 22 succeeded, 2 failed, 1 skipped ==========
>
> BUILD FAILED - 0 non-fatal error(s), 304 warning(s)
>
> c:\svn\tortoisesvn\tags\version-1.6.15\src\TortoiseSVN.build(104,14):
> External Program Failed: devenv.com (return code was 1)
>
> Total time: 302.3 seconds.
Looking into it a bit more deeply I found that logcachelib compilation
failed (which didn't fail the build), there were a lot of errors there...
> Compiling...
> stdafx.cpp
> Compiling...
> LogCacheSettings.cpp
> SVNLogQuery.cpp
> C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\Wspiapi.h(48) : error C2894: templates cannot be declared to have 'C' linkage
> C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\Wspiapi.h(74) : error C2061: syntax error : identifier 'socklen_t'
> C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\Wspiapi.h(166) : error C3861: 'inet_addr': identifier not found
> C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\Wspiapi.h(167) : error C2065: 'INADDR_NONE' : undeclared identifier
> C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\Wspiapi.h(206) : error C2027: use of undefined type 'addrinfo'
> C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\Wspiapi.h(69) : see declaration of 'addrinfo'
> C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\Wspiapi.h(211) : error C2027: use of undefined type 'WspiapiNewAddrInfo::sockaddr_in'
> C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\Wspiapi.h(202) : see declaration of 'WspiapiNewAddrInfo::sockaddr_in'
> C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\Wspiapi.h(217) : error C2027: use of undefined type 'WspiapiNewAddrInfo::sockaddr_in'
> ...
It looks like it's trying to Include the wspiapi header file, which is
using a bunch of networking stuff which isn't defined anywhere.
The only difference between the ipv6 and non ipv6 builds as far as I can
tell is that the following flags are set in subversion.build:
<define name="_WIN32_WINNT" value="0x0501" if="${ipv6 == 'enabled'}" />
<define name="APR_HAVE_IPV6" if="${ipv6 == 'enabled'}" />
As far as I can tell the APR_HAVE_IPV6 flag is only relevant to the
apache portable runtime compilation (which works fine). The _WIN32_WINNT
flag gets set to 0x0501 in the stdafx.h header file for the LogCacheLib
solution as well, so this should be an identical configuration as far as
that library is concerned.
I am a bit stumped at this point, can anyone suggest a good course of
action for getting this to compile?
Thanks,
Timothy
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2755224
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-06-01 15:45:52 CEST