New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
linear algebra opcode build fails with gmm > 5.1 #920
Comments
yes, I noticed that on OSX too. I’ve turned the linear opcode build off, but I guess it needs attention. |
I guess I'll do the same for Arch in the meantime then. |
I think I had 5.3 (whatever is the latest from the gmm site). I just de-installed it. |
Ok, turning this OFF by default until it gets fixed. Otherwise the build is broken by default in some platforms. |
Read the commit comments about this and you will see that only 5.1 can be
used by Csound. Since I had fixed this you should fix it back.
…On Jan 26, 2018 10:33 AM, "vlazzarini" ***@***.***> wrote:
Assigned #920 <#920> to @gogins
<https://github.com/gogins>.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#920 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AGCDJetZXJcnGXHj1LGlT5WblwhEVlWLks5tOfBTgaJpZM4RuKlD>
.
|
@gogins can it then be somehow included in the repository? |
Not changing this to default to ON, since it breaks builds. |
Looks like the CMake configuration needs to detect gmm version and only enable the target if 5.1 is available. Seem appropriate to disable for the time being until the version detection is introduced, since having broken builds is no good for anyone. |
wasn't this fixed with #839 ? |
Status of this issue looks unresolved and confused |
The cause is simple. Last time I looked gmm++ 5.1 had no external
dependencies and built out of the box. Then gmm++ 5.2 introduced an
external dependency and the linear algebra opcodes would not build out of
the box.
The Ubuntu package is for gmm++ 5.2 and thus cannot be used.
There is now a gmm++ version 5.3. This is not backwardly compatible and the
linear algebra opcodes do not build with this out of the box.
The only solution I know for sure will work is to download, build, and
install gmm++ 5.1. This could be done as an external project in CMake, or
as part of a pre-build script.
It is possible that gmm++ 5.3 will work with some changes to our code. I
will look into this. But I don't think this fixes the Arch issue. I think
these opcodes should be built only if 5.1 is installed (or 5.3, if I can
get that to build).
Regards,
Mike
Regards,
Mike
…On Mon, Aug 6, 2018, 08:31 John ffitch ***@***.***> wrote:
Status of this issue looks unreslved and confused
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#920 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AGCDJQfF2OKryywuLD5QYRiobAIKs_wLks5uODcggaJpZM4RuKlD>
.
|
How does one tel what version of gmm one has? On SuSE the info I have is
Version : 4.2-lp150.1.3
which does not seem to have any relationship to 5.x
I looked at all the headers and failed to see any version number.
|
was this fixed in commit 34db044
? |
@gogins did you achieve to build with 5.3? can't try right now, as upstream seems borked. |
Yes, but CMake must define GMM_VERSION as gmm itself doesn't.
…-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com
On Tue, Oct 2, 2018 at 4:56 PM David Runge ***@***.***> wrote:
@gogins <https://github.com/gogins> did you achieve to build with 5.3?
can't try right now, as upstream seems borked.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#920 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AGCDJdHEg5ZNwY4lZV-aXR5UPim3kA-aks5ug9MSgaJpZM4RuKlD>
.
|
@gogins In what context? csounds cmake setup? If so, it doesn't and your pull request also doesn't add that functionality. How exactly is this supposed to work? :) |
To follow up on the issue, I'm also unable to build with gmm 5.3 (below the whole build log):
|
I failed to build the linear algebra as well but different messages.
Sent from TypeApp
…On 13 Jul 2019, 19:32, at 19:32, David Runge ***@***.***> wrote:
To follow up on the issue, I'm also unable to build with gmm 5.3 (below
the whole build log):
```
make -f Opcodes/CMakeFiles/linear_algebra.dir/build.make
Opcodes/CMakeFiles/linear_algebra.dir/build
make[2]: Entering directory '/build/csound/src/csound-6.13.0/build'
[ 69%] Building CXX object
Opcodes/CMakeFiles/linear_algebra.dir/linear_algebra.cpp.o
cd /build/csound/src/csound-6.13.0/build/Opcodes && /usr/bin/c++
-DCS_DEFAULT_PLUGINDIR=\"/usr/lib/csound/plugins64-6.0\"
-DHAVE_EXECINFO -DHAVE_SOCKETS -DHAVE_STRTOD_L -DHAVE_STRTOK_R -DLINUX
-DNO_FLTK_THREADS -DPIPES -DUSE_LRINT -D_CSOUND_RELEASE_ -D_GNU_SOURCE
-Dlinear_algebra_EXPORTS -I/build/csound/src/csound-6.13.0/./H
-I/build/csound/src/csound-6.13.0/./include
-I/build/csound/src/csound-6.13.0/./Engine
-I/build/csound/src/csound-6.13.0/./util
-I/build/csound/src/csound-6.13.0/.
-I/build/csound/src/csound-6.13.0/build
-I/build/csound/src/csound-6.13.0/build/include -I/usr/include/gmm
-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=c++11 -ffast-math
-mfpmath=sse -msse2 -fomit-frame-pointer -DBETA -fvisibility=hidden
-fvisibility=hidden -DHAVE_ATOMIC_BUILTIN -fPIC -o
CMakeFiles/linear_algebra.dir/linear_algebra.cpp.o -c
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp: In member
function ‘int la_i_lu_factor_mr_t::init(CSOUND*)’:
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:3504:45:
error: no matching function for call to
‘lu_factor(gmm::dense_matrix<double>&, std::vector<long unsigned
int>&)’
3504 | *isize = gmm::lu_factor(lhs->mr, pivot__);
| ^
In file included from /usr/include/gmm/gmm_lapack_interface.h:42,
from /usr/include/gmm/gmm_kernel.h:52,
from /usr/include/gmm/gmm.h:40,
from /build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:370:
/usr/include/gmm/gmm_dense_lu.h:129:13: note: candidate:
‘template<class DenseMatrix> gmm::size_type
gmm::lu_factor(DenseMatrix&, gmm::lapack_ipvt&)’
129 | size_type lu_factor(DenseMatrix& A, lapack_ipvt& ipvt) {
| ^~~~~~~~~
/usr/include/gmm/gmm_dense_lu.h:129:13: note: template argument
deduction/substitution failed:
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:3504:38:
note: cannot convert
‘((la_i_lu_factor_mr_t*)this)->la_i_lu_factor_mr_t::pivot__’ (type
‘std::vector<long unsigned int>’) to type ‘gmm::lapack_ipvt&’
3504 | *isize = gmm::lu_factor(lhs->mr, pivot__);
| ^~~~~~~
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp: In member
function ‘int la_k_lu_factor_mr_t::kontrol(CSOUND*)’:
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:3541:45:
error: no matching function for call to
‘lu_factor(gmm::dense_matrix<double>&, std::vector<long unsigned
int>&)’
3541 | *ksize = gmm::lu_factor(lhs->mr, pivot__);
| ^
In file included from /usr/include/gmm/gmm_lapack_interface.h:42,
from /usr/include/gmm/gmm_kernel.h:52,
from /usr/include/gmm/gmm.h:40,
from /build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:370:
/usr/include/gmm/gmm_dense_lu.h:129:13: note: candidate:
‘template<class DenseMatrix> gmm::size_type
gmm::lu_factor(DenseMatrix&, gmm::lapack_ipvt&)’
129 | size_type lu_factor(DenseMatrix& A, lapack_ipvt& ipvt) {
| ^~~~~~~~~
/usr/include/gmm/gmm_dense_lu.h:129:13: note: template argument
deduction/substitution failed:
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:3541:38:
note: cannot convert
‘((la_k_lu_factor_mr_t*)this)->la_k_lu_factor_mr_t::pivot__’ (type
‘std::vector<long unsigned int>’) to type ‘gmm::lapack_ipvt&’
3541 | *ksize = gmm::lu_factor(lhs->mr, pivot__);
| ^~~~~~~
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp: In member
function ‘int la_i_lu_factor_mc_t::init(CSOUND*)’:
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:3575:45:
error: no matching function for call to
‘lu_factor(gmm::dense_matrix<std::complex<double> >&, std::vector<long
unsigned int>&)’
3575 | *isize = gmm::lu_factor(lhs->mc, pivot__);
| ^
In file included from /usr/include/gmm/gmm_lapack_interface.h:42,
from /usr/include/gmm/gmm_kernel.h:52,
from /usr/include/gmm/gmm.h:40,
from /build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:370:
/usr/include/gmm/gmm_dense_lu.h:129:13: note: candidate:
‘template<class DenseMatrix> gmm::size_type
gmm::lu_factor(DenseMatrix&, gmm::lapack_ipvt&)’
129 | size_type lu_factor(DenseMatrix& A, lapack_ipvt& ipvt) {
| ^~~~~~~~~
/usr/include/gmm/gmm_dense_lu.h:129:13: note: template argument
deduction/substitution failed:
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:3575:38:
note: cannot convert
‘((la_i_lu_factor_mc_t*)this)->la_i_lu_factor_mc_t::pivot__’ (type
‘std::vector<long unsigned int>’) to type ‘gmm::lapack_ipvt&’
3575 | *isize = gmm::lu_factor(lhs->mc, pivot__);
| ^~~~~~~
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp: In member
function ‘int la_k_lu_factor_mc_t::kontrol(CSOUND*)’:
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:3612:45:
error: no matching function for call to
‘lu_factor(gmm::dense_matrix<std::complex<double> >&, std::vector<long
unsigned int>&)’
3612 | *ksize = gmm::lu_factor(lhs->mc, pivot__);
| ^
In file included from /usr/include/gmm/gmm_lapack_interface.h:42,
from /usr/include/gmm/gmm_kernel.h:52,
from /usr/include/gmm/gmm.h:40,
from /build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:370:
/usr/include/gmm/gmm_dense_lu.h:129:13: note: candidate:
‘template<class DenseMatrix> gmm::size_type
gmm::lu_factor(DenseMatrix&, gmm::lapack_ipvt&)’
129 | size_type lu_factor(DenseMatrix& A, lapack_ipvt& ipvt) {
| ^~~~~~~~~
/usr/include/gmm/gmm_dense_lu.h:129:13: note: template argument
deduction/substitution failed:
/build/csound/src/csound-6.13.0/Opcodes/linear_algebra.cpp:3612:38:
note: cannot convert
‘((la_k_lu_factor_mc_t*)this)->la_k_lu_factor_mc_t::pivot__’ (type
‘std::vector<long unsigned int>’) to type ‘gmm::lapack_ipvt&’
3612 | *ksize = gmm::lu_factor(lhs->mc, pivot__);
| ^~~~~~~
make[2]: *** [Opcodes/CMakeFiles/linear_algebra.dir/build.make:63:
Opcodes/CMakeFiles/linear_algebra.dir/linear_algebra.cpp.o] Error 1
make[2]: Leaving directory '/build/csound/src/csound-6.13.0/build'
make[1]: *** [CMakeFiles/Makefile2:1332:
Opcodes/CMakeFiles/linear_algebra.dir/all] Error 2
make[1]: Leaving directory '/build/csound/src/csound-6.13.0/build'
make: *** [Makefile:163: all] Error 2
```
[csound-6.13.0-build.txt](https://github.com/csound/csound/files/3389109/csound-6.13.0-build.txt)
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#920 (comment)
|
For what it’s worth, I’ve been able to build linear algebra opcodes using the version of Gmm++ included with GetFEM++ 5.3. Downloading all of GetFEM++ from https://download.savannah.gnu.org/releases/getfem/stable/getfem-5.3.tar.gz and using Gmm++ in src/gmm within that tarball works. Downloading only Gmm++ from https://download.savannah.gnu.org/releases/getfem/stable/gmm-5.3.tar.gz and using Gmm++ in include/gmm within that tarball doesn’t work. The linear algebra opcodes have been included in Homebrew’s Csound package since Sep 2019 (which means they build on macOS High Sierra, Mojave, and Catalina). |
done by @jpffitch so closing |
@jpffitch what exactly was done by @jpffitch? Can you please be more specific? Meanwhile, 6.15.0 still does not build with gmm (now at 5.4) for the same reasons as before (so it would be great to keep this issue open until it is solved): I see that the templated function I am using the headers-only package gmm. Am I supposed to use getfem? |
Ok, I'm reopening. The best thing would be to move these out of the main Csound repo really. I find that these plugins with dependencies get added to Csound and then cause a lot of maintenance trouble. It's time this gets moved to the plugins repo. |
As I read the code it iso compile with either the old gmm or the new, depending on whether GMM_VERSION is defined. being define is new version, nit defined is the old. iam nor sure what I can do to help. I cannot find any version og gmm but I did have the old one at at one time -- may be on another computer or he backups. Currently all I hve is a report that it does not work. Not sure how to proceed. |
It's been a while. Is it going to be sorted? Or else we should close this. |
Closing as out-of-date. The linear_algebra plugins were moved the plugin repository (https://github.com/csound/plugins) and any further issues should be filed there. |
The build fails with gmm 5.2 (I think it works with gmm 5.1):
The text was updated successfully, but these errors were encountered: