Thread: [Librsb-users] confusing config error on cygwin
A shared memory parallel sparse matrix library including Sparse BLAS.
Brought to you by:
michelemartone
From: Marco A. <mar...@gm...> - 2015-06-22 08:26:49
Attachments:
config.log_x86_64.bz2
config.log_i686.bz2
|
Hi Michele librsb-1.2.0-rc1 on cygwin (32 bit and 64 bit) I see a confusing error message as reported on config.log .. OCTAVE : octave .. All Numerical types : "int,double,float,float complex,double complex" .. configure:25969: You seem to not have GNU Octave or have disabled 'int' type. Part of the test suite will not be generated. If you want more testing capabilities, you should enable the 'int' type as well. configure:25988: Successfully configured librsb version "1.2.0-rc1". Attached config.log's Regards Marco |
From: Michele M. <mic...@us...> - 2015-06-22 09:08:33
|
On 20150622@10:26, Marco Atzeri wrote: > Hi Michele > librsb-1.2.0-rc1 on cygwin (32 bit and 64 bit) > I see a confusing error message as reported on config.log > > .. > OCTAVE : octave > .. > All Numerical types : "int,double,float,float > complex,double complex" > .. > configure:25969: You seem to not have GNU Octave or have disabled > 'int' type. Part of the test suite will > not be generated. If you want more testing capabilities, you should > enable the 'int' type as well. > configure:25988: Successfully configured librsb version "1.2.0-rc1". > > Attached config.log's > > Regards > Marco > Hi Marco, If you are referring to the message from "configure:25969:", that is not an error (and neither a warning) but just a notice. Did the library build went well afterwards ? Michele |
From: Marco A. <mar...@gm...> - 2015-06-22 09:53:54
|
On 6/22/2015 10:42 AM, Michele Martone wrote: > On 20150622@10:26, Marco Atzeri wrote: >> Hi Michele >> librsb-1.2.0-rc1 on cygwin (32 bit and 64 bit) >> configure:25969: You seem to not have GNU Octave or have disabled >> 'int' type. Part of the test suite will >> not be generated. If you want more testing capabilities, you should >> enable the 'int' type as well. >> configure:25988: Successfully configured librsb version "1.2.0-rc1". >> >> Attached config.log's >> >> Regards >> Marco >> > > Hi Marco, > > If you are referring to the message from "configure:25969:", that is not > an error (and neither a warning) but just a notice. > Did the library build went well afterwards ? surely is misleading for me. It looks a config error, or at least a warning but octave and int are available. > Michele About testing, for what I see: - "make check" do nothing excepts this warning: make[2]: Entering directory '/cygdrive/e/cyg_pub/devel/librsb/librsb-1.2.0-rc1_build32' if test -f ch2icfb ; then /pub/devel/librsb/librsb-1.2.0-rc1/scripts/rsb_h_to_rsb_fi.sh /pub/devel/librsb/librsb-1.2.0-rc1 > rsb.F90 ; else echo "Warning: Your system did not build ch2icfb for some reason --- skipping rebuild of "rsb.F90 ;true ; fi - "make test" fails, I suspect as source and build are on different trees (in addition, printf usage requires #include <stdio.h> ) $ echo $PWD /pub/devel/librsb/librsb-1.2.0-rc1_build32 $ make test gcc -g -O2 -fopenmp -std=c99 /pub/devel/librsb/librsb-1.2.0-rc1/ot.c -o ot /pub/devel/librsb/librsb-1.2.0-rc1/ot.c: In function ‘main’: /pub/devel/librsb/librsb-1.2.0-rc1/ot.c:1:1: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration] int main(){printf("sorry, you did not install octave, so the octave based tester is disabled\n");return 0;} ^ /pub/devel/librsb/librsb-1.2.0-rc1/ot.c:1:12: warning: incompatible implicit declaration of built-in function ‘printf’ int main(){printf("sorry, you did not install octave, so the octave based tester is disabled\n");return 0;} ^ gcc -g -O2 -fopenmp -std=c99 /pub/devel/librsb/librsb-1.2.0-rc1/sbtc.c -o sbtc /pub/devel/librsb/librsb-1.2.0-rc1/sbtc.c:39:25: fatal error: blas_sparse.h: No such file or directory #include <blas_sparse.h> ^ compilation terminated. <builtin>: recipe for target 'sbtc' failed make: *** [sbtc] Error 1 |
From: Marco A. <mar...@gm...> - 2015-06-22 14:36:28
Attachments:
librsb-1.2.0-rc1_cygwin.patch
|
On 6/22/2015 3:38 PM, Michele Martone wrote: > On 20150622@15:26, Marco Atzeri wrote: >> On 6/22/2015 1:57 PM, Michele Martone wrote: >>> On 20150622@13:34, Marco Atzeri wrote: >> >>> >>> If you have a suggestion about how to replicate the problem or how to >>> fix it, I'll use it... >> >> I will look on it. > Thanks. > the build problem is due to the lack of usage of $(EXEEXT) in the Makefile.am for the binary programs. See patch as example, I can still miss some places in it. I was forced to disable the "scripts/readme-tests.sh" as the rule was failing and creating a crap script. We need to find a better way for it. Unfortunately the real test fails immediately : ----------------------------------------------------- [*] beginning quick test... make mtests -C . make[2]: Entering directory '/cygdrive/e/cyg_pub/devel/librsb/build32/librsb-1.2.0-rc1' srcdir=. /bin/sh ./scripts/readme-tests.sh # beginning run at 1434983205 # /cygdrive/e/cyg_pub/devel/librsb/build32/librsb-1.2.0-rc1/./.libs/rsbench -oa -Ob -f ./A.mtx -qH -R -n1 -t100 --verbose # compiled with: CC=gcc CFLAGS=-g -O2 -fopenmp -std=c99 # average timer granularity: 1.11e-07 s # will NOT perform ancillary tests. # will flush cache memory: between each operation measurement series, and NOT between each operation. # will keep any zero encountered in the matrix. # user specified a verbosity level of 1 (each --verbose occurrence counts +1) Checking environment RSB_USER_SET_MEM_HIERARCHY_INFO variable. Checking hardcoded RSB_USER_SET_MEM_HIERARCHY_INFO symbol Checking hardcoded RSB_DETECTED_MEM_HIERARCHY_INFO symbol Available memory hierarchy info string: "" ERROR 0xffffe000 : Memory hierarchy info failed to be detected. You can bypass this by setting a meaningful RSB_USER_SET_MEM_HIERARCHY_INFO environment variable. ./scripts/readme-tests.sh: line 2: 8500 Segmentation fault (core dumped) ./rsbench -oa -Ob -f ${srcdir}/A.mtx -qH -R -n1 -t100 --verbose Makefile:3052: recipe for target 'mtests' failed ----------------------------------------------------- Suggestions ? Marco |
From: Michele M. <mic...@us...> - 2015-06-22 14:51:40
|
On 20150622@16:36, Marco Atzeri wrote: > On 6/22/2015 3:38 PM, Michele Martone wrote: > >On 20150622@15:26, Marco Atzeri wrote: > >>On 6/22/2015 1:57 PM, Michele Martone wrote: > >>>On 20150622@13:34, Marco Atzeri wrote: > >> > >>> > >>>If you have a suggestion about how to replicate the problem or how to > >>>fix it, I'll use it... > >> > >>I will look on it. > >Thanks. > > > > the build problem is due to the lack of usage of $(EXEEXT) in the > Makefile.am for the binary programs. > > See patch as example, I can still miss some places in it. Ok: --- I'll apply $(EXEEXT) where needed --- thanks ! > I was forced to disable the "scripts/readme-tests.sh" > as the rule was failing and creating a crap script. > We need to find a better way for it. If the generated script contains garbage is probably because one of the two: - the rule contains a non-standard expression - the tools involved (echo,grep,sed) behave out of standard > Unfortunately the real test fails immediately : > ... > ERROR 0xffffe000 : Memory hierarchy info failed to be detected. You > can bypass this by setting a meaningful > RSB_USER_SET_MEM_HIERARCHY_INFO environment variable. > ./scripts/readme-tests.sh: line 2: 8500 Segmentation fault > (core dumped) ./rsbench -oa -Ob -f ${srcdir}/A.mtx -qH -R -n1 -t100 > --verbose > Makefile:3052: recipe for target 'mtests' failed > > ----------------------------------------------------- > > Suggestions ? > Marco The following: export RSB_USER_SET_MEM_HIERARCHY_INFO="L2:4/64/512K,L1:8/64/32K" shall trick "ERROR 0xffffe000" not to occur. If this does not work I'll have to look more carefully into it. Please let me know. |
From: Michele M. <mic...@us...> - 2015-06-22 10:05:35
|
On 20150622@11:53, Marco Atzeri wrote: > On 6/22/2015 10:42 AM, Michele Martone wrote: > >On 20150622@10:26, Marco Atzeri wrote: > >>Hi Michele > >>librsb-1.2.0-rc1 on cygwin (32 bit and 64 bit) > >>configure:25969: You seem to not have GNU Octave or have disabled > >>'int' type. Part of the test suite will > >>not be generated. If you want more testing capabilities, you should > >>enable the 'int' type as well. > >>configure:25988: Successfully configured librsb version "1.2.0-rc1". > >> > >>Attached config.log's > >> > >>Regards > >>Marco > >> > > > >Hi Marco, > > > >If you are referring to the message from "configure:25969:", that is not > >an error (and neither a warning) but just a notice. > >Did the library build went well afterwards ? > > surely is misleading for me. > It looks a config error, or at least a warning In the configure scripts, - that message has been generated by AC_MSG_NOTICE; - warnings are generated by AC_MSG_WARN; - errors are generated by AC_MSG_ERROR. If you have less scary messages or wording to suggest, you're very welcome :-) ! > but octave and int are available. Even if octave has been detected, the 'int' type has been not enabled (by you): grep your config.log files for "Numerical types": $ bzgrep Numerical.types ~/config.log_i686.bz2 All Numerical types : "int,double,float,float complex,double complex" Numerical types : "double,float,float complex,double complex" vs "double,float,float complex,double complex" $ bzgrep Numerical.types config.log_x86_64.bz2 All Numerical types : "int,double,float,float complex,double complex" Numerical types : "double,float,float complex,double complex" vs "double,float,float complex,double complex" You can enable 'int' at configure time by e.g. --enable-matrix-types="int, double, double complex" > >Michele > > About testing, for what I see: > - "make check" do nothing excepts this warning: > > make[2]: Entering directory > '/cygdrive/e/cyg_pub/devel/librsb/librsb-1.2.0-rc1_build32' > if test -f ch2icfb ; then > /pub/devel/librsb/librsb-1.2.0-rc1/scripts/rsb_h_to_rsb_fi.sh > /pub/devel/librsb/librsb-1.2.0-rc1 > rsb.F90 ; else echo "Warning: > Your system did not build ch2icfb for some reason --- skipping > rebuild of "rsb.F90 ;true ; fi There is no rule written by me for "make check" in that Makefile. I'll reply to the rest of your email separately. > ... |
From: Marco A. <mar...@gm...> - 2015-06-22 10:21:49
|
On 6/22/2015 12:06 PM, Michele Martone wrote: > On 20150622@11:53, Marco Atzeri wrote: >> On 6/22/2015 10:42 AM, Michele Martone wrote: >>> On 20150622@10:26, Marco Atzeri wrote: >> >> surely is misleading for me. >> It looks a config error, or at least a warning > In the configure scripts, > - that message has been generated by AC_MSG_NOTICE; > - warnings are generated by AC_MSG_WARN; > - errors are generated by AC_MSG_ERROR. > If you have less scary messages or wording to suggest, you're > very welcome :-) ! > >> but octave and int are available. > Even if octave has been detected, the 'int' type has been not > enabled (by you): grep your config.log files for "Numerical types": > > $ bzgrep Numerical.types ~/config.log_i686.bz2 > All Numerical types : "int,double,float,float complex,double complex" > Numerical types : "double,float,float complex,double complex" vs "double,float,float complex,double complex" > $ bzgrep Numerical.types config.log_x86_64.bz2 > All Numerical types : "int,double,float,float complex,double complex" > Numerical types : "double,float,float complex,double complex" vs "double,float,float complex,double complex" > > You can enable 'int' at configure time by e.g. > --enable-matrix-types="int, double, double complex" your configure help say that the default is "all", so may be you need to clarify the point. > >>> Michele >> >> About testing, for what I see: >> - "make check" do nothing excepts this warning: >> >> make[2]: Entering directory >> '/cygdrive/e/cyg_pub/devel/librsb/librsb-1.2.0-rc1_build32' >> if test -f ch2icfb ; then >> /pub/devel/librsb/librsb-1.2.0-rc1/scripts/rsb_h_to_rsb_fi.sh >> /pub/devel/librsb/librsb-1.2.0-rc1 > rsb.F90 ; else echo "Warning: >> Your system did not build ch2icfb for some reason --- skipping >> rebuild of "rsb.F90 ;true ; fi > There is no rule written by me for "make check" in that Makefile. > > I'll reply to the rest of your email separately. >> ... "make test" fails also using same tree for build and source.. $ make test |& tee make_test.log gcc -g -O2 -fopenmp -std=c99 ot.c -o ot ot.c: In function ‘main’: ot.c:1:1: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration] int main(){printf("sorry, you did not install octave, so the octave based tester is disabled\n");return 0;} ^ ot.c:1:12: warning: incompatible implicit declaration of built-in function ‘printf’ int main(){printf("sorry, you did not install octave, so the octave based tester is disabled\n");return 0;} ^ gcc -g -O2 -fopenmp -std=c99 sbtc.c -o sbtc sbtc.c:39:25: fatal error: blas_sparse.h: No such file or directory #include <blas_sparse.h> ^ compilation terminated. <builtin>: recipe for target 'sbtc' failed make: *** [sbtc] Error 1 $ find . -name blas_sparse.h ./blas_sparse/blas_sparse.h ./blas_sparse.h |
From: Michele M. <mic...@us...> - 2015-06-22 10:55:11
|
On 20150622@12:21, Marco Atzeri wrote: > .. > ... > your configure help say that the default is "all", so may be you > need to clarify the point. Where did you read that ? The default is the four BLAS types: ./configure --help # gives: --enable-matrix-types Generate kernels for specified types (default:"double,float,float complex,double complex") (you can specify 'all' to get all of them, or 'blas' for Sparse BLAS ones) > >>... > "make test" fails also using same tree for build and source.. > ... > gcc -g -O2 -fopenmp -std=c99 sbtc.c -o sbtc > sbtc.c:39:25: fatal error: blas_sparse.h: No such file or directory > #include <blas_sparse.h> > ^ > compilation terminated. For some reason "-DHAVE_CONFIG_H -I." is not present in your line compiling sbtc.c. What comes out if you 'grep ^DEFS Makefile' ? |
From: Marco A. <mar...@gm...> - 2015-06-22 11:34:32
|
On 6/22/2015 12:56 PM, Michele Martone wrote: > On 20150622@12:21, Marco Atzeri wrote: >> "make test" fails also using same tree for build and source.. >> ... >> gcc -g -O2 -fopenmp -std=c99 sbtc.c -o sbtc >> sbtc.c:39:25: fatal error: blas_sparse.h: No such file or directory >> #include <blas_sparse.h> >> ^ >> compilation terminated. > For some reason "-DHAVE_CONFIG_H -I." is not present in your line > compiling sbtc.c. What comes out if you 'grep ^DEFS Makefile' ? same in both case $ grep ^DEFS Makefile DEFS = -DHAVE_CONFIG_H |
From: Michele M. <mic...@us...> - 2015-06-22 11:56:14
|
On 20150622@13:34, Marco Atzeri wrote: > On 6/22/2015 12:56 PM, Michele Martone wrote: > >On 20150622@12:21, Marco Atzeri wrote: > >> "make test" fails also using same tree for build and source.. > >>... > >>gcc -g -O2 -fopenmp -std=c99 sbtc.c -o sbtc > >>sbtc.c:39:25: fatal error: blas_sparse.h: No such file or directory > >> #include <blas_sparse.h> > >> ^ > >>compilation terminated. > >For some reason "-DHAVE_CONFIG_H -I." is not present in your line > >compiling sbtc.c. What comes out if you 'grep ^DEFS Makefile' ? > > same in both case > > $ grep ^DEFS Makefile > DEFS = -DHAVE_CONFIG_H This seems correct. However, it is strange that we don't have this flag in the gcc -O2.. line above. I've just made an out-of-tree build on Linux and it does not have such problems. I don't have cygwin so I don't know how to replicate the problem you encounter. Now, sbtc is not part of the library but a test program which according to the config.log files you've sent me shall be even empty. Indeed, you shall have librsb.a built I suppose. If you have a suggestion about how to replicate the problem or how to fix it, I'll use it... |
From: Marco A. <mar...@gm...> - 2015-06-22 13:26:26
|
On 6/22/2015 1:57 PM, Michele Martone wrote: > On 20150622@13:34, Marco Atzeri wrote: > I've just made an out-of-tree build on Linux and it does not have such > problems. > I don't have cygwin so I don't know how to replicate the problem you > encounter. > Now, sbtc is not part of the library but a test program which according > to the config.log files you've sent me shall be even empty. > Indeed, you shall have librsb.a built I suppose. > > If you have a suggestion about how to replicate the problem or how to > fix it, I'll use it... I will look on it. Question: do you have a repository ? It will make easier to send patch versus latest code. ---------------------------------------- Please note $ head -n 2 Makefile.am ACLOCAL_AMFLAGS=-I m4 SUBDIRS= . examples scripts bench blas_sparse doc Autoconf/Autoreconf will look for a directory named m4, but you have all *.m4 files in the tree root. Also copying all the files in a m4 directory, I get: $ autoreconf -ifv autoreconf-2.69: Entering directory `.' autoreconf-2.69: configure.ac: not using Gettext autoreconf-2.69: running: aclocal --force -I m4 svn: E155007: '/cygdrive/e/cyg_pub/devel/librsb/build32/librsb-1.2.0-rc1' is not a working copy basename: missing operand Try 'basename --help' for more information. ------------------------------------------- Regards Marco |
From: Michele M. <mic...@us...> - 2015-06-22 13:37:18
|
On 20150622@15:26, Marco Atzeri wrote: > On 6/22/2015 1:57 PM, Michele Martone wrote: > >On 20150622@13:34, Marco Atzeri wrote: > > >I've just made an out-of-tree build on Linux and it does not have such > >problems. > >I don't have cygwin so I don't know how to replicate the problem you > >encounter. > >Now, sbtc is not part of the library but a test program which according > >to the config.log files you've sent me shall be even empty. > >Indeed, you shall have librsb.a built I suppose. > > > >If you have a suggestion about how to replicate the problem or how to > >fix it, I'll use it... > > I will look on it. Thanks. > Question: do you have a repository ? > It will make easier to send patch versus latest code. No public repository. > ---------------------------------------- > Please note > > $ head -n 2 Makefile.am > ACLOCAL_AMFLAGS=-I m4 > SUBDIRS= . examples scripts bench blas_sparse doc > > Autoconf/Autoreconf will look for a directory named m4, > but you have all *.m4 files in the tree root. > > Also copying all the files in a m4 directory, I get: > > $ autoreconf -ifv > autoreconf-2.69: Entering directory `.' > autoreconf-2.69: configure.ac: not using Gettext > autoreconf-2.69: running: aclocal --force -I m4 > svn: E155007: > '/cygdrive/e/cyg_pub/devel/librsb/build32/librsb-1.2.0-rc1' is not a > working copy > basename: missing operand > Try 'basename --help' for more information. It's meant to be this way for libtool. |