GithubHelp home page GithubHelp logo

jluttine / suitesparse Goto Github PK

View Code? Open in Web Editor NEW
93.0 10.0 44.0 78.11 MB

PLEASE SEE THE OFFICIAL REPOSITORY. THIS IS NOT MAINTAINED ANYMORE.

Home Page: https://github.com/DrTimothyAldenDavis/SuiteSparse

License: Other

Makefile 1.42% C 69.90% Fortran 0.68% TeX 3.83% MATLAB 11.84% M 0.02% Shell 0.06% Awk 0.01% Cuda 0.32% C++ 8.67% Perl 0.04% Java 1.06% Objective-C 1.34% Assembly 0.01% Ruby 0.20% D 0.02% HTML 0.40% CMake 0.15% Roff 0.04% Batchfile 0.01%

suitesparse's Introduction

suitesparse's People

Contributors

jluttine avatar mindw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

suitesparse's Issues

5.4 is out

Thank you for maintaining this project on github. Would be nice if 5.4 could be added.

accessing SPQR_qmult from C

In https://github.com/jluttine/suitesparse/blob/master/SPQR/Source/SuiteSparseQR_qmult.cpp there are functions to apply a Q factor to a dense or sparse matrix. But in this header file:

returned by SuiteSparseQR_C_factorize) to a dense matrix X.
the description says SuiteSparseQR_C_qmult applies only for the dense case. Is there is no C interface for applying Q to a sparse matrix? Or am I missing something?

link dead

The link of the official repository is actually dead.

cannot find -lmetis during 'sudo make install INSTALL=/usr/local'

I am trying to compile SuiteSparse on Ubuntu 14.04.
I ran make in the suitesparse directory and i ran without erros.
In the bin folder I have the following executables:

/home/gunshi/Downloads/SuiteSparse/bin/cmpfillin
/home/gunshi/Downloads/SuiteSparse/bin/gpmetis
/home/gunshi/Downloads/SuiteSparse/bin/graphchk
/home/gunshi/Downloads/SuiteSparse/bin/m2gmetis
/home/gunshi/Downloads/SuiteSparse/bin/mpmetis
/home/gunshi/Downloads/SuiteSparse/bin/ndmetis

I can also see libmetis.so inside /home/gunshi/Downloads/SuiteSparse/metis-5.1.0/build/Linux-x86_64/libmetis

On trying to do :
sudo make install INSTALL=/usr/local

I get:

( cd SuiteSparse_config && make install )
make[1]: Entering directory /home/gunshi/Downloads/SuiteSparse/SuiteSparse_config' make[1]: Nothing to be done forinstall'.
make[1]: Leaving directory /home/gunshi/Downloads/SuiteSparse/SuiteSparse_config' ( cd AMD && make install ) make[1]: Entering directory/home/gunshi/Downloads/SuiteSparse/AMD'
( cd Lib ; make install )
make[2]: Entering directory /home/gunshi/Downloads/SuiteSparse/AMD/Lib' make[2]: Nothing to be done forinstall'.
make[2]: Leaving directory /home/gunshi/Downloads/SuiteSparse/AMD/Lib' make[1]: Leaving directory/home/gunshi/Downloads/SuiteSparse/AMD'
( cd BTF && make install )
make[1]: Entering directory /home/gunshi/Downloads/SuiteSparse/BTF' ( cd Lib ; make install ) make[2]: Entering directory/home/gunshi/Downloads/SuiteSparse/BTF/Lib'
make[2]: Nothing to be done for install'. make[2]: Leaving directory/home/gunshi/Downloads/SuiteSparse/BTF/Lib'
make[1]: Leaving directory /home/gunshi/Downloads/SuiteSparse/BTF' ( cd CAMD && make install ) make[1]: Entering directory/home/gunshi/Downloads/SuiteSparse/CAMD'
( cd Lib ; make install )
make[2]: Entering directory /home/gunshi/Downloads/SuiteSparse/CAMD/Lib' make[2]: Nothing to be done forinstall'.
make[2]: Leaving directory /home/gunshi/Downloads/SuiteSparse/CAMD/Lib' make[1]: Leaving directory/home/gunshi/Downloads/SuiteSparse/CAMD'
( cd CCOLAMD && make install )
make[1]: Entering directory /home/gunshi/Downloads/SuiteSparse/CCOLAMD' ( cd Lib ; make install ) make[2]: Entering directory/home/gunshi/Downloads/SuiteSparse/CCOLAMD/Lib'
make[2]: Nothing to be done for install'. make[2]: Leaving directory/home/gunshi/Downloads/SuiteSparse/CCOLAMD/Lib'
make[1]: Leaving directory /home/gunshi/Downloads/SuiteSparse/CCOLAMD' ( cd COLAMD && make install ) make[1]: Entering directory/home/gunshi/Downloads/SuiteSparse/COLAMD'
( cd Lib ; make install )
make[2]: Entering directory /home/gunshi/Downloads/SuiteSparse/COLAMD/Lib' make[2]: Nothing to be done forinstall'.
make[2]: Leaving directory /home/gunshi/Downloads/SuiteSparse/COLAMD/Lib' make[1]: Leaving directory/home/gunshi/Downloads/SuiteSparse/COLAMD'
( cd CHOLMOD && make install )
make[1]: Entering directory /home/gunshi/Downloads/SuiteSparse/CHOLMOD' ( cd Lib ; make install ) make[2]: Entering directory/home/gunshi/Downloads/SuiteSparse/CHOLMOD/Lib'
cc -L/usr/local/lib -shared -Wl,-soname -Wl,libcholmod.so.3 -Wl,--no-undefined -fopenmp cholmod_aat.o cholmod_add.o cholmod_band.o cholmod_change_factor.o cholmod_common.o cholmod_complex.o cholmod_copy.o cholmod_dense.o cholmod_error.o cholmod_factor.o cholmod_memory.o cholmod_sparse.o cholmod_transpose.o cholmod_triplet.o cholmod_version.o cholmod_check.o cholmod_read.o cholmod_write.o cholmod_amd.o cholmod_analyze.o cholmod_colamd.o cholmod_etree.o cholmod_factorize.o cholmod_postorder.o cholmod_rcond.o cholmod_resymbol.o cholmod_rowcolcounts.o cholmod_rowfac.o cholmod_solve.o cholmod_spsolve.o cholmod_drop.o cholmod_horzcat.o cholmod_norm.o cholmod_scale.o cholmod_sdmult.o cholmod_ssmult.o cholmod_submatrix.o cholmod_vertcat.o cholmod_symmetry.o cholmod_rowadd.o cholmod_rowdel.o cholmod_updown.o cholmod_super_numeric.o cholmod_super_solve.o cholmod_super_symbolic.o cholmod_ccolamd.o cholmod_csymamd.o cholmod_metis.o cholmod_nesdis.o cholmod_camd.o cholmod_l_aat.o cholmod_l_add.o cholmod_l_band.o cholmod_l_change_factor.o cholmod_l_common.o cholmod_l_complex.o cholmod_l_copy.o cholmod_l_dense.o cholmod_l_error.o cholmod_l_factor.o cholmod_l_memory.o cholmod_l_sparse.o cholmod_l_transpose.o cholmod_l_triplet.o cholmod_l_version.o cholmod_l_check.o cholmod_l_read.o cholmod_l_write.o cholmod_l_amd.o cholmod_l_analyze.o cholmod_l_colamd.o cholmod_l_etree.o cholmod_l_factorize.o cholmod_l_postorder.o cholmod_l_rcond.o cholmod_l_resymbol.o cholmod_l_rowcolcounts.o cholmod_l_rowfac.o cholmod_l_solve.o cholmod_l_spsolve.o cholmod_l_drop.o cholmod_l_horzcat.o cholmod_l_norm.o cholmod_l_scale.o cholmod_l_sdmult.o cholmod_l_ssmult.o cholmod_l_submatrix.o cholmod_l_vertcat.o cholmod_l_symmetry.o cholmod_l_rowadd.o cholmod_l_rowdel.o cholmod_l_updown.o cholmod_l_super_numeric.o cholmod_l_super_solve.o cholmod_l_super_symbolic.o cholmod_l_ccolamd.o cholmod_l_csymamd.o cholmod_l_metis.o cholmod_l_nesdis.o cholmod_l_camd.o -o /usr/local/lib/libcholmod.so.3.0.11 -lm -lrt -Wl,-rpath=/usr/local/lib -lamd -lcolamd -lsuitesparseconfig -lccolamd -lcamd -lmetis -llapack -lopenblas
**/usr/bin/ld: cannot find -lmetis
collect2: error: ld returned 1 exit status
make[2]: *** [/usr/local/lib/libcholmod.so.3.0.11] Error 1
make[2]: Leaving directory /home/gunshi/Downloads/SuiteSparse/CHOLMOD/Lib' make[1]: *** [install] Error 2 make[1]: Leaving directory/home/gunshi/Downloads/SuiteSparse/CHOLMOD'
make: * [install] Error 2

