threerings / openvpn-auth-ldap

Implements username/password authentication via LDAP for OpenVPN 2.x.
Other
135 stars 62 forks source link

Building on recent compilers #64

Closed guywyers closed 5 years ago

guywyers commented 6 years ago

While working on ticket #62 and subsequent pull request #63, I really had a hard time getting this thing building. So after I had finished implementing the patch proposed in ticket #62, I worked on getting this to build on a recent configuration.

The main issue is the change in gcc as others have commented (#60 on this forum, but also elsewhere): there were some major changes between gcc 4.6 and 4.7, which essentially broke the build. For my initial build purpose I did go back to gcc 4.6 and was able to build it without an issue, which what needed to implement pull request #63. I did this on an Ubuntu 14.0x configuration.

Afterwards, I started getting the build process working on a more recent config: Ubuntu 16.05 with a gcc 5 compiler. It took a bit of digging, but I have a patch to got it to build.

After this patch it builds without any issue. However, you still need to pass two flags to configure (besides the openvpn include folder): ./configure --with-openvpn=/usr/include/openvpn CFLAGS="-fPIC" OBJCFLAGS="-std=gnu11" I could have put these in the autogen scripts, but I'm not sure to what extend they're specific to my configuration, so I preferred to keep them out of the standard scripts.

Ovbiously, this patch is already included in pull request #63.