options.c: In function 'parse_http_proxy_fallback': options.c:1474:33: error: dereferencing pointer to incomplete type options.c:1477:4: error: dereferencing pointer to incomplete type options.c:1478:5: error: dereferencing pointer to incomplete type The problem here is that the context struct is only declared in options.c. The definition is in openvpn.h which doesn't seem to be included. I tried the build with USE="-*" if that matters.
Created attachment 248504 [details, diff] Include openvpn.h in options.c
This is not a problem with gcc-4.5.1, but with the -ssl flag. Can you try with ssl? It's been mailed to one of the openvpn mailing lists, so it should be fixed in some future release.
You are right, it works with USE=ssl, sorry about that. Because a friend of mine still had gcc-4.4 and it worked for him, I thought of it being an issue introduced with gcc-4.5.
I can confirm this on 2.1.4 as well
Openvpn-2.2.0 also fails to compile without ssl.
Several patches were applied between 2.2.0 and 2.2.1 which address this issue, among others. A version bump and a stabilisation push would be the simplest solution. Alternatively, the patches could be cherry picked and backported from here:- http://openvpn.git.sourceforge.net/git/gitweb.cgi?p=openvpn/openvpn.git;a=shortlog;h=refs/tags/v2.2.1
2.2.2 is in the tree.