On Wednesday, June 14, 2017 23:40 CEST, "Sebastian Reitenbach" <[email protected]> wrote:
> > On Tuesday, June 13, 2017 18:47 CEST, Jeremie Courreges-Anglas > <[email protected]> wrote: > > > > > (adding openvpn-auth-ldap and libobjc2 maintainer to Cc) > > > > Stuart Henderson <[email protected]> writes: > > > > > On 2016/10/18 21:29, Jeremie Courreges-Anglas wrote: > > >> Pascal Stumpf <[email protected]> writes: > > >> > > > >> > I don't claim to know much about objc, but I think the correct solution > > >> > would be to either rename libobj from lang/gcc to libeobjc (and make > > >> > the > > >> > port use it) or go the fortran route and remove support from base. > > >> > According to sqlports, openvpn-auth-ldap is the only port with objc in > > >> > WANTLIB (GNUstep stuff uses clang + libobjc2). > > >> > > >> Same stance wrt objc, I think we should remove it from base. I took > > >> a quick look at this openvpn plugin (last update from 2007...) and it > > >> looks like just using gobjc from ports isn't enough. Debian has patches > > >> to allow building with gcc 4.6+, those patches look interesting but > > >> I did not dig further. There also are mentions of gnustep in their > > >> package. > > > > > > So openvpn-auth-ldap is broken again because of the libobjc conflict; > > > it picks up the higher-numbered version from /usr/local/lib ahead of > > > the lower-numbered version in /usr/lib (i.e. higher version number> > > > > trumps being earlier in the path). > > > > > > As this is now broken anyway, and other objc ports use libobjc2 instead, > > > there's not really any disadvantage in removing libobjc from base.> > > I think that just removing it makes sense. > > > > In the meantime... > > > > -r--r--r-- 1 root bin 470212 Jun 10 04:24 /usr/lib/libobjc.so.6.0> > > -rw-r--r-- 1 root bin 632699 Jun 8 23:57 /usr/local/lib/libobjc.so.6.1 > > > > The two libraries aren't compatible, yet they had the same version. > > Shouldn't we bump /usr/local/lib/libobjc.so.6.1 to > > /usr/local/lib/libobjc.so.7.0 ? > > > > > Then openvpn-auth-ldap would need fixing to work with whichever of> > > > > ports libobjc and libobjc2 is easiest.. > > > > Here are the patches I mentioned (debian/patches subdir) > > > > > > http://http.debian.net/debian/pool/main/o/openvpn-auth-ldap/openvpn-auth-ldap_2.0.3-6.1.debian.tar.xz > > thanks for that pointer, with these patches, some additional changes to > aclocal.m4, and making use > of the gnustep ports module, I easily got it to build against libobjc2. Some > remarks: > > The additional changes to aclocal.m4: > - s/lobjc/lobjc2/ > - with that configure then detects that all 3 tested runtimes work fine, and > prefers apple runtime, > I didn't bothered to check why that's the case, I just commented out the > two preferred runtimes > to end up with libobjc2 > - there is a configure parameter --with-libobjc-runtime that can be set to > modern, but then configure > bailed out on me miserably. > > When building, there are first quite a few warnings, mostly about format > strings. The last big bunch > of warnings is about the tests it builds. I checked, and the reason is that > for the modern runtime, > it's basically declaring/building an empty TRObject class (See patches to > TRobject.{hm}) and because > of that the refCount method is not there. > > Make test doesn't work, I guess problem with a $SHELL, however, running > 'gmake test' in the > build directory runs 38 tests, 0 failures, 5 errors. > The 5 errors are all related to the missing refCount from TRObject. > > Maybe the tests could be patched, or even just not built at all? I decided to patch the tests instead of omitting them, so patch below now builds tests without warning and runs the remaining 28 tests without failures. > > Someone who uses it, might want to test it? > I also have a LDAP server setup here, but no openvpn server around to test, > so could take a while to set it up properly. > > Other comments patches cleanup etc. welcome as well, as this was just > quickly hacked together so far ;) > > cheers, > Sebastian >
openvpn-auth-ldap
Description: Binary data
