Hi (Alon),

Just a quick overview of the build issues I ran into while building with

$ cd openvpn-build/windows-nsis
$ ./build-snapshot <signing options>

First, the build_openvpn_gui() fails with

i686-w64-mingw32-gcc -std=gnu99 -municode -pedantic -Wall -Wextra
-mwindows -o openvpn-gui.exe main.o openvpn.o localization.o tray.o
viewlog.o service.o options.o passphrase.o proxy.o registry.o scripts.o
manage.o openvpn_config.o res/openvpn-gui-res.o
-L/home/samuli/opt/openvpn-build/windows-nsis/tmp/image-i686/openvpn/lib
-lcrypto -lws2_32 -lcomctl32
/usr/lib/gcc/i686-w64-mingw32/4.6.1/../../../../i686-w64-mingw32/lib/../lib/libmingwex.a(lib32_libmingwex_a-_wctime32.o):
In function `_wctime32':
/build/buildd/mingw-w64-1.0+20110523/mingw-w64-crt/misc/_wctime32.c:15:
undefined reference to `__imp__wctime'
collect2: ld returned 1
make[1]: *** [openvpn-gui.exe] Error 1
make[1]: leaving directory
"/home/samuli/opt/openvpn-build/windows-nsis/tmp/build-i686/openvpn-gui-1.0.3"
make: *** [install-strip] Error 2
FATAL: make openvpn-gui
FATAL: build i686 >&2

I circumvented this by commenting out openvpn-gui building in
openvpn-build/generic/build main() method:

build_openvpn
#[ -n "${BUILD_FOR_WINDOWS}" ] && build_openvpn_gui
copy_docs

I also had to fix openvpn.nsi or it failed, not finding openvpn-gui.exe

Next "openvpn-build/windows-nsis/build" failed:

unix2dos: converting file tmp/installer/easy-rsa/Windows/init-config.bat
to DOS format ...
unix2dos: converting file tmp/installer/easy-rsa/Windows/revoke-full.bat
to DOS format ...
unix2dos: converting file tmp/installer/easy-rsa/Windows/serial.start to
DOS format ...
unix2dos: converting file tmp/installer/easy-rsa/Windows/vars.bat.sample
to DOS format ...
./build: 5: Bad substitution
FATAL: pack i686 >&2

This was a Dash shell issue, which you apparently fixed. I just didn't
have time yet to test your fix. Switching to /bin/bash helped get around
this.

I also noticed that there's a dependency to osslsigncode 1.4+ due to
missing pkcs12 options in older versions. While it would fairly easy to
adapt the codesign() method to support 1.3 and earlier, I think the 1.4
dependency is fine: not that many people build Windows installers.

I added some comments to the scripts as I went through them. I'll send
in patches next week that clarify how they work, i.e. make them seem
less "magical" :D.

Alon: thanks for work well done! This is way better than what we had
earlier!

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

irc freenode net: mattock



Reply via email to