Re: OpenBLAS build failure on Catalina, was Re: Failures in installing pymol-py36 on Catalina

Patrone Marco <[email protected]>
Newsgroups gmane.os.apple.fink.beginners
Message-ID <DB7PR02MB4188D9D5BB1C16F910F248478F8E0@DB7PR02MB4188.eurprd02.prod.outlook.com>
Dear Alexander,
your suggestion worked and made fink capable to install openblas and then pymol-py36.
Thank you again for your help and patience.
Cheers,
marco

Marco Patrone – PhD
Biocrystallography Unit
Division of Immunology, Transplantation, and Infectious Disease (DITID)
DIBIT – San Raffaele Scientific Institute
Via Olgettina, 58
20132 Milano
Italy
phone: +39 0226434921
fax: +39 0226434153
http://www.hsr.it/research/organzation/massimo-degano

________________________________
Da: Alexander Hansen <[email protected]>
Inviato: Mercoledì 27 Maggio 2020, 22:09
A: Patrone Marco
Cc: [email protected]; [email protected]
Oggetto: OpenBLAS build failure on Catalina, was Re: [Fink-beginners] Failures in installing pymol-py36 on Catalina



> On May 27, 2020, at 00:31, Patrone Marco <[email protected]> wrote:
>
> Dear All,
> I've just moved to MacOS Catalina on a new Mac laptop. I'm encountering several problems trying to install pymol-py36. I'm poorly skilled in Linux and Unix, so I'm just asking for explanations and, hopefully, for solutions.
> A first failure on installing term-readkey-pm5184-2.37-1 was solved following the suggestion found here:

<snip>  It is best to keep the focus of support requests on the package that is actually failing.

> other packages could be installed then, but I' stuck on openblas. Here is the error message
>
> marcopatrone@MBP-di-Marco ~ % sudo fink install pymol-py36

You normally shouldn’t need to use “sudo” before the “fink” command, and in rare instances that can even produce build failures.

<snip>

> #!/bin/sh -ev
> # set arch to minimum model supported in OS version
> darwin_vers=$(uname -r | cut -d. -f1)
> uname -r | cut -d. -f1
> if [ "$darwin_vers" -ge 18 ]; then
> perl -pi -e "s|(COMMON_OPT = -O2)|\$1 -mtune=cascadelake -march=ivybridge|g;" Makefile.system
> else
> perl -pi -e "s|(COMMON_OPT = -O2)|\$1 -mtune=cascadelake -march=core2|g;" Makefile.system
> fi
> make FC=gfortran-fsf-9 USE_THREAD=1 libs netlib shared
> Warning: Failed to set locale category LC_NUMERIC to en_IT.
> Warning: Failed to set locale category LC_TIME to en_IT.
> Warning: Failed to set locale category LC_COLLATE to en_IT.
> Warning: Failed to set locale category LC_MONETARY to en_IT.
> Warning: Failed to set locale category LC_MESSAGES to en_IT.
> Warning: Failed to set locale category LC_NUMERIC to en_IT.
> Warning: Failed to set locale category LC_TIME to en_IT.
> Warning: Failed to set locale category LC_COLLATE to en_IT.
> Warning: Failed to set locale category LC_MONETARY to en_IT.
> Warning: Failed to set locale category LC_MESSAGES to en_IT.
> Warning: Failed to set locale category LC_NUMERIC to en_IT.
> Warning: Failed to set locale category LC_TIME to en_IT.
> Warning: Failed to set locale category LC_COLLATE to en_IT.
> Warning: Failed to set locale category LC_MONETARY to en_IT.
> Warning: Failed to set locale category LC_MESSAGES to en_IT.
> Makefile:141: *** OpenBLAS: Detecting CPU failed. Please set TARGET explicitly, e.g. make TARGET=your_cpu_target. Please read README for the detail..  Stop.
> ### execution of /tmp/fink.SPSMh failed, exit code 2
> ### execution of /tmp/fink.ay9V6 failed, exit code 2
> Removing runtime build-lock...
> Removing build-lock package...
> /opt/sw/bin/dpkg-lockwait -r fink-buildlock-openblas-0.3.8-1
> (Reading database ... 32552 files and directories currently installed.)
> Removing fink-buildlock-openblas-0.3.8-1 ...
> Failed: phase compiling: openblas-0.3.8-1 failed
>
> Before reporting any errors, please run "fink selfupdate" and try again.
>
> If you continue to have issues, please check to see if the FAQ on Fink's
> website solves the problem.  If not, ask on one (not both, please) of
> these mailing lists:
>
> The Fink Users List <[email protected]>
> The Fink Beginners List <[email protected]>,
>
> with a carbon copy to the maintainer:
>
> Derek Homeier <[email protected]>
>
> Note that this is preferable to emailing just the maintainer directly,
> since most fink package maintainers do not have access to all possible
> hardware and software configurations.
>
> Please try to include the complete error message in your report.  This
> generally consists of a compiler line starting with e.g. "gcc" or "g++"
> followed by the actual error output from the compiler.
>
> Also include the following system information:
> Package manager version: 0.45.1
> Distribution version: selfupdate-rsync Mon May 25 21:51:19 2020, 10.15, x86_64
> Trees: local/main stable/main
> Xcode.app: 11.5
> Xcode command-line tools: 11.5.0.0.1.1588476445
> Max. Fink build jobs:  1
>
> I've tried the following:
>
> make clean
> make TARGET=NEHALEM
>
> as suggested in https://github.com/xianyi/OpenBLAS/issues/2227
>
> and then "make install"
> Apparently openblas was installed, not in /opt/sw but rather in a /opt/OpenBlas directory. Fink does not recognize its presence and tries to install it again when I run " fink install pymol-py36", ending up with the same failure.
>