Any idea on how I can get it to install correctly?
Thanks.

Errors in compling SPQR with gcc6 + cuda 9

When I compile SuiteSparse with gcc 6 and cuda 9 I got these error messages.

g++ -O3 -fexceptions -fPIC -fopenmp -DGPU_BLAS -DHAVE_TBB -DGPU_BLAS -I../../CHOLMOD/Include -I../../SuiteSparse_config -I../Include -I../../SuiteSparse_GPURuntime/Include -I../../GPUQREngine/Include -I/usr/include/ -c ../Source/spqr_rmap.cpp
In file included from /usr/include/c++/6/utility:69:0,
from /usr/include/cuda_fp16.hpp:57,
from /usr/include/cuda_fp16.h:1956,
from /usr/include/cublas_api.h:75,
from /usr/include/cublas_v2.h:65,
from ../../CHOLMOD/Include/cholmod_core.h:282,
from ../../CHOLMOD/Include/cholmod.h:89,
from ../Include/SuiteSparseQR.hpp:17,
from ../Include/spqr.hpp:15,
from ../Source/spqr_rmap.cpp:29:
/usr/include/c++/6/bits/stl_relops.h:85:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/bits/stl_relops.h:98:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/bits/stl_relops.h:111:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/bits/stl_relops.h:124:5: error: template with C linkage
template
^~~~~~~~
In file included from /usr/include/c++/6/bits/stl_pair.h:59:0,
from /usr/include/c++/6/utility:70,
from /usr/include/cuda_fp16.hpp:57,
from /usr/include/cuda_fp16.h:1956,
from /usr/include/cublas_api.h:75,
from /usr/include/cublas_v2.h:65,
from ../../CHOLMOD/Include/cholmod_core.h:282,
from ../../CHOLMOD/Include/cholmod.h:89,
from ../Include/SuiteSparseQR.hpp:17,
from ../Include/spqr.hpp:15,
from ../Source/spqr_rmap.cpp:29:
/usr/include/c++/6/bits/move.h:45:3: error: template with C linkage
template
^~~~~~~~
In file included from /usr/include/c++/6/bits/move.h:57:0,
from /usr/include/c++/6/bits/stl_pair.h:59,
from /usr/include/c++/6/utility:70,
from /usr/include/cuda_fp16.hpp:57,
from /usr/include/cuda_fp16.h:1956,
from /usr/include/cublas_api.h:75,
from /usr/include/cublas_v2.h:65,
from ../../CHOLMOD/Include/cholmod_core.h:282,
from ../../CHOLMOD/Include/cholmod.h:89,
from ../Include/SuiteSparseQR.hpp:17,
from ../Include/spqr.hpp:15,
from ../Source/spqr_rmap.cpp:29:
/usr/include/c++/6/type_traits:68:3: error: template with C linkage
template<typename _Tp, _Tp __v>
^~~~~~~~
/usr/include/c++/6/type_traits:83:3: error: template with C linkage
template<typename _Tp, _Tp __v>
^~~~~~~~
/usr/include/c++/6/type_traits:92:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:103:3: error: template with C linkage
template<bool, typename, typename>
^~~~~~~~
/usr/include/c++/6/type_traits:106:3: error: template with C linkage
template<typename...>
^~~~~~~~
/usr/include/c++/6/type_traits:109:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:114:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:119:3: error: template with C linkage
template<typename _B1, typename _B2>
^~~~~~~~
/usr/include/c++/6/type_traits:124:3: error: template with C linkage
template<typename _B1, typename _B2, typename _B3, typename... _Bn>
^~~~~~~~
/usr/include/c++/6/type_traits:129:3: error: template with C linkage
template<typename...>
^~~~~~~~
/usr/include/c++/6/type_traits:132:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:137:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:142:3: error: template with C linkage
template<typename _B1, typename _B2>
^~~~~~~~
/usr/include/c++/6/type_traits:147:3: error: template with C linkage
template<typename _B1, typename _B2, typename _B3, typename... _Bn>
^~~~~~~~
/usr/include/c++/6/type_traits:152:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:189:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:198:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:201:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:205:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:210:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:215:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:219:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:223:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:227:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:231:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:236:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:241:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:245:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:249:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:253:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:257:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:261:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:265:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:269:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:273:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:277:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:284:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:288:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:321:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:326:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:330:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:334:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:338:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:343:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:349:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:355:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:359:3: error: template with C linkage
template<typename _Tp, std::size_t _Size>
^~~~~~~~
/usr/include/c++/6/type_traits:363:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:367:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:371:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:376:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:382:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:386:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:391:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:395:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:399:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:402:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:406:3: error: template with C linkage
template<typename _Tp, typename _Cp>
^~~~~~~~
/usr/include/c++/6/type_traits:411:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:417:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:421:3: error: template with C linkage
template<typename _Tp, typename _Cp>
^~~~~~~~
/usr/include/c++/6/type_traits:426:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:433:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:439:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:445:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:451:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:455:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:459:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:463:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:467:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:471:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:475:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:479:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:483:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:487:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:491:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:495:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:499:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:503:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:507:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:511:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:515:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:519:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:523:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:527:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:531:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:535:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:539:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:543:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:547:3: error: template with C linkage
template<typename _Res, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:553:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:557:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:562:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:568:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:576:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:583:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:589:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:596:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:602:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:606:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:613:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:617:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:621:3: error: template with C linkage
template<typename _Tp, typename _Cp>
^~~~~~~~
/usr/include/c++/6/type_traits:626:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:633:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:638:3: error: template with C linkage
template<typename _Res, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:643:3: error: template with C linkage
template<typename _Res, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:651:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:655:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:660:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:664:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:669:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:675:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:681:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:688:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:694:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:700:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:706:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:714:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:721:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:726:3: error: template with C linkage
template<typename _Tp,
^~~~~~~~
/usr/include/c++/6/type_traits:731:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:737:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:743:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:751:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:758:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:761:3: error: template with C linkage
template<typename, unsigned = 0>
^~~~~~~~
/usr/include/c++/6/type_traits:764:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:767:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:772:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:784:5: error: template with C linkage
template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
^~~~~~~~
/usr/include/c++/6/type_traits:787:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:791:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:798:3: error: template with C linkage
template<typename _Tp,
^~~~~~~~
/usr/include/c++/6/type_traits:805:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:811:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:815:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:820:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:831:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:835:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:839:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:846:3: error: template with C linkage
template<typename _Tp,
^~~~~~~~
/usr/include/c++/6/type_traits:853:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:859:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:863:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:868:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:875:5: error: template with C linkage
template<typename _Tp, typename = decltype(_Tp())>
^~~~~~~~
/usr/include/c++/6/type_traits:878:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:882:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:889:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:895:3: error: template with C linkage
template<typename _Tp, bool = is_array<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:903:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:910:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:916:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:935:5: error: template with C linkage
template<typename _From, typename _To, typename
^~~~~~~~
/usr/include/c++/6/type_traits:939:5: error: template with C linkage
template<typename, typename>
^~~~~~~~
/usr/include/c++/6/type_traits:943:3: error: template with C linkage
template<typename _From, typename _To>
^~~~~~~~
/usr/include/c++/6/type_traits:950:3: error: template with C linkage
template<typename _From, typename _To>
^~~~~~~~
/usr/include/c++/6/type_traits:956:3: error: template with C linkage
template<typename _From, typename _To>
^~~~~~~~
/usr/include/c++/6/type_traits:969:5: error: template with C linkage
template<typename _Tp, typename _Arg, typename
^~~~~~~~
/usr/include/c++/6/type_traits:973:5: error: template with C linkage
template<typename, typename>
^~~~~~~~
/usr/include/c++/6/type_traits:977:3: error: template with C linkage
template<typename _Tp, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:984:3: error: template with C linkage
template<typename _Tp, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:990:3: error: template with C linkage
template<typename, typename>
^~~~~~~~
/usr/include/c++/6/type_traits:993:3: error: template with C linkage
template<typename, typename>
^~~~~~~~
/usr/include/c++/6/type_traits:996:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:999:3: error: template with C linkage
template<typename _From, typename _To, bool
^~~~~~~~
/usr/include/c++/6/type_traits:1004:3: error: template with C linkage
template<typename _Tp, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:1009:3: error: template with C linkage
template<typename _From, typename _To>
^~~~~~~~
/usr/include/c++/6/type_traits:1022:3: error: template with C linkage
template<typename _From, typename _To>
^~~~~~~~
/usr/include/c++/6/type_traits:1027:3: error: template with C linkage
template<typename _From, typename _To, bool
^~~~~~~~
/usr/include/c++/6/type_traits:1034:3: error: template with C linkage
template<typename _From, typename _To>
^~~~~~~~
/usr/include/c++/6/type_traits:1047:3: error: template with C linkage
template<typename _From, typename _To>
^~~~~~~~
/usr/include/c++/6/type_traits:1058:3: error: template with C linkage
template<typename _Tp, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:1066:3: error: template with C linkage
template<typename _Tp, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:1074:3: error: template with C linkage
template<typename _Tp, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:1086:5: error: template with C linkage
template<typename _Tp, typename... _Args, typename
^~~~~~~~
/usr/include/c++/6/type_traits:1090:5: error: template with C linkage
template<typename, typename...>
^~~~~~~~
/usr/include/c++/6/type_traits:1094:3: error: template with C linkage
template<typename _Tp, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:1101:3: error: template with C linkage
template<typename _Tp, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:1109:3: error: template with C linkage
template<typename _Tp, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:1114:3: error: template with C linkage
template<typename _Tp, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:1119:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1125:3: error: template with C linkage
template<typename _Tp, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:1130:3: error: template with C linkage
template<typename _Tp, bool = __is_referenceable<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1133:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1137:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1143:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1148:3: error: template with C linkage
template<typename _Tp, bool = __is_referenceable<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1151:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1155:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1161:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1166:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1171:3: error: template with C linkage
template<typename _Tp, bool = is_array<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1174:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1181:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1187:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1193:3: error: template with C linkage
template<typename _Tp, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:1198:3: error: template with C linkage
template<typename _Tp, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:1204:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1210:3: error: template with C linkage
template<typename _Tp, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:1216:3: error: template with C linkage
template<typename _Tp, bool = __is_referenceable<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1219:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1223:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1229:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1234:3: error: template with C linkage
template<typename _Tp, bool = __is_referenceable<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1237:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1241:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1247:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1252:3: error: template with C linkage
template<typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/type_traits:1269:3: error: template with C linkage
template<typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/type_traits:1274:3: error: template with C linkage
template<typename _Tp, bool = __is_referenceable<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1277:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1281:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1287:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1292:3: error: template with C linkage
template<typename _Tp, bool = __is_referenceable<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1295:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1299:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1305:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1310:3: error: template with C linkage
template<typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/type_traits:1316:3: error: template with C linkage
template<typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/type_traits:1322:3: error: template with C linkage
template<typename _Tp, bool = __is_referenceable<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1325:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1329:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1335:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1340:3: error: template with C linkage
template<typename _Tp, bool = __is_referenceable<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1343:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1347:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1353:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1359:3: error: template with C linkage
template<typename _Tp, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:1366:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1373:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1376:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1383:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1390:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1395:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1402:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1410:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1418:3: error: template with C linkage
template<typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/type_traits:1426:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1434:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1442:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1449:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1455:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1461:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1467:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1476:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1481:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1485:3: error: template with C linkage
template<typename _Tp, std::size_t _Size>
^~~~~~~~
/usr/include/c++/6/type_traits:1489:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1494:3: error: template with C linkage
template<typename, unsigned _Uint>
^~~~~~~~
/usr/include/c++/6/type_traits:1498:3: error: template with C linkage
template<typename _Tp, unsigned _Uint, std::size_t _Size>
^~~~~~~~
/usr/include/c++/6/type_traits:1505:3: error: template with C linkage
template<typename _Tp, unsigned _Uint>
^~~~~~~~
/usr/include/c++/6/type_traits:1516:3: error: template with C linkage
template<typename, typename>
^~~~~~~~
/usr/include/c++/6/type_traits:1520:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1525:3: error: template with C linkage
template<typename _Base, typename _Derived>
^~~~~~~~
/usr/include/c++/6/type_traits:1530:3: error: template with C linkage
template<typename _From, typename _To,
^~~~~~~~
/usr/include/c++/6/type_traits:1536:3: error: template with C linkage
template<typename _From, typename _To>
^~~~~~~~
/usr/include/c++/6/type_traits:1557:3: error: template with C linkage
template<typename _From, typename _To>
^~~~~~~~
/usr/include/c++/6/type_traits:1566:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1570:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1575:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1579:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1584:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1592:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1597:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1602:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1614:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1618:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1622:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1626:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1630:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1634:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1641:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1645:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1649:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1653:3: error: template with C linkage
template<typename _Tp, bool = __is_referenceable<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1657:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1662:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1667:3: error: template with C linkage
template<typename _Tp, bool = __is_referenceable<_Tp>::value>
^~~~~~~~
/usr/include/c++/6/type_traits:1671:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1676:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1683:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1687:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1691:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1698:3: error: template with C linkage
template<typename _Unqualified, bool _IsConst, bool _IsVol>
^~~~~~~~
/usr/include/c++/6/type_traits:1701:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1705:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1709:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1713:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1717:3: error: template with C linkage
template<typename _Qualified, typename _Unqualified,
^~~~~~~~
/usr/include/c++/6/type_traits:1729:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1733:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1737:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1741:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1745:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1749:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1753:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1758:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1764:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1785:3: error: template with C linkage
template<typename _Tp,
^~~~~~~~
/usr/include/c++/6/type_traits:1790:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1801:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1829:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1834:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1839:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1843:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1847:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1851:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1855:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1859:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1863:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1874:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1877:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1883:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1904:3: error: template with C linkage
template<typename _Tp,
^~~~~~~~
/usr/include/c++/6/type_traits:1909:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1920:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1933:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1938:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/type_traits:1943:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1947:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1954:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1958:3: error: template with C linkage
template<typename _Tp, std::size_t _Size>
^~~~~~~~
/usr/include/c++/6/type_traits:1962:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1967:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1971:3: error: template with C linkage
template<typename _Tp, std::size_t _Size>
^~~~~~~~
/usr/include/c++/6/type_traits:1975:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1981:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1985:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:1991:3: error: template with C linkage
template<typename _Tp, typename>
^~~~~~~~
/usr/include/c++/6/type_traits:1995:3: error: template with C linkage
template<typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/type_traits:2000:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2006:3: error: template with C linkage
template<typename _Tp, bool = _or<__is_referenceable<_Tp>,
^~~~~~~~
/usr/include/c++/6/type_traits:2011:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2015:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2022:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2026:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2030:3: error: template with C linkage
template<std::size_t _Len>
^~~~~~~~
/usr/include/c++/6/type_traits:2050:3: error: template with C linkage
template<std::size_t _Len, std::size_t _Align =
^~~~~~~~
/usr/include/c++/6/type_traits:2061:3: error: template with C linkage
template <typename... _Types>
^~~~~~~~
/usr/include/c++/6/type_traits:2068:3: error: template with C linkage
template <typename _Tp, typename... _Types>
^~~~~~~~
/usr/include/c++/6/type_traits:2089:3: error: template with C linkage
template <size_t _Len, typename... _Types>
^~~~~~~~
/usr/include/c++/6/type_traits:2105:3: error: template with C linkage
template <size_t _Len, typename... _Types>
^~~~~~~~
/usr/include/c++/6/type_traits:2110:3: error: template with C linkage
template<typename _Up,
^~~~~~~~
/usr/include/c++/6/type_traits:2116:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2120:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2124:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2129:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2138:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2142:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2148:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2154:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2164:3: error: template with C linkage
template<bool, typename _Tp = void>
^~~~~~~~
/usr/include/c++/6/type_traits:2169:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2173:3: error: template with C linkage
template<typename... _Cond>
^~~~~~~~
/usr/include/c++/6/type_traits:2178:3: error: template with C linkage
template<bool _Cond, typename _Iftrue, typename _Iffalse>
^~~~~~~~
/usr/include/c++/6/type_traits:2183:3: error: template with C linkage
template<typename _Iftrue, typename _Iffalse>
^~~~~~~~
/usr/include/c++/6/type_traits:2188:3: error: template with C linkage
template<typename... _Tp>
^~~~~~~~
/usr/include/c++/6/type_traits:2195:5: error: template with C linkage
template<typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/type_traits:2200:5: error: template with C linkage
template<typename, typename>
^~~~~~~~
/usr/include/c++/6/type_traits:2204:3: error: template with C linkage
template<typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/type_traits:2213:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2216:5: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2220:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2227:3: error: template with C linkage
template<typename _CTp, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2233:3: error: template with C linkage
template<typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2237:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2241:3: error: template with C linkage
template<typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/type_traits:2246:3: error: template with C linkage
template<typename _Tp, typename _Up, typename... _Vp>
^~~~~~~~
/usr/include/c++/6/type_traits:2253:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2259:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2266:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2276:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2290:3: error: template with C linkage
template<typename _Tp, typename _Tag>
^~~~~~~~
/usr/include/c++/6/type_traits:2297:5: error: template with C linkage
template<typename _Fp, typename _Tp1, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2302:5: error: template with C linkage
template<typename...>
^~~~~~~~
/usr/include/c++/6/type_traits:2306:3: error: template with C linkage
template<typename _MemPtr, typename _Arg, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2316:5: error: template with C linkage
template<typename _Fp, typename _Tp1, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2321:5: error: template with C linkage
template<typename...>
^~~~~~~~
/usr/include/c++/6/type_traits:2325:3: error: template with C linkage
template<typename _MemPtr, typename _Arg, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2335:5: error: template with C linkage
template<typename _Fp, typename _Tp1>
^~~~~~~~
/usr/include/c++/6/type_traits:2340:5: error: template with C linkage
template<typename, typename>
^~~~~~~~
/usr/include/c++/6/type_traits:2344:3: error: template with C linkage
template<typename _MemPtr, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:2354:5: error: template with C linkage
template<typename _Fp, typename _Tp1>
^~~~~~~~
/usr/include/c++/6/type_traits:2359:5: error: template with C linkage
template<typename, typename>
^~~~~~~~
/usr/include/c++/6/type_traits:2363:3: error: template with C linkage
template<typename _MemPtr, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:2370:3: error: template with C linkage
template<typename _MemPtr, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:2373:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:2386:3: error: template with C linkage
template<typename _MemPtr, typename _Arg, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2389:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2406:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:2411:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:2416:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:2421:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:2426:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:2431:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2436:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2442:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2448:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2454:3: error: template with C linkage
template<typename _Res, typename _Class, typename _Arg, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2460:3: error: template with C linkage
template<bool, bool, typename _Functor, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:2466:3: error: template with C linkage
template<typename _MemPtr, typename _Arg>
^~~~~~~~
/usr/include/c++/6/type_traits:2471:3: error: template with C linkage
template<typename _MemPtr, typename _Arg, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2479:5: error: template with C linkage
template<typename _Fn, typename... _Args>
^~~~~~~~
/usr/include/c++/6/type_traits:2484:5: error: template with C linkage
template<typename...>
^~~~~~~~
/usr/include/c++/6/type_traits:2488:3: error: template with C linkage
template<typename _Functor, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:2495:3: error: template with C linkage
template<typename _Functor, typename... _ArgTypes>
^~~~~~~~
/usr/include/c++/6/type_traits:2510:3: error: template with C linkage
template<size_t _Len, size_t _Align =
^~~~~~~~
/usr/include/c++/6/type_traits:2514:3: error: template with C linkage
template <size_t _Len, typename... _Types>
^~~~~~~~
/usr/include/c++/6/type_traits:2518:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2522:3: error: template with C linkage
template<bool _Cond, typename _Tp = void>
^~~~~~~~
/usr/include/c++/6/type_traits:2526:3: error: template with C linkage
template<bool _Cond, typename _Iftrue, typename _Iffalse>
^~~~~~~~
/usr/include/c++/6/type_traits:2530:3: error: template with C linkage
template<typename... _Tp>
^~~~~~~~
/usr/include/c++/6/type_traits:2534:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2538:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2542:3: error: template with C linkage
template<typename...> using __void_t = void;
^~~~~~~~
/usr/include/c++/6/type_traits:2547:3: error: template with C linkage
template<typename...> using void_t = void;
^~~~~~~~
/usr/include/c++/6/type_traits:2551:3: error: template with C linkage
template<typename _Default, typename _AlwaysVoid,
^~~~~~~~
/usr/include/c++/6/type_traits:2560:3: error: template with C linkage
template<typename _Default, template<typename...> class _Op,
^~~~~~~~
/usr/include/c++/6/type_traits:2569:3: error: template with C linkage
template<typename _Default, template<typename...> class _Op,
^~~~~~~~
/usr/include/c++/6/type_traits:2574:3: error: template with C linkage
template<typename _Default, template<typename...> class _Op,
^~~~~~~~
/usr/include/c++/6/type_traits:2595:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2598:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2601:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2609:3: error: template with C linkage
template<typename _Tp, size_t _Nm>
^~~~~~~~
/usr/include/c++/6/type_traits:2620:7: error: template with C linkage
template<typename _Tp, typename
^~~~~~~~
/usr/include/c++/6/type_traits:2624:7: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2630:7: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2635:7: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2641:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2648:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2655:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/type_traits:2660:3: error: template with C linkage
template
^~~~~~~~
In file included from /usr/include/c++/6/bits/stl_pair.h:59:0,
from /usr/include/c++/6/utility:70,
from /usr/include/cuda_fp16.hpp:57,
from /usr/include/cuda_fp16.h:1956,
from /usr/include/cublas_api.h:75,
from /usr/include/cublas_v2.h:65,
from ../../CHOLMOD/Include/cholmod_core.h:282,
from ../../CHOLMOD/Include/cholmod.h:89,
from ../Include/SuiteSparseQR.hpp:17,
from ../Include/spqr.hpp:15,
from ../Source/spqr_rmap.cpp:29:
/usr/include/c++/6/bits/move.h:74:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/bits/move.h:85:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/bits/move.h:99:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/bits/move.h:105:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/bits/move.h:118:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/bits/move.h:133:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/bits/move.h:139:3: error: template with C linkage
template <typename _Tp, typename _Up = _Tp>
^~~~~~~~
/usr/include/c++/6/bits/move.h:174:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/bits/move.h:198:3: error: template with C linkage
template<typename _Tp, size_t _Nm>
^~~~~~~~
In file included from /usr/include/c++/6/utility:70:0,
from /usr/include/cuda_fp16.hpp:57,
from /usr/include/cuda_fp16.h:1956,
from /usr/include/cublas_api.h:75,
from /usr/include/cublas_v2.h:65,
from ../../CHOLMOD/Include/cholmod_core.h:282,
from ../../CHOLMOD/Include/cholmod.h:89,
from ../Include/SuiteSparseQR.hpp:17,
from ../Include/spqr.hpp:15,
from ../Source/spqr_rmap.cpp:29:
/usr/include/c++/6/bits/stl_pair.h:82:3: error: template with C linkage
template<typename...>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:85:3: error: template with C linkage
templatestd::size_t...
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:93:3: error: template with C linkage
template <bool, typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:153:3: error: template with C linkage
template <typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:193:3: error: template with C linkage
template<typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:433:3: error: template with C linkage
template<typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:439:3: error: template with C linkage
template<typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:446:3: error: template with C linkage
template<typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:452:3: error: template with C linkage
template<typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:458:3: error: template with C linkage
template<typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:464:3: error: template with C linkage
template<typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:473:3: error: template with C linkage
template<typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:494:3: error: template with C linkage
template<typename _T1, typename _T2>
^~~~~~~~
In file included from /usr/include/c++/6/utility:76:0,
from /usr/include/cuda_fp16.hpp:57,
from /usr/include/cuda_fp16.h:1956,
from /usr/include/cublas_api.h:75,
from /usr/include/cublas_v2.h:65,
from ../../CHOLMOD/Include/cholmod_core.h:282,
from ../../CHOLMOD/Include/cholmod.h:89,
from ../Include/SuiteSparseQR.hpp:17,
from ../Include/spqr.hpp:15,
from ../Source/spqr_rmap.cpp:29:
/usr/include/c++/6/initializer_list:46:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/initializer_list:87:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/initializer_list:97:3: error: template with C linkage
template
^~~~~~~~
In file included from /usr/include/cuda_fp16.hpp:57:0,
from /usr/include/cuda_fp16.h:1956,
from /usr/include/cublas_api.h:75,
from /usr/include/cublas_v2.h:65,
from ../../CHOLMOD/Include/cholmod_core.h:282,
from ../../CHOLMOD/Include/cholmod.h:89,
from ../Include/SuiteSparseQR.hpp:17,
from ../Include/spqr.hpp:15,
from ../Source/spqr_rmap.cpp:29:
/usr/include/c++/6/utility:83:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/utility:88:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/utility:92:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/utility:96:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/utility:101:3: error: template with C linkage
template<std::size_t __i, typename _Tp>
^~~~~~~~
/usr/include/c++/6/utility:105:3: error: template with C linkage
template<std::size_t __i, typename _Tp>
^~~~~~~~
/usr/include/c++/6/utility:108:3: error: template with C linkage
template<std::size_t __i, typename _Tp>
^~~~~~~~
/usr/include/c++/6/utility:114:3: error: template with C linkage
template<std::size_t __i, typename _Tp>
^~~~~~~~
/usr/include/c++/6/utility:120:3: error: template with C linkage
template<std::size_t __i, typename _Tp>
^~~~~~~~
/usr/include/c++/6/utility:129:3: error: template with C linkage
template<std::size_t __i, typename _Tp>
^~~~~~~~
/usr/include/c++/6/utility:133:3: error: template with C linkage
template
^~~~~~~~
/usr/include/c++/6/utility:140:3: error: template with C linkage
template<typename _T1, typename _T2>
^~~~~~~~
/usr/include/c++/6/utility:145:3: error: template with C linkage
template<class _Tp1, class _Tp2>
^~~~~~~~
/usr/include/c++/6/utility:150:3: error: template with C linkage
template<class _Tp1, class _Tp2>
^~~~~~~~
/usr/include/c++/6/utility:155:3: error: template with C linkage
template<class _Tp1, class _Tp2>
^~~~~~~~
/usr/include/c++/6/utility:159:3: error: template with C linkage
template<std::size_t _Int>
^~~~~~~~
/usr/include/c++/6/utility:162:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/utility:181:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/utility:200:3: error: template with C linkage
template<std::size_t _Int, class _Tp1, class _Tp2>
^~~~~~~~
/usr/include/c++/6/utility:205:3: error: template with C linkage
template<std::size_t _Int, class _Tp1, class _Tp2>
^~~~~~~~
/usr/include/c++/6/utility:210:3: error: template with C linkage
template<std::size_t _Int, class _Tp1, class _Tp2>
^~~~~~~~
/usr/include/c++/6/utility:219:3: error: template with C linkage
template <typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/utility:224:3: error: template with C linkage
template <typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/utility:229:3: error: template with C linkage
template <typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/utility:234:3: error: template with C linkage
template <typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/utility:239:3: error: template with C linkage
template <typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/utility:244:3: error: template with C linkage
template <typename _Tp, typename _Up>
^~~~~~~~
/usr/include/c++/6/utility:252:3: error: template with C linkage
template <typename _Tp, typename _Up = _Tp>
^~~~~~~~
/usr/include/c++/6/utility:260:3: error: template with C linkage
template<size_t... _Indexes> struct _Index_tuple { };
^~~~~~~~
/usr/include/c++/6/utility:263:3: error: template with C linkage
template<typename _Itup1, typename _Itup2> struct _Itup_cat;
^~~~~~~~
/usr/include/c++/6/utility:265:3: error: template with C linkage
template<size_t... _Ind1, size_t... _Ind2>
^~~~~~~~
/usr/include/c++/6/utility:272:3: error: template with C linkage
template<size_t _Num>
^~~~~~~~
/usr/include/c++/6/utility:278:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/utility:284:3: error: template specialization with C linkage
template<>
^~~~~~~~
/usr/include/c++/6/utility:295:3: error: template with C linkage
template<typename _Tp, _Tp... _Idx>
^~~~~~~~
/usr/include/c++/6/utility:302:3: error: template with C linkage
template<typename _Tp, _Tp _Num,
^~~~~~~~
/usr/include/c++/6/utility:306:3: error: template with C linkage
template<typename _Tp, _Tp _Num, size_t... _Idx>
^~~~~~~~
/usr/include/c++/6/utility:316:3: error: template with C linkage
template<typename _Tp, _Tp _Num>
^~~~~~~~
/usr/include/c++/6/utility:321:3: error: template with C linkage
template<size_t... _Idx>
^~~~~~~~
/usr/include/c++/6/utility:325:3: error: template with C linkage
template<size_t _Num>
^~~~~~~~
/usr/include/c++/6/utility:329:3: error: template with C linkage
template<typename... _Types>
^~~~~~~~
Makefile:231: recipe for target 'spqr_rmap.o' failed
make[2]: *** [spqr_rmap.o] Error 1
make[2]: Leaving directory '/home/list1331/Downloads/SuiteSparse/SPQR/Lib'
Makefile:54: recipe for target 'install' failed
make[1]: *** [install] Error 2
make[1]: Leaving directory '/home/list1331/Downloads/SuiteSparse/SPQR'
Makefile:40: recipe for target 'install' failed
make: *** [install] Error 2

