[PATCHES] fix build with gpfs support

Christof Schmitt cs at samba.org
Tue Jul 28 17:10:00 UTC 2015


On Tue, Jul 28, 2015 at 03:25:00PM +0200, Bjoern Baumbach wrote:
> On 07/28/2015 07:59 AM, Martin Schwenke wrote:
> > I think that in patch #2 the:
> > 
> >   opt.add_option('--with-gpfs',
> >   ...
> > 
> > hunk wants to go in lib/util/wscript, not source3/wscript.  Works for
> > me.
> > 
> > Please try again with that change...
> 
> I've moved the "opt.add_option('--with-gpfs', ..." hunk to
> lib/util/wscript. Works fine on my system.
> Find the new patch attached.

Some thoughts about this issue:

We primarily care about GPFS 3.5 and newer at this point. Everything
else is unsupported. Given that these GPFS builds automatically install
a symlink to the header file in /usr/include/, we could also just remove
the special handling again.

The other part i would like to propose is adding the gpfs.h file in
third_party/gpfs/gpfs.h. That way, the gpfs related code would get at
least compile-tested, and we could introduce a new switch to explicitly
disable it. I started looking into the wscript changes required for
this, but got distracted by other work.

The patches look good to me, so we could also go ahead with them, and
when introducing the third_party directory, simply point the default of
the gpfs path option to third_party/gpfs.

Regards,

Christof

> -- 
> SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
> phone: +49-551-370000-0, fax: +49-551-370000-9
> AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
> http://www.sernet.de, mailto:kontakt at sernet.de

> From b2ef6ed9a7d25e95a7ccee9c3ca317fe8e110275 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Bj=C3=B6rn=20Baumbach?= <bb at sernet.de>
> Date: Mon, 27 Jul 2015 13:20:43 +0200
> Subject: [PATCH 1/3] s3:wscript: fix indentation
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> 
> Signed-off-by: Björn Baumbach <bb at sernet.de>
> ---
>  source3/wscript | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/source3/wscript b/source3/wscript
> index a9a7c14..4e940fa 100644
> --- a/source3/wscript
> +++ b/source3/wscript
> @@ -1634,7 +1634,7 @@ main() {
>          default_static_modules.extend(TO_LIST('charset_macosxfs'))
>  
>      if conf.CONFIG_SET('HAVE_GPFS'):
> -	default_shared_modules.extend(TO_LIST('vfs_gpfs'))
> +        default_shared_modules.extend(TO_LIST('vfs_gpfs'))
>  
>      if (conf.CONFIG_SET('HAVE_LINUX_IOCTL')
>        and conf.CONFIG_SET('HAVE_BASENAME') and conf.CONFIG_SET('HAVE_DIRNAME')):
> -- 
> 2.3.6
> 
> 
> From 8dae2cfd1e8ebd411f28407bcbd739030f6e0c6d Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Bj=C3=B6rn=20Baumbach?= <bb at sernet.de>
> Date: Mon, 27 Jul 2015 12:14:37 +0200
> Subject: [PATCH 2/3] configure: add --with-gpfs option for selecting directory
>  with gpfs headers
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> 
> Signed-off-by: Björn Baumbach <bb at sernet.de>
> ---
>  lib/util/wscript           | 4 ++++
>  lib/util/wscript_configure | 2 +-
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/util/wscript b/lib/util/wscript
> index 26b5564..953becf 100644
> --- a/lib/util/wscript
> +++ b/lib/util/wscript
> @@ -17,3 +17,7 @@ def set_options(opt):
>      opt.add_option('--without-lttng',
>                     help=("Disable lttng integration"),
>                     action='store_false', dest='enable_lttng')
> +
> +    opt.add_option('--with-gpfs',
> +                   help=("Directory under which gpfs headers are installed"),
> +                   action="store", dest='gpfs_headers_dir', default="/usr/lpp/mmfs/include/")
> diff --git a/lib/util/wscript_configure b/lib/util/wscript_configure
> index 95a8949..e7bcbd6 100644
> --- a/lib/util/wscript_configure
> +++ b/lib/util/wscript_configure
> @@ -135,6 +135,6 @@ else:
>      conf.SET_TARGET_TYPE('lttng-ust', 'EMPTY')
>      conf.undefine('HAVE_LTTNG_TRACEF')
>  
> -conf.env['CPPPATH_GPFS'] = '/usr/lpp/mmfs/include/'
> +conf.env['CPPPATH_GPFS'] = Options.options.gpfs_headers_dir
>  if conf.CHECK_HEADERS('gpfs.h', False, False, "gpfs"):
>      conf.DEFINE('HAVE_GPFS', '1')
> -- 
> 2.3.6
> 
> 
> From 5a90fc2874c3848c15a25f7bcb68426d925f203b Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Bj=C3=B6rn=20Baumbach?= <bb at sernet.de>
> Date: Mon, 27 Jul 2015 15:15:07 +0200
> Subject: [PATCH 3/3] build: fix build with gpfs support - add missing
>  dependency to samba-debug
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> 
> Pair-programmed-with: Stefan Metzmacher <metze at samba.org>
> Signed-off-by: Björn Baumbach <bb at sernet.de>
> ---
>  lib/util/wscript_build | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/lib/util/wscript_build b/lib/util/wscript_build
> index 1014c75..9663bb0 100755
> --- a/lib/util/wscript_build
> +++ b/lib/util/wscript_build
> @@ -30,6 +30,7 @@ bld.SAMBA_SUBSYSTEM('close-low-fd',
>                      local_include=False)
>  
>  samba_debug_add_deps = ''
> +samba_debug_add_inc  = ''
>  
>  if bld.CONFIG_SET('HAVE_GPFS'):
>      bld.SAMBA_SUBSYSTEM('gpfswrap',
> @@ -38,12 +39,14 @@ if bld.CONFIG_SET('HAVE_GPFS'):
>                          local_include=False,
>                          includes=bld.CONFIG_GET('CPPPATH_GPFS'))
>      samba_debug_add_deps += ' gpfswrap'
> +    samba_debug_add_inc  += bld.CONFIG_GET('CPPPATH_GPFS')
>  
>  bld.SAMBA_LIBRARY('samba-debug',
>                    source='debug.c',
>                    deps='replace time-basic close-low-fd talloc socket-blocking' + samba_debug_add_deps,
>                    public_deps='systemd systemd-journal lttng-ust',
>                    local_include=False,
> +                  includes=samba_debug_add_inc,
>                    private_library=True)
>  
>  bld.SAMBA_LIBRARY('socket-blocking',
> -- 
> 2.3.6
> 




More information about the samba-technical mailing list