You did a manual install.  By design, Fink tries to ignore those.

> I've changed the installation location in the Makefile.installation for openblas so to install it in /opt/sw  getting the following output
>
> marcopatrone@MBP-di-Marco OpenBLAS-0.3.8 % sudo make install
> /Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 -f Makefile.install install
> Generating openblas_config.h in /opt/sw/include
> Generating f77blas.h in /opt/sw/include
> Generating cblas.h in /opt/sw/include
> Copying the static library to /opt/sw/lib
> Copying the shared library to /opt/sw/lib
> Generating openblas.pc in /opt/sw/lib/pkgconfig
> Generating OpenBLASConfig.cmake in /opt/sw/lib/cmake/openblas
> Generating OpenBLASConfigVersion.cmake in /opt/sw/lib/cmake/openblas
> Install OK!
>
>
> but still fink doesn't sense its presence and makes again a failing installation of openblas.
>

Yes, because the database of installed packages doesn’t look for a package’s files to determine whether it is installed or not.

> What could I do?
>

The 'make TARGET=NEHALEM’ fix needs to be applied within the Fink package description (.info) file.  As noted earlier:
1)  Fink builds from clean sources, so any changes you make in the source tree are erased.
2)  Fink doesn’t recognize packages that it didn’t install (apart from a few exceptions), even if they are installed within its tree.

> Many thanks for your time.
> Best,
> marco
> --
> Marco Patrone - PhD
> Biocrystallography Unit
> Division of Immunology, Transplantation, and Infectious Diseases
> DIBIT - Scientific Institute San Raffaele
> Via Olgettina 58
> 20132 Milan
> Italy
> phone: +39-0226434921
> fax: +39-0226434153
> URL: http://www.sanraffaele.org/research/degano
>
>
> Rispetta l’ambiente: non stampare questa mail se non è necessario.
> Respect the environment: print this email only if necessary.
>


You could try editing /opt/sw/fink/dists/stable/main/finkinfo/sci/openblas.info and adding TARGET=NEHALEM on both of the “make” lines in the CompileScript block.  I’m not actually sure whether both of those need it, or just one.
--
Alexander Hansen, Ph.D.
Fink User Liaison

_______________________________________________
Fink-beginners mailing list
[email protected]
List archive:
https://sourceforge.net/p/fink/mailman/fink-users/
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-beginners
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.