Any help relative with this problem will be appreciate.
Thank you.

Errors in compiling CHOLMOD

Hi,
I tried compiling using make, with "make BLAS=-lopenblas". I get the following errors. I've tried on two Linux PCs running Ubuntu and the same happens in both. I'm using the most recent release version.

make[2]: Entering directory '/home/gokul/Downloads/suitesparse-5.3.0/CHOLMOD/Lib'
cc -L/home/gokul/Downloads/suitesparse-5.3.0/lib -shared -Wl,-soname -Wl,libcholmod.so.3 -Wl,--no-undefined -fopenmp cholmod_aat.o cholmod_add.o cholmod_band.o cholmod_change_factor.o cholmod_common.o cholmod_complex.o cholmod_copy.o cholmod_dense.o cholmod_error.o cholmod_factor.o cholmod_memory.o cholmod_sparse.o cholmod_transpose.o cholmod_triplet.o cholmod_version.o cholmod_check.o cholmod_read.o cholmod_write.o cholmod_amd.o cholmod_analyze.o cholmod_colamd.o cholmod_etree.o cholmod_factorize.o cholmod_postorder.o cholmod_rcond.o cholmod_resymbol.o cholmod_rowcolcounts.o cholmod_rowfac.o cholmod_solve.o cholmod_spsolve.o cholmod_drop.o cholmod_horzcat.o cholmod_norm.o cholmod_scale.o cholmod_sdmult.o cholmod_ssmult.o cholmod_submatrix.o cholmod_vertcat.o cholmod_symmetry.o cholmod_rowadd.o cholmod_rowdel.o cholmod_updown.o cholmod_super_numeric.o cholmod_super_solve.o cholmod_super_symbolic.o cholmod_ccolamd.o cholmod_csymamd.o cholmod_metis.o cholmod_nesdis.o cholmod_camd.o cholmod_l_aat.o cholmod_l_add.o cholmod_l_band.o cholmod_l_change_factor.o cholmod_l_common.o cholmod_l_complex.o cholmod_l_copy.o cholmod_l_dense.o cholmod_l_error.o cholmod_l_factor.o cholmod_l_memory.o cholmod_l_sparse.o cholmod_l_transpose.o cholmod_l_triplet.o cholmod_l_version.o cholmod_l_check.o cholmod_l_read.o cholmod_l_write.o cholmod_l_amd.o cholmod_l_analyze.o cholmod_l_colamd.o cholmod_l_etree.o cholmod_l_factorize.o cholmod_l_postorder.o cholmod_l_rcond.o cholmod_l_resymbol.o cholmod_l_rowcolcounts.o cholmod_l_rowfac.o cholmod_l_solve.o cholmod_l_spsolve.o cholmod_l_drop.o cholmod_l_horzcat.o cholmod_l_norm.o cholmod_l_scale.o cholmod_l_sdmult.o cholmod_l_ssmult.o cholmod_l_submatrix.o cholmod_l_vertcat.o cholmod_l_symmetry.o cholmod_l_rowadd.o cholmod_l_rowdel.o cholmod_l_updown.o cholmod_l_super_numeric.o cholmod_l_super_solve.o cholmod_l_super_symbolic.o cholmod_l_ccolamd.o cholmod_l_csymamd.o cholmod_l_metis.o cholmod_l_nesdis.o cholmod_l_camd.o -o /home/gokul/Downloads/suitesparse-5.3.0/lib/libcholmod.so.3.0.12 -lm -lrt -Wl,-rpath=/home/gokul/Downloads/suitesparse-5.3.0/lib -lamd -lcolamd -lsuitesparseconfig -lccolamd -lcamd -lmetis -llapack -lopenblas
//usr/local/lib/liblapack.a(xerbla.o): In function xerbla_': xerbla.f:(.text+0x53): undefined reference to _gfortran_st_write'
xerbla.f:(.text+0x5e): undefined reference to _gfortran_string_len_trim' xerbla.f:(.text+0x73): undefined reference to _gfortran_transfer_character_write'
xerbla.f:(.text+0x83): undefined reference to _gfortran_transfer_integer_write' xerbla.f:(.text+0x8b): undefined reference to gfortran_st_write_done'
xerbla.f:(.text+0x94): undefined reference to _gfortran_stop_string' /usr/bin/ld: //usr/local/lib/liblapack.a(dpotrf2.o): relocation R_X86_64_PC32 against symbol dpotrf2
' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:541: recipe for target '/home/gokul/Downloads/suitesparse-5.3.0/lib/libcholmod.so.3.0.12' failed
make[2]: *** [/home/gokul/Downloads/suitesparse-5.3.0/lib/libcholmod.so.3.0.12] Error 1
make[2]: Leaving directory '/home/gokul/Downloads/suitesparse-5.3.0/CHOLMOD/Lib'
Makefile:66: recipe for target 'install' failed
make[1]: *** [install] Error 2
make[1]: Leaving directory '/home/gokul/Downloads/suitesparse-5.3.0/CHOLMOD'
Makefile:40: recipe for target 'install' failed
make: *** [install] Error 2

