> The attached patch allows the openvpn-build system to create and use
> cache tarballs for dependencies, preventing them from being built every
> time (even when they haven't changed.) My VM build time went from ~12 to
> under 2 minutes with this feature.
>
>
Hi Josh,

First of all sorry for the long delay.

I tested your patch today and encountered a build failure when using the
dependency cache. The following command seems properly to generate
dependency cache packages to openvpn-build/generic/depcache:

SAVE_DEP_CACHE=1 ./build-complete --sign --sign-pkcs12=<pkcs12-file>
--sign-pkcs12-pass=<pkcs12-pass> --sign-timestamp="<timestamp-server>"

However, when I try to use the dependency cache I get a build failure:

USE_DEP_CACHE=1 ./build-complete --sign --sign-pkcs12=<pkcs12-file>
--sign-pkcs12-pass=<pkcs12-pass> --sign-timestamp="<timestamp-server>"
--- snip ---
libtool: link: i686-w64-mingw32-gcc
-I/home/samuli/openvpn-build/windows-nsis/tmp/image-i686/openvpn/include
-I/home/samuli/openvpn-build/windows-nsis/tmp/image-i686/openvpn/include
-I/home/samuli/openvpn-build/windows-nsis/tmp/image-i686/openvpn/include
-I/home/samuli/openvpn-build/windows-nsis/tmp/image-i686/openvpn/include
-I/home/samuli/openvpn-build/windows-nsis/tmp/image-i686/openvpn/include
-municode -UUNICODE -o .libs/openvpn.exe base64.o buffer.o clinat.o
crypto.o crypto_openssl.o crypto_polarssl.o dhcp.o error.o event.o
fdmisc.o forward.o fragment.o gremlin.o helper.o httpdigest.o lladdr.o
init.o interval.o list.o lzo.o manage.o mbuf.o misc.o platform.o
console.o mroute.o mss.o mstats.o mtcp.o mtu.o mudp.o multi.o ntlm.o
occ.o pkcs11.o pkcs11_openssl.o pkcs11_polarssl.o openvpn.o options.o
otime.o packet_id.o perf.o pf.o ping.o plugin.o pool.o proto.o proxy.o
ps.o push.o reliable.o route.o schedule.o session_id.o shaper.o sig.o
socket.o socks.o ssl.o ssl_openssl.o ssl_polarssl.o ssl_verify.o
ssl_verify_openssl.o ssl_verify_polarssl.o status.o tun.o win32.o
cryptoapi.o openvpn_win32_resources.o 
../../src/compat/.libs/libcompat.a
-L/home/samuli/openvpn-build/windows-nsis/tmp/image-i686/openvpn/lib
/home/samuli/openvpn-build/windows-nsis/tmp/image-i686/openvpn/lib/liblzo2.dll.a
/home/samuli/openvpn-build/windows-nsis/tmp/image-i686/openvpn/lib/libpkcs11-helper.dll.a
-L/home/samuli/openvpn-build/windows-nsis/tmp/image-x86_64/openvpn/lib
-lssl -lcrypto -lgdi32 -lws2_32 -lwininet -lcrypt32 -liphlpapi -lwinmm
-L/home/samuli/openvpn-build/windows-nsis/tmp/image-i686/openvpn/lib
crypto_openssl.o:crypto_openssl.c:(.text+0x160): undefined reference to
`_EVP_CipherInit'
crypto_openssl.o:crypto_openssl.c:(.text+0x18f): undefined reference to
`_EVP_CipherUpdate'
crypto_openssl.o:crypto_openssl.c:(.text+0x1dc): undefined reference to
`_ERR_clear_error'
crypto_openssl.o:crypto_openssl.c:(.text+0x219): undefined reference to
`_OBJ_nid2sn'
crypto_openssl.o:crypto_openssl.c:(.text+0x221): undefined reference to
`_EVP_get_cipherbyname'
crypto_openssl.o:crypto_openssl.c:(.text+0x239): undefined reference to
`_OBJ_nid2sn'
crypto_openssl.o:crypto_openssl.c:(.text+0x250): undefined reference to
`_EVP_CIPHER_flags'
crypto_openssl.o:crypto_openssl.c:(.text+0x269): undefined reference to
`_EVP_CIPHER_flags'
crypto_openssl.o:crypto_openssl.c:(.text+0x287): undefined reference to
`_EVP_CIPHER_key_length'
--- snip ---

If I don't use the dependency cache the build completes succesfully. Am
I using the cache functionality the way it's supposed to?

-- 
Samuli Seppänen
Community Manager
OpenVPN Technologies, Inc

irc freenode net: mattock


Reply via email to