Discussion:
[Slackbuilds-users] Error building OpenBLAS
Rich Shepard
2018-10-01 20:36:35 UTC
Permalink
I'm building all my SBo packages on a newly minted desktop running
-14.2/x86_64. I downloaded from the repository the *.tar.gz and build
directory so all files are fresh.

Running the SlackBuild script stops with this:

gemv.c: In function ‘sgemv_’:
gemv.c:219:42: error: ‘GEMM_MULTITHREAD_THRESHOLD’ undeclared (first use in this function)
if ( MNK <= (500.0 * 100.0 * (double) GEMM_MULTITHREAD_THRESHOLD) )
^
gemv.c:219:42: note: each undeclared identifier is reported only once for each function it appears in
Makefile:815: recipe for target 'sgemv.o' failed
make[1]: *** [sgemv.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/tmp/SBo/OpenBLAS-0.2.11/interface'
Makefile:141: recipe for target 'libs' failed
make: *** [libs] Error 1

Since I've built this before (on my current desktop) I've no idea where to
look for a fix for this error and I would appreciate guidance.

Rich
_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/
Christoph Willing
2018-10-02 06:58:55 UTC
Permalink
  I'm building all my SBo packages on a newly minted desktop running
-14.2/x86_64. I downloaded from the repository the *.tar.gz and build
directory so all files are fresh.
gemv.c:219:42: error: ‘GEMM_MULTITHREAD_THRESHOLD’ undeclared (first use
in this function)
   if ( MNK <= (500.0 * 100.0  * (double) GEMM_MULTITHREAD_THRESHOLD)  )
                                          ^
gemv.c:219:42: note: each undeclared identifier is reported only once
for each function it appears in
Makefile:815: recipe for target 'sgemv.o' failed
make[1]: *** [sgemv.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/tmp/SBo/OpenBLAS-0.2.11/interface'
Makefile:141: recipe for target 'libs' failed
make: *** [libs] Error 1
  Since I've built this before (on my current desktop) I've no idea
where to
look for a fix for this error and I would appreciate guidance.
The missing GEMM_MULTITHREAD_THRESHOLD is (should be) set in
Makefile.system which is called from the second line of the main
Makefile. Something is definitely screwy if it hasn't been set.

To check that, you could edit the main Makefile and add a blank line
after "include ./Makefile.system"; then add a new target "atest" which
prints out the value of the GEMM_MULTITHREAD_THRESHOLD variable i.e.
confirms that it has been set e.g.
atest:
@echo "GEMM_MULTITHREAD_THRESHOLD = $(GEMM_MULTITHREAD_THRESHOLD)"

Then another blank line. Now run 'make atest" from the directory that
contains the Makefiles. By default GEMM_MULTITHREAD_THRESHOLD is set to
4 - if you don't see that result, I guess you could set it explicitly - run:
GEMM_MULTITHREAD_THRESHOLD=4 make atest
and when that works:
GEMM_MULTITHREAD_THRESHOLD=4 make
and see how far it builds.

However the problem with this approach is that if
GEMM_MULTITHREAD_THRESHOLD hasn't been set correctly in Makefile.system,
then there are likely other things not being set correctly in there.

chris
David Spencer
2018-10-02 10:09:46 UTC
Permalink
  I'm building all my SBo packages on a newly minted desktop running
-14.2/x86_64. I downloaded from the repository the *.tar.gz and build
directory so all files are fresh.
gemv.c:219:42: error: ¡GEMM_MULTITHREAD_THRESHOLD¢ undeclared (first use
in this function)
Hey Rich,

I've had the same error in build testing recently and I don't know why

But fortunately Mario has just updated OpenBLAS and the new version will
be in the next public update :D

Or (if you don't want to wait) you can grab the new version from here:

https://git.slackbuilds.org/slackbuilds/tree/libraries/OpenBLAS?h=idlemoor&id=3eb342a21265826a61a9128906ab601565baec57

Cheers! and thanks to Mario for perfect timing!
-D.
Rich Shepard
2018-10-02 12:50:47 UTC
Permalink
Post by David Spencer
I've had the same error in build testing recently and I don't know why
Dave,

Interesting. I hit this wall on a clean 14.2 on a brand new system.
Post by David Spencer
But fortunately Mario has just updated OpenBLAS and the new version will
be in the next public update :D
https://git.slackbuilds.org/slackbuilds/tree/libraries/OpenBLAS?h=idlemoor&id=3eb342a21265826a61a9128906ab601565baec57
I need this library to build GRASS, and I need GRASS to run a spatial
interpolation model that runs out of room on the current desktop.

Thanks!

Rich
_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/
Rich Shepard
2018-10-02 21:56:21 UTC
Permalink
Post by David Spencer
But fortunately Mario has just updated OpenBLAS and the new version will
be in the next public update :D
https://git.slackbuilds.org/slackbuilds/tree/libraries/OpenBLAS?h=idlemoor&id=3eb342a21265826a61a9128906ab601565baec57
Dave/Mario:

I downloaded the SlackBuild, info, desc, and README files. The build
script is looking for version 0.3.3 while the SBo repo has version 0.2.20.

The home page on github has all the development branch files and I did not
see an 0.3.3 tarball. Did I miss it there?

Regards,

Rich

_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/
Didier Spaier
2018-10-02 22:09:01 UTC
Permalink
Post by David Spencer
But fortunately Mario has just updated OpenBLAS and the new version will
be in the next public update :D
https://git.slackbuilds.org/slackbuilds/tree/libraries/OpenBLAS?h=idlemoor&id=3eb342a21265826a61a9128906ab601565baec57
  I downloaded the SlackBuild, info, desc, and README files. The build
script is looking for version 0.3.3 while the SBo repo has version 0.2.20.
  The home page on github has all the development branch files and I did not
see an 0.3.3 tarball. Did I miss it there?
Yes, you missed to read OpenBLAS.info that you downloaded, which
provides a link to the source tarball like this:
DOWNLOAD="https://github.com/xianyi/OpenBLAS/archive/v0.3.3/OpenBLAS-0.3.3.tar.gz"

I just checked the link, it is correct.

Didier




_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
F
Rich Shepard
2018-10-02 22:48:26 UTC
Permalink
Post by Didier Spaier
Yes, you missed to read OpenBLAS.info that you downloaded, which
DOWNLOAD="https://github.com/xianyi/OpenBLAS/archive/v0.3.3/OpenBLAS-0.3.3.tar.gz"
I just checked the link, it is correct.
Didier,

My apologies for not reading the .info file. I'll do this now.

Rich
_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/
Didier Spaier
2018-10-02 22:58:50 UTC
Permalink
Post by Rich Shepard
Post by Didier Spaier
Yes, you missed to read OpenBLAS.info that you downloaded, which
DOWNLOAD="https://github.com/xianyi/OpenBLAS/archive/v0.3.3/OpenBLAS-0.3.3.tar.gz"
I just checked the link, it is correct.
Didier,
  My apologies for not reading the .info file. I'll do this now.
Rich
No problem. For your information clicking on:
https://github.com/xianyi/OpenBLAS/
displays a page where you see under the description a line including
(at time of writing): 39 releases
This is a link and clicking on it displays a page where you will find
links to compressed archives of the source code for each release.
A lot of projects on GitHub provides that.

_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/
Rich Shepard
2018-10-02 23:05:45 UTC
Permalink
Post by Didier Spaier
https://github.com/xianyi/OpenBLAS/
displays a page where you see under the description a line including
(at time of writing): 39 releases
This is a link and clicking on it displays a page where you will find
links to compressed archives of the source code for each release.
A lot of projects on GitHub provides that.
Didier,

Thanks for this knowledge. I did not explore that link but looked at the
list of files for the tarball.

Best regards,

Rich
_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/
Rich Shepard
2018-10-02 23:04:10 UTC
Permalink
Yes, you missed to read OpenBLAS.info that you downloaded, which provides
DOWNLOAD="https://github.com/xianyi/OpenBLAS/archive/v0.3.3/OpenBLAS-0.3.3.tar.gz"
I just checked the link, it is correct.
Didier,

Downloaded the tarball and tried building it. The error reported is:

Makefile:135: *** OpenBLAS: Detecting CPU failed. Please set TARGET
explicitly, e.g. make TARGET=your_cpu_target. Please read README for the
detail.. Stop.

README:

OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.

Added symbolic link to install a generic blas library that can be used by
Octave and R.

In OpenBLAS.SlackBuild the target looks at uname -m which here reports the
processor type as x86_64. That target is not explicit in the build file, but
I assume it's accepted in the last choice after i?586 and arm*.

Should I add a target of x86_64 to the build script?

Rich
_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/
Didier Spaier
2018-10-03 08:00:50 UTC
Permalink
Makefile:135: *** OpenBLAS: Detecting CPU failed.  Please set TARGET
explicitly, e.g.  make TARGET=your_cpu_target.  Please read README for the
detail..  Stop.
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
Added symbolic link to install a generic blas library that can be used by
Octave and R.
  In OpenBLAS.SlackBuild the target looks at uname -m which here reports the
processor type as x86_64. That target is not explicit in the build file, but
I assume it's accepted in the last choice after i?586 and arm*.
  Should I add a target of x86_64 to the build script?
The message from the Makefile probably refers to a file in the source archive,
not the README provided by the SlackBuild maintainer...

Didier
Rich Shepard
2018-10-03 14:46:26 UTC
Permalink
Post by Didier Spaier
The message from the Makefile probably refers to a file in the source
archive, not the README provided by the SlackBuild maintainer...
Didier,

Untarring the source I read the README.md and TargetList.txt files. The
CUP on this new desktop is an AMD Ryzen 7 7200 8-core and this specific
model is not listed on the target list.

The README.md file notes that specifying a target is possible,
TARGET=XXXX. Should I try TARGET=Ryzen7?

Also, if the configure file specifies USE_OPENMP=1 (haven't yet checked) I
should add to ~/.bashrc, export OMP_NUM_THREADS=16.

Both worth a try?

Rich



_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/
Rich Shepard
2018-10-03 14:55:16 UTC
Permalink
Post by Rich Shepard
CUP on this new desktop is an AMD Ryzen 7 7200 8-core and this specific
Oops! That should be CPU.

Rich
_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/
Didier Spaier
2018-10-03 14:57:17 UTC
Permalink
Post by Rich Shepard
Post by Didier Spaier
The message from the Makefile probably refers to a file in the source
archive, not the README provided by the SlackBuild maintainer...
Didier,
  Untarring the source I read the README.md and TargetList.txt files. The
CUP on this new desktop is an AMD Ryzen 7 7200 8-core and this specific
model is not listed on the target list.
  The README.md file notes that specifying a target is possible,
TARGET=XXXX. Should I try TARGET=Ryzen7?
  Also, if the configure file specifies USE_OPENMP=1 (haven't yet checked) I
should add to ~/.bashrc, export OMP_NUM_THREADS=16.
  Both worth a try?
I don't know.

Didier
Rich Shepard
2018-10-08 19:02:25 UTC
Permalink
Post by Rich Shepard
I'm building all my SBo packages on a newly minted desktop running
-14.2/x86_64. I downloaded from the repository the *.tar.gz and build
directory so all files are fresh.
Problem solved by upgrading the kernel packages to 4.14.74 from -current.
The Ryzen 7 7200 CPU was not supported in kernels newer than the 4.9.x
series.

Rich
_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/

Loading...