Sparse constructs return uninitialized elements

Hi everyone,

I am working on graph analytics with my Master's student, @Lehel44.

When using GraphBLAS, we encountered some strange behaviour, documented in the code snippet below. We are beginners with GraphBLAS, so it's possible that we use the API incorrectly -- please advise on what changes we should make. We are aware that this is not an official repository, but it might be a good place to start.

Thank you.

#include "GraphBLAS.h"

void printDoubleVector(GrB_Vector vec) {
    GrB_Index size;
    GrB_Vector_size(&size, vec);
    double element;
    for(unsigned int i = 0; i < size; i++) {
        GrB_Vector_extractElement(&element, vec, i);
        printf("%lf ", element);
    }
    printf("\n");
}
void printDoubleMatrix(GrB_Matrix M) {
    GrB_Index size;
    GrB_Matrix_nrows(&size, M);
    double element;
    for (unsigned int i = 0; i < size; i++) {
        for (unsigned int j = 0; j < size; j++) {
            GrB_Matrix_extractElement(&element, M, i, j);
            printf("%lf ", element);
        }
        printf("\n");
    }
    printf("\n");
}

int main (int argc, char **argv) {

    GrB_Index size = 4;
    GrB_Vector v = NULL;

    // Create index and value arrays to build a vector.
    GrB_Index* indices = malloc(size * sizeof(GrB_Index));
    double* values = malloc(size * sizeof(double));

    for (unsigned int i = 0; i < size; i++) {
        indices[i] = i;
        values[i] = 10.0;
    }

    // Initialize and build the vector from tuples.
    GrB_Vector_new(&v, GrB_FP64, size);
    GrB_Vector_build(v, indices, values, size, GrB_FIRST_FP64);

    // Print vector.
    printf("v:\n");
    printDoubleVector(v); // 10.000000 10.000000 10.000000 10.000000

    // Set 2nd element to 20 and print again.
    GrB_Vector_setElement(v, 20.0, 2);
    printDoubleVector(v); // 10.000000 10.000000 20.000000 10.000000

    // -------------------------------------------------------------------------------------
    // This works as it's supposed to. Let's see what happens if we don't build the vector.
    // -------------------------------------------------------------------------------------

    GrB_Vector w = NULL;

    printf("w:\n");
    // Initialize and print.
    GrB_Vector_new(&w, GrB_FP64, size);
    printDoubleVector(w); // 0.000000 0.000000 0.000000 0.000000

    // Set 2nd element to 20 and print again.
    GrB_Vector_setElement(w, 20.0, 2);
    printDoubleVector(w); // 20.000000 20.000000 20.000000 20.000000

    // -------------------------------------------------------------------------------------
    // All elements are changed to 20.0. Why?
    // Now create and build a 4-length vector with 2 tuples.
    // -------------------------------------------------------------------------------------

    GrB_Vector r = NULL;

    // Create index and value arrays to build a vector.
    unsigned int r_tuples = 2;
    GrB_Index* r_indices = malloc(r_tuples * sizeof(GrB_Index));
    double* r_values = malloc(r_tuples * sizeof(double));

    r_indices[0] = 0;
    r_values[0] = 11.4;

    r_indices[1] = 2;
    r_values[1] = 85.3;

    // Initialize, build and print.
    GrB_Vector_new(&r, GrB_FP64, size);
    GrB_Vector_build(r, r_indices, r_values, r_tuples, GrB_FIRST_FP64);
    printf("r:\n");
    printDoubleVector(r); // 11.400000 11.400000 85.300000 85.300000

    // -------------------------------------------------------------------------------------
    // What is happening?
    // -------------------------------------------------------------------------------------

    // Set 2nd element to 20 and print again.
    GrB_Vector_setElement(r, 20.0, 2);
    printDoubleVector(r); // 11.400000 11.400000 20.000000 20.000000

    // -------------------------------------------------------------------------------------
    // What is happening again? In bfs5m.c, lines 46-47 show that vectors can be used
    // by simple initialization, and there is no need to build them.
    // https://github.com/jluttine/suitesparse/blob/306d7f11792aca524571f4ae142bcd8b7e38c362/GraphBLAS/Demo/Source/bfs5m.c#L46-L47
    // -------------------------------------------------------------------------------------

    // Now build a 4x4 matrix from tuples.
    //
    // M = 1 2 10.0
    //     2 3 20.0
    //

    GrB_Matrix M = NULL;

    unsigned int M_tuples = 2;
    GrB_Index* MI = malloc(M_tuples * sizeof(GrB_Index));
    GrB_Index* MJ = malloc(M_tuples * sizeof(GrB_Index));
    double* M_values = malloc(M_tuples * sizeof(double));

    MI[0] = 1;
    MJ[0] = 2;
    M_values[0] = 20.0;

    MI[1] = 2;
    MJ[1] = 3;
    M_values[1] = 10.0;

    // Initialize and build matrix.
    GrB_Matrix_new(&M, GrB_FP64, size, size);
    GrB_Matrix_build(M, MI, MJ, M_values, M_tuples, GrB_FIRST_FP64);

    // Print the matrix.
    printf("M:\n");
    printDoubleMatrix(M);

    //  0.000000  0.000000  0.000000  0.000000
    //  0.000000  0.000000 20.000000 20.000000
    // 20.000000 20.000000 20.000000 10.000000
    // 10.000000 10.000000 10.000000 10.000000

    // -------------------------------------------------------------------------------------
    // Random values appear again. Now do a matrix-vector multiplication.
    //
    // w looks like: 20.000000 20.000000 20.000000 20.000000
    // w should be:   0.000000  0.000000 20.000000  0.000000
    // -------------------------------------------------------------------------------------

    GrB_Vector result = NULL;
    GrB_Vector_new(&result, GrB_FP64, size);

    GrB_mxv(result, NULL, NULL, GxB_PLUS_TIMES_FP64, M, w, NULL);

    // Result:
    // 0.000000 400.000000 400.000000 400.000000
    // It looks like it's counting something else.
    printDoubleVector(result); // 0.000000 400.000000 400.000000 400.000000

    GrB_free(&v);
    GrB_free(&w);
    GrB_free(&r);

    free(indices);
    free(values);
    free(r_indices);
    free(r_values);
    free(MI);
    free(MJ);
    free(M_values);
}

Problem compiling without METIS

Hi

I tried to compile without METIS. To accomplish this, I set CONFIG_PARTITION to -DNPARTITION, as indicated in Suitesparse_config.mk. The problem is that the variable LIB_WITH_PARTITION should be cleared and it is not happening. Thus, the Makefile in CHOLMOD/Lib keeps using it and tries to ling with metis anyway.

I think the problem is in line 53 of Suitesparse_config.mk

ifeq (,$(findstring -DNPARTITION, $(CHOLMOD_CONFIG)))

that should be

ifeq (,$(findstring -DNPARTITION, $(CONFIG_PARTITION)))

Doing this modification, I could compile successfully.

Am I doing something wrong or it is indeed a mistake.

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.