Fix installation permissions on BLIS and libflame libs (#12919)
* Fix installation permissions on BLIS and libflame libs * Fix undefined symbols
This commit is contained in:
		
							
								
								
									
										31
									
								
								var/spack/repos/builtin/packages/blis/Makefile_0.6.0.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								var/spack/repos/builtin/packages/blis/Makefile_0.6.0.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| From bc16ec7d1e2a30ce4a751255b70c9cbe87409e4f Mon Sep 17 00:00:00 2001 | ||||
| From: "Field G. Van Zee" <field@cs.utexas.edu> | ||||
| Date: Mon, 23 Sep 2019 15:37:33 -0500 | ||||
| Subject: [PATCH] Set execute bits of shared library at install-time. | ||||
|  | ||||
| Details: | ||||
| - Modified the 0644 octal code used during installation of shared | ||||
|   libraries to 0755 (for Linux/OSX only). Thanks to Adam J. Stewart | ||||
|   for reporting this issue via #343. | ||||
| --- | ||||
|  Makefile | 4 ++-- | ||||
|  1 file changed, 2 insertions(+), 2 deletions(-) | ||||
|  | ||||
| diff --git a/Makefile b/Makefile | ||||
| index 9cc81c9d..3c0e27f3 100644 | ||||
| --- a/Makefile | ||||
| +++ b/Makefile | ||||
| @@ -953,11 +953,11 @@ ifeq ($(IS_WIN),no) | ||||
|  $(INSTALL_LIBDIR)/%.$(LIBBLIS_SO_MMB_EXT): $(BASE_LIB_PATH)/%.$(SHLIB_EXT) $(CONFIG_MK_FILE) | ||||
|  ifeq ($(ENABLE_VERBOSE),yes) | ||||
|  	$(MKDIR) $(@D) | ||||
| -	$(INSTALL) -m 0644 $< $@ | ||||
| +	$(INSTALL) -m 0755 $< $@ | ||||
|  else | ||||
|  	@echo "Installing $(@F) into $(INSTALL_LIBDIR)/" | ||||
|  	@$(MKDIR) $(@D) | ||||
| -	@$(INSTALL) -m 0644 $< $@ | ||||
| +	@$(INSTALL) -m 0755 $< $@ | ||||
|  endif | ||||
|   | ||||
|  else # ifeq ($(IS_WIN),yes) | ||||
| @@ -73,6 +73,10 @@ class Blis(Package): | ||||
|     provides('blas', when="+blas") | ||||
|     provides('blas', when="+cblas") | ||||
|  | ||||
|     # Problems with permissions on installed libraries: | ||||
|     # https://github.com/flame/blis/issues/343 | ||||
|     patch('Makefile_0.6.0.patch', when='@0.4.0:0.6.0') | ||||
|  | ||||
|     phases = ['configure', 'build', 'install'] | ||||
|  | ||||
|     def configure(self, spec, prefix): | ||||
|   | ||||
| @@ -0,0 +1,31 @@ | ||||
| From 4356779fe843fb30b3728f5fdab049c7291d89c6 Mon Sep 17 00:00:00 2001 | ||||
| From: "Field G. Van Zee" <field@cs.utexas.edu> | ||||
| Date: Mon, 23 Sep 2019 15:15:15 -0500 | ||||
| Subject: [PATCH] Set execute bits of shared library at install-time. | ||||
|  | ||||
| Details: | ||||
| - Modified the 0644 octal code used during installation of shared | ||||
|   libraries to 0755. Thanks to Adam J. Stewart for reporting this | ||||
|   issue in #24. | ||||
| --- | ||||
|  Makefile | 4 ++-- | ||||
|  1 file changed, 2 insertions(+), 2 deletions(-) | ||||
|  | ||||
| diff --git a/Makefile b/Makefile | ||||
| index d856af4c..6bd8bdce 100644 | ||||
| --- a/Makefile | ||||
| +++ b/Makefile | ||||
| @@ -643,11 +643,11 @@ endif | ||||
|  $(INSTALL_LIBDIR)/%.$(LIBFLAME_SO_MMB_EXT): $(BASE_LIB_PATH)/%.$(SHLIB_EXT) $(CONFIG_MK_FILE) | ||||
|  ifeq ($(ENABLE_VERBOSE),yes) | ||||
|  	$(MKDIR) $(@D) | ||||
| -	$(INSTALL) -m 0644 $< $@ | ||||
| +	$(INSTALL) -m 0755 $< $@ | ||||
|  else | ||||
|  	@echo "Installing $(@F) into $(INSTALL_LIBDIR)/" | ||||
|  	@$(MKDIR) $(@D) | ||||
| -	@$(INSTALL) -m 0644 $< $@ | ||||
| +	@$(INSTALL) -m 0755 $< $@ | ||||
|  endif | ||||
|   | ||||
|   | ||||
| @@ -46,12 +46,20 @@ class Libflame(AutotoolsPackage): | ||||
|  | ||||
|     # TODO: Libflame prefers to defer to an external | ||||
|     # LAPACK library for small problems. Is this to be | ||||
|     # implemented in spack ? | ||||
|     # implemented in spack? | ||||
|  | ||||
|     # There is a known issue with the makefile : | ||||
|     # Libflame has a secondary dependency on BLAS: | ||||
|     # https://github.com/flame/libflame/issues/24 | ||||
|     depends_on('blas') | ||||
|  | ||||
|     # There is a known issue with the makefile: | ||||
|     # https://groups.google.com/forum/#!topic/libflame-discuss/lQKEfjyudOY | ||||
|     patch('Makefile_5.1.0.patch', when='@5.1.0') | ||||
|  | ||||
|     # Problems with permissions on installed libraries: | ||||
|     # https://github.com/flame/libflame/issues/24 | ||||
|     patch('Makefile_5.2.0.patch', when='@5.2.0') | ||||
|  | ||||
|     def flag_handler(self, name, flags): | ||||
|         # -std=gnu99 at least required, old versions of GCC default to -std=c90 | ||||
|         if self.spec.satisfies('%gcc@:5.1') and name == 'cflags': | ||||
| @@ -59,7 +67,10 @@ def flag_handler(self, name, flags): | ||||
|         return (flags, None, None) | ||||
|  | ||||
|     def configure_args(self): | ||||
|         config_args = [] | ||||
|         # Libflame has a secondary dependency on BLAS, | ||||
|         # but doesn't know which library name to expect: | ||||
|         # https://github.com/flame/libflame/issues/24 | ||||
|         config_args = ['LIBS=' + self.spec['blas'].libs.link_flags] | ||||
|  | ||||
|         if '+lapack2flame' in self.spec: | ||||
|             config_args.append("--enable-lapack2flame") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Adam J. Stewart
					Adam J. Stewart