FYI, we are out of luck for a couple more days. I have vulcan patch ready for samba-4.2, however, we need changes in 4.2.2 (4.1.18 officially, but in 4.2.2 as well). https://github.com/openchange/openchange/issues/289
Additionally, I plan to split packages: libmapi, openchange-client, openchange-server, ocsmanager, and rpcproxy.
Search Criteria
Package Details: openchange-server 2.2-7
Package Actions
- View PKGBUILD
- Download tarball
- Search wiki
- Flagged out-of-date (2015-05-25)
| Package Base: | openchange-server |
|---|---|
| Description: | A portable, open source implementation of Microsoft Exchange server and Exchange protocols. |
| Upstream URL: | http://www.openchange.org |
| Category: | network |
| Licenses: | |
| Conflicts: | |
| Provides: | |
| Replaces: | |
| Submitter: | DJ_L |
| Maintainer: | DJ_L |
| Last Packager: | DJ_L |
| Votes: | 0 |
| First Submitted: | 2013-12-11 01:40 |
| Last Updated: | 2015-03-25 05:02 |
Dependencies (14)
- boost
- file
- libical
- mysql-python
- python2
- samba>=4.1.11
- sqlite3
- ccache (make)
- docbook-xsl (make)
- libxslt (make)
- mod_wsgi (optional) – (unknown)
- python2-lxml (optional) – (unknown)
- python2-pycurl (optional) – (unknown)
- python2-pylons (optional) – (unknown)
Required by (0)
Sources
- http://tracker.openchange.org/attachments/download/246/openchange-2.2-NANOPROBE.tar.gz
- ocsmanager.service
- openchange-samba42-1.patch
Latest Comments
Comment by DJ_L
Comment by DJ_L
Sorry guys, been AFK for quite a while (family issues). Back and working on it now. Expect an update hopefully this weekend. Thanks for the heads up Lone_Wolf. gillecaluim, sorry I haven't gotten back to your email yet. I //think// that I recall it working at some point in the past, but I haven't yet gotten around to testing (whether my memory is just fuzzy or I'm full of bull). Also, any objections to a properly split package here to handle both roles when EDS is updated (assuming it even needs an update for 2.3 - the previous OC maintainer for the client libs is usually on top of it)?
Comment by Lone_Wolf
Url no longer works, use
https://github.com/openchange/openchange/releases/download/openchange-2.2-NANOPROBE/openchange-2.2-NANOPROBE.tar.gz
instead.
also "OpenChange 2.3 VULCAN Released!:, see upstream site.
Comment by gillecaluim
have you got group calendaring working with sogo. If so, how? I've created samba4 AD groups(with email address) but haven't found any tutorial about sharing calendars with groups instead of adding individuals separately
Comment by gillecaluim
re-installing smbclient fixed the build error and I've provisioned successfully. Thanks. Sent you an email about a related project since there doesn't seem to be a way to pm here.
Comment by DJ_L
Did you also reinstall smbclient and libwbclient after removing your custom samba install? smbclient owns that file.
Comment by gillecaluim
that file doesn't exist?
find /usr/lib/samba -name "libsamba*"
/usr/lib/samba/libsamba-cluster-support-samba4.so
/usr/lib/samba/libsamba-sockets-samba4.so
/usr/lib/samba/libsamba-modules-samba4.so
/usr/lib/samba/libsamba-python-samba4.so
/usr/lib/samba/libsamba-net-samba4.so
/usr/lib/samba/libsamba3-util-samba4.so
/usr/lib/samba/libsamba-security-samba4.so
I also don't see that in the samba package list
Comment by DJ_L
Does the file exist? /usr/lib/samba/libsamba-debug-samba4.so
Alternately, what is the output of `pkg-config --variable=libdir samba-util`?
Comment by gillecaluim
reverted to regular samba from ArchLinux packages but still getting same error
/usr/sbin/ld: cannot find -lsamba-debug-samba4
collect2: error: ld returned 1 exit status
Makefile:359: recipe for target 'libmapipp.so.2.2' failed
make: *** [libmapipp.so.2.2] Error 1
==> ERROR: A failure occurred in build().
Aborting...
Comment by DJ_L
Yes, that is the reason.
Comment by gillecaluim
or maybe it's because I patched my version of samba for the debug libraries?
Comment by gillecaluim
yes, I can't provision the git version...still waiting response from dev
tried your updated openchange-server package but get build error
ln -fs libmapi.so.2.2 libmapi.so.0
Linking libmapipp.so.2.2
/usr/sbin/ld: cannot find -lsamba-debug-samba4
collect2: error: ld returned 1 exit status
Makefile:359: recipe for target 'libmapipp.so.2.2' failed
make: *** [libmapipp.so.2.2] Error 1
==> ERROR: A failure occurred in build().
Aborting...
I'm guessing you've make some other changes to the configure which you haven't propagated into this package
Comment by DJ_L
That's with the git version? I'm running the new 2.2 build live with samba-4.2.0 now.
Comment by gillecaluim
unable to provision openchange...
adding dcerpc endpoint servers = +epmapper, +mapiproxy to smb.conf causes samba to fail.
grrr...it might compile but it's still broken
Comment by DJ_L
Got to it a night early. Tested. Checks OK.
Comment by DJ_L
Shouldn't have to patch Samba at all. I don't think we'll get Samba with public debug libs again. Might want to go back to distributed samba and use the patch as I have it in the proposed pkg. One change, I inadvertantly left the second /usr/lib/samba in the patch, it should be determined by pkg-config (exactly as is earlier in the same line).
Comment by gillecaluim
applied the aforementioned patch to the openchange.git package I've co-opted and it finally compiled to the end :)
==> Creating package "openchange-git"...
-> Generating .PKGINFO file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: openchange-git 2.3-1 (Tue Mar 24 15:58:20 PDT 2015)
I built it against the patched samba 4.2 version and didn't have to change any paths to build.
That being said, I still need to test the install and confirm that it actually works and can be provisioned, etc.
Comment by DJ_L
Third times a charm...
Test build:
http://www.lucasit.com/blfs/openchange-server.tar.gz
2c499799ddd0bdf4a5f3b556bdc0f761
It *should* work. I'm unable to test for real until Wed. Behind a restrictive firewall, don't feel like working around it, can't download python deps so can't complete the build. That said, the build of openchange itself completes successfully, and libs are found correctly without mucking around with library search paths. Test if you'd like, else I'll be on it Wed.
Comment by DJ_L
No more time to test, but one final thought. Perhaps it is simply an ordering issue. If you get to it before I do, try shoehorning in the debug libs before the regular ones.
Comment by DJ_L
Okay, I figured heck with it. That patch (after fixing the path) allows it to build. That said, it will not run without setting LD_LIBRARY_PATH or LD_PRELOAD. Need to further modify the linker flags to include RPATH (which is what I was intending to do anyway, still not sure why my patch didn't work the other day). OC build system is likely doing something non-standard someplace. Anyway, this is close to where we need to be. Ultimately it will need to have something to the effect of 'SAMBA_DEBUG_LIBS="-lsamba-debug-samba4 -lsocket-blocking-samba4"' and 'SAMBA_DEBUG_LDFLAGS="-L`pkg-config --variable=libdir samba-util`/samba -Wl,-rpath,/usr/lib/samba"' shoehorned into configure.ac in addition to the above. I can't test this tonight, sometime later this week I'll get back to it if one of y'all don't pick it up first. Ideally, the configure.ac and config.mk.in changes should do it. Not sure what is up with the Makefile changes in the patch (should not be necessary when using autotools, but doesn't work as expected).
Comment by DJ_L
This commit should fix that error:
https://github.com/openchange/openchange/commit/73a49af50bf0a496cfe62f49e60a662f1d04d685
Does the myoc.patch actually take care of building with the separated debug library (despite it being far too invasive for such a simple change)? I was approaching this with a much easier solution and am pretty sure I hit the same wall before I depleted my available time (the dev VM is currently unavailable). I would much prefer using an additional -L and --rpath in LDFLAGS as opposed to a patch, but ultimately, this is only temporary so whichever works is good enough.
Comment by DJ_L
Unfortunately, I still have not had time to delve into OpenChange internals. Maybe I can look at it later this week, but I make no promises. For the time being, I've added a note to the wiki page with suggested versions. Is there a place within Arch's infrastructure that provides older packages (preferably, without resorting to git/svn)? If so, a download link is also appropriate.
Comment by gillecaluim
maybe you could ping him on the tracker.openchange forum about this so I'm not the only person ;)
Comment by gillecaluim
I've redone the git version but am still stuck at the same place since the samba 4.2 changes still haven't been pulled into the trunk
Comment by DJ_L
Hmm, what about using {samba,smbclient,libwbclient}-old_debug packages (with replaces and provides) in the interim? Certainly not optimal, but easy enough to produce I'd think. As of right now, this package is broken badly. I notice the branch point for the 4.2 fixes branch is from March 19, 2014...nearly 5 months and ~250 (best guestimate) commits before 2.2 was tagged (August 11, 2014). Have you been successful in getting 2.2 to build against samba 4.2, or did you just move on to the git version? I still haven't upgraded samba on my test box. I just prepared a VM for testing and slapped together the PKGBUILDs above...will get to it tomorrow.
Comment by DJ_L
*.po files are localization files, mistakenly included in the release tarball.
Comment by gillecaluim
He only mentioned pushing code to the master git to correct build issues with samba 4.2. Not sure how often he syncs the two repos. I'm guessing the git is bleeding edge for the openchange code but this means the tracker.openchange repo won't work with samba 4.2 for awhile
I've been scavenging from this PKGBUILD to revise the openchange-git PKGBUILD and one thing I've noticed so far is that building from git doesn't create the files you've flagged for removal:
# Fix build on ARCH!=x86_64
rm mapiproxy/libmapi{proxy,store}/backends/*.po
rm mapiproxy/util/*.po
Comment by DJ_L
Yes, that package was not created correctly. I do not use it, so it is orphaned. If you want to pick it up, feel free. Have the devs mentioned anything about an out of cycle release to deal with 4.2?
Comment by gillecaluim
The main developer of openchange is going to push updates to the main git repo for supporting samba 4.2....not sure when updates will make it into tracker.openchange file repo.
It looks like you've orphaned the openchange-server-git AUR package???
Comment by gillecaluim
or use the git which has the current fixes for 4.2
https://github.com/openchange/openchange/tree/jkerihuel/samba-4.2.0-fix
Comment by gillecaluim
seems like samba4.2.0 completely breaks openchange...
Compiling mapiproxy/dcesrv_mapiproxy.c with -fPIC
mapiproxy/dcesrv_mapiproxy.c: In function ‘mapiproxy_op_connect’:
mapiproxy/dcesrv_mapiproxy.c:135:5: error: dereferencing pointer to incomplete type
b->assoc_group_id = dce_call->pkt.u.bind.assoc_group_id;
^
mapiproxy/dcesrv_mapiproxy.c:138:5: error: dereferencing pointer to incomplete type
b->assoc_group_id = dce_call->pkt.u.alter.assoc_group_id;
^
mapiproxy/dcesrv_mapiproxy.c:155:55: error: ‘struct dcerpc_pipe’ has no member named ‘assoc_group_id ’
dce_call->context->assoc_group->id = private->c_pipe->assoc_group_id;
^
mapiproxy/dcesrv_mapiproxy.c:170:55: error: ‘struct dcerpc_pipe’ has no member named ‘assoc_group_id ’
dce_call->context->assoc_group->id = private->c_pipe->assoc_group_id;
^
Makefile:124: recipe for target 'mapiproxy/dcesrv_mapiproxy.po' failed
make: *** [mapiproxy/dcesrv_mapiproxy.po] Error 1
==> ERROR: A failure occurred in build().
Aborting...
Comment by DJ_L
BTW gillecaluim, I was incorrect in diagnosing your problem. The problem is that you rebuilt samba while samba was installed. When you installed your new samba, Yapp was removed. Proper fix is the same either way - Arch's samba 4 package is broken currently in the same way as yours. At any rate, I am still going to try to sidestep any modifications to samba.
Comment by DJ_L
I stand corrcted...Samba will need to be patched (as below) or major surgery done to OC. As to Parse::Yapp, I think Samba should depend on it. See https://bugs.archlinux.org/task/43117 for more details. In short, install perl-parse-yapp until the samba package is fixed up. Thanks for the report.
Comment by gillecaluim
And after all that ...I must be missing a dependency??
.....
Generating exchange.h
Can't locate Parse/Yapp/Driver.pm in @INC (you may need to install the Parse::Yapp::Driver module) (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /usr/share/perl5/vendor_perl/Parse/Pidl/Expr.pm line 15.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Parse/Pidl/Expr.pm line 15.
Compilation failed in require at /usr/share/perl5/vendor_perl/Parse/Pidl/Util.pm line 15.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Parse/Pidl/Util.pm line 15.
Compilation failed in require at /usr/bin/pidl line 410.
BEGIN failed--compilation aborted at /usr/bin/pidl line 410.
Makefile:116: recipe for target 'exchange.h' failed
make: *** [exchange.h] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Comment by gillecaluim
Here's the addition to PKGBUILD to apply patch
prepare() {
cd ${srcdir}/samba-${_realver}
patch -Np1 -i "../../samba-debug-private-lib.patch"
}
Comment by gillecaluim
Here's the patch for fixing samba 4.2.0
commit 7f911c88caf148b92e1b9c483d1bf7273612e630
Author: Jelmer Vernooij <jelmer@openchange.org>
Date: Mon Jan 19 21:05:20 2015 +0100
Revert "lib: Make samba-debug a private library"
This reverts commit 25df58a853d8d3ecab2705687453193cb676976c.
diff --git a/lib/util/wscript_build b/lib/util/wscript_build
index c0d07e7..c3ee730 100755
--- a/lib/util/wscript_build
+++ b/lib/util/wscript_build
@@ -25,11 +25,10 @@ bld.SAMBA_SUBSYSTEM('close-low-fd',
deps='replace',
local_include=False)
-bld.SAMBA_LIBRARY('samba-debug',
- source='debug.c',
- deps='replace time-basic close-low-fd talloc socket-blocking',
- local_include=False,
- private_library=True)
+bld.SAMBA_SUBSYSTEM('samba-debug',
+ source='debug.c',
+ deps='replace time-basic close-low-fd talloc socket-blocking',
+ local_include=False)
bld.SAMBA_LIBRARY('socket-blocking',
source='blocking.c',
Comment by DJ_L
Also found this patch, but haven't tried it yet...
http://tracker.openchange.org/issues/446
Comment by DJ_L
Yep, need to use git version for 4.2.0. Probably best to back off to Samba-4.1.7 for now.
Comment by gillecaluim
Error building with samba 4.2
[code]
^
Compiling utils/openchange-tools.c
utils/openchange-tools.c: In function ‘octool_message’:
utils/openchange-tools.c:285:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(1, body.data, body.length);
^
utils/openchange-tools.c:286:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(1, "\n", 1);
^
Linking bin/openchangeclient
/usr/bin/ld: utils/openchangeclient.o: undefined reference to symbol 'DEBUGLEVEL_CLASS@@SAMBA_4.2.0'
/usr/lib/samba/libsamba-debug-samba4.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:1140: recipe for target 'bin/openchangeclient' failed
make: *** [bin/openchangeclient] Error 1
==> ERROR: A failure occurred in build().
Aborting...
[/code]
Comment by gandalfmagic
Trying to build this package right now, got this error when install perl-parse-yapp dependency:
error: failed to commit transaction (conflicting files)
perl-parse-yapp: /usr/share/perl5/vendor_perl/Parse/Yapp/Driver.pm exists in filesystem
Errors occurred, no packages were upgraded.
It seems these files are already contained in samba now...