[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] GSL not detected
From: |
Francesco Pietra |
Subject: |
Re: [Help-gsl] GSL not detected |
Date: |
Sat, 24 Oct 2009 07:08:23 +0200 |
The thread can be found at <address@hidden>. To speed up, I
report here below, between ========, the new thread with the last
attempts of mine. It should be detailed enough to answer your
requests.
The OS is Debian Linux amd64 lenny and, until the problems are solved,
I am "experimenting" on a small machine, with two dual Opterons,
shared memory 8GB.
thanks
francesco
=======================================
In my .bashrc:
#For openmpi-1.2.6 Intel compiler
if [ "$LD_LIBRARY_PATH" ] ; then
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
else
export LD_LIBRARY_PATH="/usr/local/lib"
fi
#For openmpi-1.3.3 gnu (gfortran) compiled
if [ "$LD_LIBRARY_PATH" ] ; then
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/lib"
else
export LD_LIBRARY_PATH="/opt/lib"
fi
if [ "$PATH" ] ; then
export PATH="$PATH:/opt/bin"
else
export PATH="/opt/bin"
fi
(while "export PATH=.... does not work here)
now
address@hidden:~$ $PATH
bash:
/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/local/chimera/bin:/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/local/chimera/bin:/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/local/chimera/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/home/francesco/hole2/exe:/opt/bin:/usr/local/amber10/exe:/usr/local/dock6/bin:/home/francesco/hole2/exe:/opt/bin:/usr/local/amber10/exe:/usr/local/dock6/bin:/home/francesco/hole2/exe:/opt/bin:/usr/local/amber10/exe:/usr/local/dock6/bin:
No such file or directory
address@hidden:~$
To get info, I have to command
$ /opt/bin/ompi_info
which reports correctly.
$ ompi_info
reports about previous installation of 1.2.6 version (intel).
====================================================
address@hidden:~/octopus/octopus-3.1.0$ export FC=/opt/bin/mpif90
address@hidden:~/octopus/octopus-3.1.0$ export CC=/opt/bin/mpicc
address@hidden:~/octopus/octopus-3.1.0$ export FCFLAGS="-O3
-funroll-loops -ffast-math -ffree-line-length-none
-fsecond-underscore"
address@hidden:~/octopus/octopus-3.1.0$ ./configure --enable-mpi
--with-lapack='-L/opt/acml4.2.0/gfortran64_mp_int64/lib -llapack'
--with-blas='-L/opt/acml4.2.0/gfortran64_mp_int64/lib -lblas'
screen output:
**********************************************
*** octopus_mpi will be generated
**********************************************
checking for sgemm in -L/opt/acml4.2.0/gfortran64_mp_int64/lib
-lblas... yes (-L/opt/acml4.2.0/gfortran64_mp_int64/lib -lblas)
checking for cheev in -L/opt/acml4.2.0/gfortran64_mp_int64/lib
-llapack... yes (-L/opt/acml4.2.0/gfortran64_mp_int64/lib -llapack)
checking for gsl-config... /usr/bin/gsl-config
checking for GSL - version >= 1.9... no
*** Could not run GSL test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GSL was incorrectly installed
*** or that you have moved GSL since it was installed. In the latter case, you
*** may want to edit the gsl-config script: /usr/bin/gsl-config
configure: error: could not find required gsl library
address@hidden:~/octopus/octopus-3.1.0$
Errors in config.log (config.log.no.gls.stated for my reference) are of type:
configure:5371: /opt/bin/mpicc -E conftest.c
conftest.c:13:28: error: ac_nonexistent.h: No such file or directory
configure:6626: /opt/bin/mpicc -c -g -O2 conftest.c >&5
conftest.c: In function 'main':
conftest.c:77: error: expected expression before ')' token
configure:8504: /opt/bin/mpicc -c -g -O2 conftest.c >&5
conftest.c: In function 'main':
conftest.c:84: error: too many arguments to function 'getpgrp'
/* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
configure:8992: checking for strerror
configure:9048: /opt/bin/mpicc -o conftest -g -O2 conftest.c >&5
configure:9055: $? = 0
configure:9077: result: yes
#define HAVE_STRERROR 1
configure:8992: checking for perror
configure:9048: /opt/bin/mpicc -o conftest -g -O2 conftest.c >&5
configure:9055: $? = 0
configure:9077: result: yes
#define HAVE_PERROR 1
| #ifdef FC_DUMMY_MAIN
| #ifndef FC_DUMMY_MAIN_EQ_F77
| # ifdef __cplusplus
| extern "C"
| # endif
| int FC_DUMMY_MAIN() { return 1; }
| #endif
| #endif
| int
| main ()
| {
| return 0;
| ;
| return 0;
| }
configure:13829: error: could not find required gsl library
ac_cv_func_perror=yes
ac_cv_func_strerror=yes
===========
Assuming that these are not fatal errors, "$ make" returned a variety
of undefined references:
atomic_oct.f90:(.text+0x5919): undefined reference to `xc_f90_gga_init__'
atomic_oct.f90:(.text+0x5942): undefined reference to `xc_f90_gga_init__'
../../src/species/libspecies.a(ps_hgh.o): In function
`__ps_hgh_m_MOD_vlocalr_scalar':
.................
root_solver_oct.f90:(.text+0xdc9): undefined reference to `oct_parse_int__'
root_solver_oct.f90:(.text+0xdf6): undefined reference to `oct_parse_int__'
../../src/math/libmath.a(solvers.o): In function
`__solvers_m_MOD_zqmr_sym_gen_dotp':
solvers_oct.f90:(.text+0x6789): undefined reference to `oct_progress_bar__'
solvers_oct.f90:(.text+0x6bee): undefined reference to `oct_progress_bar__'
../../src/math/libmath.a(solvers.o): In function
`__solvers_m_MOD_zqmr_gen_dotp':
...........................
splines_oct.f90:(.text+0x12af): undefined reference to `oct_spline_y__'
splines_oct.f90:(.text+0x12de): undefined reference to `oct_spline_eval__'
........................................
../../src/math/libmath.a(splines.o): In function
`__splines_m_MOD_spline_eval8_array':
............................
fft_oct.f90:(.text+0x7ea): undefined reference to `oct_fft_optimize__'
fft_oct.f90:(.text+0x856): undefined reference to `oct_fft_optimize__'
..........................
tdfunction_oct.f90:(.text+0x1318): undefined reference to
`oct_parse_block_int__'
tdfunction_oct.f90:(.text+0x1364): undefined reference to
`oct_parse_block_end__'
..............................
`__ode_solver_m_MOD_zode_solver_init':
ode_solver_oct.f90:(.text+0x3360): undefined reference to `oct_parse_int__'
................................
loct_oct.f90:(.text+0x9dad): undefined reference to `oct_rm__'
...............................
string_oct.f90:(.text+0x1360): undefined reference to `break_c_string__'
string_oct.f90:(.text+0x14b8): undefined reference to `break_c_string__'
../../src/basic/libbasic.a(varinfo.o): In function
`__varinfo_m_MOD_varinfo_print':
varinfo_oct.f90:(.text+0x2d): undefined reference to `varinfo_getvar__'
varinfo_oct.f90:(.text+0x82): undefined reference to `varinfo_getinfo__'
4): undefined reference to `varinfo_getopt__'
../../src/basic/libbasic.a(varinfo.o): In function
global_oct.f90:(.text+0x1d): undefined reference to `oct_gettimeofday__'
global_oct.f90:(.text+0x3b): undefined reference to `oct_getenv__'
loct_parser_oct.f90:(.text+0x31): undefined reference to `oct_parse_init__'
loct_parser_oct.f90:(.text+0xca): undefined reference to `oct_parse_input__'
loct_parser_oct.f90:(.text+0x5be): undefined reference to
`oct_parse_block_int__'
../../src/basic/libbasic.a(loct_parser.o): In function
`__loct_parser_m_MOD_oct_parse_putsym_double4':
`__loct_parser_m_MOD_oct_parse_complex4':
loct_parser_oct.f90:(.text+0x66b): undefined reference to `oct_parse_complex__'
../../src/basic/libbasic.a(loct_parser.o): In function
`__loct_parser_m_MOD_oct_parse_block_double4':
`__datasets_m_MOD_datasets_init':
datasets_oct.f90:(.text+0x95): undefined reference to `oct_parse_block_cols__'
datasets_oct.f90:(.text+0x260): undefined reference to `oct_parse_block_n__'
...........................
messages_oct.f90:(.text+0x4fc): undefined reference to `oct_mkdir__'
../../src/basic/libbasic.a(messages.o): In function `push_sub_write.1217':
messages_oct.f90:(.text+0x4b12): undefined reference to `oct_clock__'
............................
../../src/basic/libbasic.a(io.o): In function `__io_m_MOD_io_init':
io_oct.f90:(.text+0x1aa): undefined reference to `oct_parse_string__'
io_oct.f90:(.text+0x236): undefined reference to `oct_parse_string__'
units_oct.f90:(.text+0x6ef): undefined reference to `oct_parse_isdef__'
units_oct.f90:(.text+0x72b): undefined reference to `oct_parse_int__'
........................
profiling_oct.f90:(.text+0x1417): undefined reference to `oct_parse_int__'
.................
multicomm_oct.f90:(.text+0x3c28): undefined reference to `oct_parse_block_int__'
../../src/basic/libbasic.a(multicomm.o):multicomm_oct.f90:(.text+0x3c5d):
more undefined references to `oct_parse_block_int__' follow
/usr/lib/libmpi.so: undefined reference to `orte_data_value_t_class'
/usr/lib/libmpi.so: undefined reference to `opal_progress_event_increment'
/usr/lib/libmpi_f77.so: undefined reference to `mpi_conversion_fn_null__'
/usr/lib/libmpi.so: undefined reference to `opal_progress_events'
/usr/lib/libmpi.so: undefined reference to `orte_hash_table_set_proc'
/usr/lib/libmpi_f77.so: undefined reference to `mpi_conversion_fn_null'
/usr/lib/libmpi.so: undefined reference to `orte_gpr'
/usr/lib/libmpi.so: undefined reference to `orte_init_stage2'
/usr/lib/libmpi.so: undefined reference to `orte_schema'
/usr/lib/libmpi.so: undefined reference to `orte_gpr_trigger_t_class'
/usr/lib/libmpi_f77.so: undefined reference to `MPI_CONVERSION_FN_NULL'
/usr/lib/libmpi.so: undefined reference to `orte_ns'
/usr/lib/libmpi_f77.so: undefined reference to `ompi_registered_datareps'
/usr/lib/libmpi_f77.so: undefined reference to `mpi_conversion_fn_null_'
/usr/lib/libmpi.so: undefined reference to `opal_progress_mpi_init'
/usr/lib/libmpi.so: undefined reference to `orte_gpr_base_selected_component'
/usr/lib/libmpi.so: undefined reference to `orte_smr'
/usr/lib/libmpi.so: undefined reference to `opal_progress_mpi_disable'
/usr/lib/libmpi.so: undefined reference to `orte_app_context_map_t_class'
/usr/lib/libmpi.so: undefined reference to `orte_ns_name_wildcard'
/usr/lib/libmpi.so: undefined reference to `orte_system_info'
/usr/lib/libmpi.so: undefined reference to `orte_buffer_t_class'
/usr/lib/libmpi.so: undefined reference to `orte_rmgr'
/usr/lib/libmpi.so: undefined reference to `opal_progress_event_decrement'
/usr/lib/libmpi.so: undefined reference to `orte_hash_table_get_proc'
/usr/lib/libmpi.so: undefined reference to `orte_init_stage1'
/usr/lib/libmpi.so: undefined reference to `orte_dss'
/usr/lib/libmpi.so: undefined reference to `orte_gpr_subscription_t_class'
/usr/lib/libmpi.so: undefined reference to `opal_progress_mpi_enable'
make[3]: *** [octopus_mpi] Error 1
make[3]: Leaving directory `/home/francesco/octopus/octopus-3.1.0/src/main'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/francesco/octopus/octopus-3.1.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/francesco/octopus/octopus-3.1.0'
make: *** [all] Error 2
address@hidden:~/octopus/octopus-3.1.0$
========================================================================================
ON THE OTHER HAND, with
0$ ./configure --enable-mpi
--with-lapack='-L/opt/acml4.2.0/gfortran64_mp_int64/lib -llapack'
--with-blas='-L/opt/acml4.2.0/gfortran64_mp_int64/lib -lblas'
--with-gsl-prefix=/usr
the screen output is identical. The config.log
(config,log.with-gsl-prefix=usr for my reference), as far as gsl is
concerned;
configure:13552: checking for gsl-config
configure:13583: result: /usr/bin/gsl-config
configure:13592: checking for GSL - version >= 1.9
configure:13702: /opt/bin/mpicc -o conftest -g -O2 -I/usr/include
conftest.c -lnuma -L/usr/lib -lgsl -lgslcblas -lm >&5
system ("touch conf.gsltest");
===
$ make
returned the same errors as above.
{
| printf("\n*** 'gsl-config --version' returned %d.%d.%d, but
the minimum version\n", 1, 11, 0);
| printf("*** of GSL required is %d.%d.%d. If gsl-config is
correct, then it is\n", major, minor, micro);
| printf("*** best to upgrade to the required version.\n");
| printf("*** If gsl-config was wrong, set the environment
variable GSL_CONFIG\n");
| printf("*** to point to the correct copy of gsl-config, and
remove the file\n");
| printf("*** config.cache before re-running configure\n");
| exit(1);
| }
| }
|
|
configure:13741: result: no
configure:13786: /opt/bin/mpicc -o conftest -g -O2 -I/usr/include
conftest.c -lnuma -L/usr/lib -lgsl -lgslcblas -lm >&5
configure:13829: error: could not find required gsl library
ac_cv_path_GSL_CONFIG=/usr/bin/gsl-config
GREP='/bin/grep'
GSL_CFLAGS='-I/usr/include'
GSL_CONFIG='/usr/bin/gsl-config'
GSL_LIBS='-L/usr/lib -lgsl -lgslcblas -lm'
==================
Using "--with-gsl-exec-prefix=/usr/bin" triggered an incorrect vsearch
in search in "/usr/bin/bin".
Finally, /usr/bin/gsl-config initial part reads:
#! /bin/sh
prefix=/usr
exec_prefix=${prefix}
includedir=${prefix}/include
===============================================
On Fri, Oct 23, 2009 at 10:23 PM, Marco Maggi <address@hidden> wrote:
> "Francesco Pietra" wrote:
>> In the parallel compilation of software OCTOPUS with
>> gfortran on Debian Linux amd64 lenny, gsl is not
>> seen.
>
> Interested people can find tarballs at:
>
> <http://www.tddft.org/programs/octopus/download/3.1.0/>
>
> disclaimer: I am no Octopus user. I cannot try it because I
> do not have installed all the prerequisite packages.
>
>> As the problem was not yet solved through the OCTOPUS
>> mailing list, I am asking help here.
>
> Can you post a link to the thread, so that we can see how
> far did you go?
>
>> configure:13552: checking for gsl-config
>> configure:13570: found /usr/bin/gsl-config
>> configure:13583: result: /usr/bin/gsl-config
>> configure:13592: checking for GSL - version >= 1.9
>> configure:13702: /usr/lib/lam/bin/mpicc -o conftest -g -O2
>> -I/usr/include conftest.c -lnuma -L/usr/lib -lgsl -lgslcblas -lm >&5
>
> This seems to indicate that gsl-config is found and run
> correctly.
>
>> /usr/lib/libmpi.so: undefined reference to `orte_init_stage2'
>> [...]
>> /usr/lib/libmpi.so: undefined reference to `opal_progress_mpi_init'
>
> This seems to indicate that, while linking the test C
> program, the libraries exporting the "orte_*" and "opal_*"
> functions were not included on the command line.
>
> I dunno where they come from... from a quick search they
> seem to be OpenMPI stuff; is "mpicc" supposed to link them
> in automatically?
>
>> configure:13706: $? = 1
>> configure: program exited with status 1
>
> This has nothing to do with the GSL; the displayed error is
> about GSL-not-found because the failed test program purpose
> was to find the GSL; "configure" scripts have no way to
> distinguish the cause of the failure.
>
> My guess is that Octopus' "configure.ac" does something
> wrong around these lines:
>
> AC_LANG_PUSH(C)
> LIBS="${acx_save_libs}"
>
> maybe some more libraries should have been included in LIBS'
> value. I see that a previous execution of "mpif90" included:
>
> -lmpi -lopen-rte -lopen-pal
>
> maybe these are required by "mpicc", too.
>
> HTH
> --
> Marco Maggi
>
>