OpenVPN / openvpn-build

OpenVPN Build
326 stars 238 forks source link

Building 2.6_git for Windows with NSIS fails for openvpn.8.html #219

Closed TinCanTech closed 1 year ago

TinCanTech commented 3 years ago

I presume this is related to the new manual parts.

Log:

Packing images
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/libopenvpnmsica.dll
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/libcrypto-1_1-x64.dll
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/libssl-1_1-x64.dll
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/openvpn.exe
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/lz4c.exe
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/unlz4.exe
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/lz4.exe
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/openssl.exe
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/openvpn-gui.exe
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/liblzo2-2.dll
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/tapctl.exe
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/openvpnserv.exe
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/lz4cat.exe
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/bin/libpkcs11-helper-1.dll
Signing /home/tct/openvpn/build-system/ovpn-build-new/windows-nsis/tmp/image-x86_64/openvpn/lib/engines-1_1/padlock.dll
find: ‘tmp/installer/openvpn/share/doc/*’: No such file or directory
unix2dos: converting file tmp/installer/easy-rsa/2.0/openssl-0.9.6.cnf to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/2.0/openssl-0.9.8.cnf to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/2.0/openssl-1.0.0.cnf to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/README.txt to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/build-ca-pass.bat to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/build-ca.bat to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/build-dh.bat to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/build-key-pass.bat to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/build-key-pkcs12.bat to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/build-key-server-pass.bat to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/build-key-server.bat to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/build-key.bat to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/clean-all.bat to DOS format...
unix2dos: converting file tmp/installer/easy-rsa/Windows/index.txt.start to DOS format...
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...
Command line defined: "ARCH="
Command line defined: "PACKAGE_NAME=OpenVPN"
Command line defined: "VERSION_STRING=2.6_git-I601-Win10"
Command line defined: "SPECIAL_BUILD="
Command line defined: "OPENVPN_ROOT=tmp\installer\openvpn"
Command line defined: "OPENVPN_ROOT_I686=tmp\installer\i686"
Command line defined: "OPENVPN_ROOT_X86_64=tmp\installer\x86_64"
Command line defined: "TAP_WINDOWS_INSTALLER=tmp\tap-windows-9.24.2-I601-Win10.exe"
Command line defined: "USE_TAP_WINDOWS"
Command line defined: "WINTUN_INSTALLER_X86_64=tmp\wintun-amd64.msi"
Command line defined: "WINTUN_INSTALLER_I686=tmp\wintun-x86.msi"
Command line defined: "OPENVPNSERV2_EXECUTABLE=tmp\openvpnserv2-1.3.0.0.exe"
Command line defined: "EASYRSA_ROOT=tmp\installer\easy-rsa"
Command line defined: "USE_EASYRSA"
Command line defined: "USE_OPENVPN_GUI"
Command line defined: "OUTPUT=./openvpn-install-2.6_git-I601-Win10.exe"
Processing config: /etc/nsisconf.nsh
Processing script file: "openvpn.nsi" (UTF8)
File: "tmp\installer\i686\share\doc\openvpn\openvpn.8.html" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
   /oname=outfile one_file_only)
Error in script "openvpn.nsi" on line 365 -- aborting creation process
FATAL: makensis
FATAL: pack installer >&2

I commented out three references to openvpn.8.html in openvpn.nsi and successfully built the complete installer.

cron2 commented 3 years ago

Hi,

On Thu, May 27, 2021 at 10:02:10AM -0700, TinCanTech wrote:

I presume this is related to the new manual parts.

You need to have "rst2man" installed. On Gentoo this is part of the "docutils" package.

@samuli: can you please include that in your "how to set up a NSIS building machine" documentation?

I commented out three references to openvpn.8.html in openvpn.nsi and successfully built the complete installer.

No, you built an incomplete installer :-)

gert -- "If was one thing all people took for granted, was conviction that if you feed honest figures into a computer, honest figures come out. Never doubted it myself till I met a computer with a sense of humor." Robert A. Heinlein, The Moon is a Harsh Mistress

Gert Doering - Munich, Germany @.***

TinCanTech commented 3 years ago

You need to have "rst2man" installed. On Gentoo this is part of the "docutils" package.

Indeed, I did not have docutils-common as it is called by ubuntu

Would it be better for this script to check for prerequisites before starting ? Otherwise, it is a fair time to wait for a failure. (20mins for --build-depcache and 5mins more for --use-depcache).

In this use case, I did not have quite a few of the requirements installed, so it took me ages to complete. Even after reading the requirements here: https://community.openvpn.net/openvpn/wiki/SettingUpGenericBuildsystem

I can edit that page.

No, you built an incomplete installer :-)

Story of my life ;-)

cron2 commented 3 years ago

I leave this open so someone who feels like hacking on openvpn-build can find it.

TO DO: check prerequisites early, so it doesn't fail after wasting 5..20 minutes of build time.

mattock commented 3 years ago

This feature is a side-effect of how openvpn-build was originally designed: the packaging phase was tightly integrated with the build phase. It is possible to run the packaging phase separate - I believe our Trac wiki has some of my notes about it - but it is clumsy. Basically you need to figure out all the variables that get passed down from the build to the NSIS command-line. Checking for file presence in advance would be fairly easy, though, at least in the actual build scripts.

flichtenheld commented 1 year ago

We have decided to remove the nsis/mingw buildsystem since it is not maintained anymore. Only the msi/msvc buildsystem will remain, unless someone steps up to maintain the other parts. This issue will be closed when the removal actually happens.

flichtenheld commented 1 year ago

NSIS installer is not supported anymore. Closing issues.