Thread: [svs-devel] compiling for samba 3.6.3
Brought to you by:
renereucher
From: Marco G. <mar...@gm...> - 2012-03-05 14:18:32
|
Hi, i'm tring to build svs (0.1.3 and current trunk) for samba 3.6.3 present in debian squeeze-backports and wheezy. I have this errors: gcc -c -pipe -O2 -w -D_REENTRANT -fPIC -DSVS_OS_NAME=Linux -DSVS_OS_RELEASE=2.6.32-5-amd64 -DSVS_OS_ARCH=x86_64 -DSVS_VERSION=0.1.3 -DSVS_SCANNER_CLAMAV -DSVS_DFLT_CLAMDSCAN_COMMAND=/usr/bin/clamdscan -DSVS_TARGET=svs_clamav -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I../../../../share/qt4/mkspecs/linux-g++ -I. -I../../../../include/qt4/QtCore -I../../../../include/qt4 -I../../../../include/qt4/QtTest -I../source3/include -I../lib/popt -I../lib/replace -I../lib/talloc -I../lib/tevent -I../lib/tdb/include -I../source3/librpc -I.. -I../source3 -I. -o svs-vfs.o svs-vfs.c svs-vfs.c:68: error: unknown field ‘open’ specified in initializer svs-vfs.c: In function ‘init_samba_module’: svs-vfs.c:77: error: incompatible types when returning type ‘int’ but ‘NTSTATUS’ was expected make: *** [svs-vfs.o] Error 1 I'm on a amd64 port so it's a 64bit environment. There must have been changes in samba VFS API or am i doing something wrong (i had no problem building it against samba 3.5.x)? Is it planned a new release to fully support samba 3.6.x? It would be great to use the SMB 2.x protocol added to samba... I'm not a programmer, but i can help to test new released code! Regards Marco |
From: R. R. <ren...@ba...> - 2012-03-05 14:59:23
|
Hi! Thanks the info! Actually, "experimental" Samba 3.6.x support has been added in SVS 0.1.3 and I know I had it working at the time... but its status was called experimental because I was aware that VFS API changes may arise until it's finished. I haven't checked for Samba 3.6 availability since then and may need to test it... it really looks like they changed. Let's see when I find the time to setup a new test (with Debian). Thanks, René On Monday 05 March 2012 15:18:21 Marco Gatti wrote: > Hi, > i'm tring to build svs (0.1.3 and current trunk) for samba 3.6.3 > present in debian squeeze-backports and wheezy. > I have this errors: > > gcc -c -pipe -O2 -w -D_REENTRANT -fPIC -DSVS_OS_NAME=Linux > -DSVS_OS_RELEASE=2.6.32-5-amd64 -DSVS_OS_ARCH=x86_64 > -DSVS_VERSION=0.1.3 -DSVS_SCANNER_CLAMAV > -DSVS_DFLT_CLAMDSCAN_COMMAND=/usr/bin/clamdscan > -DSVS_TARGET=svs_clamav -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE > -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED > -I../../../../share/qt4/mkspecs/linux-g++ -I. > -I../../../../include/qt4/QtCore -I../../../../include/qt4 > -I../../../../include/qt4/QtTest -I../source3/include -I../lib/popt > -I../lib/replace -I../lib/talloc -I../lib/tevent -I../lib/tdb/include > -I../source3/librpc -I.. -I../source3 -I. -o svs-vfs.o svs-vfs.c > svs-vfs.c:68: error: unknown field ‘open’ specified in initializer > svs-vfs.c: In function ‘init_samba_module’: > svs-vfs.c:77: error: incompatible types when returning type ‘int’ but > ‘NTSTATUS’ was expected > make: *** [svs-vfs.o] Error 1 > > I'm on a amd64 port so it's a 64bit environment. > There must have been changes in samba VFS API or am i doing something > wrong (i had no problem building it against samba 3.5.x)? > Is it planned a new release to fully support samba 3.6.x? > It would be great to use the SMB 2.x protocol added to samba... > I'm not a programmer, but i can help to test new released code! > Regards > > Marco > > --------------------------------------------------------------------------- > --- Try before you buy = See our experts in action! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-dev2 > _______________________________________________ > svs-devel mailing list > svs...@li... > https://lists.sourceforge.net/lists/listinfo/svs-devel |
From: Sebastien C. <sc...@dc...> - 2012-03-05 15:15:47
|
Hello, I can confirm that SVS doesn't build properly against Samba 3.6.3, it still works with samba 3.5.12 (using QT 4.7.4). I have found one change so far : http://lists.samba.org/archive/samba-cvs/2011-April/102229.html The open function has been renamed to open_fn. The fix for that is easy : struct vfs_fn_pointers svs_fn_pointers = { .connect_fn = svs_connect, .disconnect = svs_disconnect, - .open = svs_open, + .open_fn = svs_open, .close_fn = svs_close, .rename = svs_rename, .unlink = svs_unlink }; I'll see if I can find why init_samba_module broke. Sebastien > Hi, > i'm tring to build svs (0.1.3 and current trunk) for samba 3.6.3 > present in debian squeeze-backports and wheezy. > I have this errors: > > gcc -c -pipe -O2 -w -D_REENTRANT -fPIC -DSVS_OS_NAME=Linux > -DSVS_OS_RELEASE=2.6.32-5-amd64 -DSVS_OS_ARCH=x86_64 > -DSVS_VERSION=0.1.3 -DSVS_SCANNER_CLAMAV > -DSVS_DFLT_CLAMDSCAN_COMMAND=/usr/bin/clamdscan > -DSVS_TARGET=svs_clamav -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE > -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED > -I../../../../share/qt4/mkspecs/linux-g++ -I. > -I../../../../include/qt4/QtCore -I../../../../include/qt4 > -I../../../../include/qt4/QtTest -I../source3/include -I../lib/popt > -I../lib/replace -I../lib/talloc -I../lib/tevent -I../lib/tdb/include > -I../source3/librpc -I.. -I../source3 -I. -o svs-vfs.o svs-vfs.c > svs-vfs.c:68: error: unknown field ?open? specified in initializer > svs-vfs.c: In function ?init_samba_module?: > svs-vfs.c:77: error: incompatible types when returning type ?int? but > ?NTSTATUS? was expected > make: *** [svs-vfs.o] Error 1 > > I'm on a amd64 port so it's a 64bit environment. > There must have been changes in samba VFS API or am i doing something > wrong (i had no problem building it against samba 3.5.x)? > Is it planned a new release to fully support samba 3.6.x? > It would be great to use the SMB 2.x protocol added to samba... > I'm not a programmer, but i can help to test new released code! > Regards > > Marco > > ------------------------------------------------------------------------------ > Try before you buy = See our experts in action! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-dev2 > _______________________________________________ > svs-devel mailing list > svs...@li... > https://lists.sourceforge.net/lists/listinfo/svs-devel > |
From: R. R. <ren...@ba...> - 2012-03-05 15:30:43
|
Hi Sebastien! On Monday 05 March 2012 15:58:07 Sebastien Caty wrote: > I can confirm that SVS doesn't build properly against Samba 3.6.3, it > still works with samba 3.5.12 (using QT 4.7.4). > > I have found one change so far : > http://lists.samba.org/archive/samba-cvs/2011-April/102229.html > > The open function has been renamed to open_fn. The fix for that is easy : > > struct vfs_fn_pointers svs_fn_pointers = { > .connect_fn = svs_connect, > .disconnect = svs_disconnect, > - .open = svs_open, > + .open_fn = svs_open, > .close_fn = svs_close, > .rename = svs_rename, > .unlink = svs_unlink > }; Oh, yes, that's what I already *thought*, but I didn't want to suggest it untested / unchecked :). > I'll see if I can find why init_samba_module broke. Regarding the second one... it seems they changed the return value to be 'int' instead of 'NTSTATUS' now (since smb_register_vfs() apperently returns an int now). So a quick test exchanging this: NTSTATUS init_samba_module(void) { #if defined(SVS_SCANNER_CLAMAV) return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "libsvs_clamav", &svs_fn_pointers); #else return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "libsvs_unknown", &svs_fn_pointers); #endif } with: NTSTATUS init_samba_module(void) { #if defined(SVS_SCANNER_CLAMAV) return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "libsvs_clamav", &svs_fn_pointers); #else return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "libsvs_unknown", &svs_fn_pointers); #endif } in the /* Samba 3.5 and 3.6 */ branch would probably help me solving it! But then again, I need to find out the right VFS version when it changed, that is the correct value for SMB_VFS_INTERFACE_VERSION to switch the API... I'm installing a new Debian 6.0.4 VM right now :)! Cheers, René |
From: Sebastien C. <sc...@dc...> - 2012-03-05 15:24:06
|
Hi René! They seem to have shuffled some definition around. smb_register_vfs which was defined in source3/include/proto.h is now in source3/smbd/proto.h A quick hack adding : #include "../source3/smbd/proto.h" in svs-vfs.c did it for me. Well that and renaming the open function to open_fn. http://lists.samba.org/archive/samba-cvs/2011-April/102229.html struct vfs_fn_pointers svs_fn_pointers = { .connect_fn = svs_connect, .disconnect = svs_disconnect, - .open = svs_open, + .open_fn = svs_open, .close_fn = svs_close, .rename = svs_rename, .unlink = svs_unlink }; I now have SVS built for samba 3.6.3 Hope this helps! Sébastien > Hi! > > Thanks the info! > > Actually, "experimental" Samba 3.6.x support has been added in SVS > 0.1.3 and I > know I had it working at the time... but its status was called experimental > because I was aware that VFS API changes may arise until it's finished. > > I haven't checked for Samba 3.6 availability since then and may need to test > it... it really looks like they changed. > > Let's see when I find the time to setup a new test (with Debian). > > Thanks, René > > On Monday 05 March 2012 15:18:21 Marco Gatti wrote: >> Hi, >> i'm tring to build svs (0.1.3 and current trunk) for samba 3.6.3 >> present in debian squeeze-backports and wheezy. >> I have this errors: >> >> gcc -c -pipe -O2 -w -D_REENTRANT -fPIC -DSVS_OS_NAME=Linux >> -DSVS_OS_RELEASE=2.6.32-5-amd64 -DSVS_OS_ARCH=x86_64 >> -DSVS_VERSION=0.1.3 -DSVS_SCANNER_CLAMAV >> -DSVS_DFLT_CLAMDSCAN_COMMAND=/usr/bin/clamdscan >> -DSVS_TARGET=svs_clamav -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE >> -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED >> -I../../../../share/qt4/mkspecs/linux-g++ -I. >> -I../../../../include/qt4/QtCore -I../../../../include/qt4 >> -I../../../../include/qt4/QtTest -I../source3/include -I../lib/popt >> -I../lib/replace -I../lib/talloc -I../lib/tevent -I../lib/tdb/include >> -I../source3/librpc -I.. -I../source3 -I. -o svs-vfs.o svs-vfs.c >> svs-vfs.c:68: error: unknown field ?open? specified in initializer >> svs-vfs.c: In function ?init_samba_module?: >> svs-vfs.c:77: error: incompatible types when returning type ?int? but >> ?NTSTATUS? was expected >> make: *** [svs-vfs.o] Error 1 >> >> I'm on a amd64 port so it's a 64bit environment. >> There must have been changes in samba VFS API or am i doing something >> wrong (i had no problem building it against samba 3.5.x)? >> Is it planned a new release to fully support samba 3.6.x? >> It would be great to use the SMB 2.x protocol added to samba... >> I'm not a programmer, but i can help to test new released code! >> Regards >> >> Marco >> >> --------------------------------------------------------------------------- >> --- Try before you buy = See our experts in action! >> The most comprehensive online learning library for Microsoft developers >> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, >> Metro Style Apps, more. Free future releases when you subscribe now! >> http://p.sf.net/sfu/learndevnow-dev2 >> _______________________________________________ >> svs-devel mailing list >> svs...@li... >> https://lists.sourceforge.net/lists/listinfo/svs-devel > |
From: R. R. <ren...@ba...> - 2012-03-05 15:34:04
|
On Monday 05 March 2012 16:23:55 Sebastien Caty wrote: > They seem to have shuffled some definition around. > > smb_register_vfs which was defined in source3/include/proto.h is now > in source3/smbd/proto.h > > A quick hack adding : > #include "../source3/smbd/proto.h" > in svs-vfs.c did it for me. Well that and renaming the open function > to open_fn. > > http://lists.samba.org/archive/samba-cvs/2011-April/102229.html > > struct vfs_fn_pointers svs_fn_pointers = { > .connect_fn = svs_connect, > .disconnect = svs_disconnect, > - .open = svs_open, > + .open_fn = svs_open, > .close_fn = svs_close, > .rename = svs_rename, > .unlink = svs_unlink > }; > > I now have SVS built for samba 3.6.3 > > Hope this helps! Indeed! Thanks!! ;-) |