fnevgeny / cfac Goto Github PK
View Code? Open in Web Editor NEWcFAC - a forked version of FAC
License: GNU General Public License v3.0
cFAC - a forked version of FAC
License: GNU General Public License v3.0
it is in the v1.6.1 release
After building cfac and running make check I encounter an issue:
make[1]: Entering directory '/home/Naci/cfac-1.7.0/coul'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/Naci/cfac-1.7.0/coul'
make[1]: Entering directory '/home/Naci/cfac-1.7.0/faclib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/Naci/cfac-1.7.0/faclib'
make[1]: Entering directory '/home/Naci/cfac-1.7.0/sfac'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/Naci/cfac-1.7.0/sfac'
make[1]: Entering directory '/home/Naci/cfac-1.7.0/doc'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/Naci/cfac-1.7.0/doc'
make[1]: Entering directory '/home/Naci/cfac-1.7.0/demo'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/Naci/cfac-1.7.0/demo'
make[1]: Entering directory '/home/Naci/cfac-1.7.0/cfacdb'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/Naci/cfac-1.7.0/cfacdb'
make[1]: Entering directory '/home/Naci/cfac-1.7.0/coul'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/Naci/cfac-1.7.0/coul'
make[1]: Entering directory '/home/Naci/cfac-1.7.0/faclib'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/Naci/cfac-1.7.0/faclib'
make[1]: Entering directory '/home/Naci/cfac-1.7.0/sfac'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/Naci/cfac-1.7.0/sfac'
make[1]: Entering directory '/home/Naci/cfac-1.7.0/doc'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/Naci/cfac-1.7.0/doc'
make[1]: Entering directory '/home/Naci/cfac-1.7.0/demo'
make[2]: Entering directory '/home/Naci/cfac-1.7.0/demo/structure'
../../sfac/sfac.exe test.sf
Tests passed!
make[2]: Leaving directory '/home/Naci/cfac-1.7.0/demo/structure'
make[2]: Entering directory '/home/Naci/cfac-1.7.0/demo/pirr'
../../sfac/sfac.exe test.sf
Tests passed!
make[2]: Leaving directory '/home/Naci/cfac-1.7.0/demo/pirr'
make[2]: Entering directory '/home/Naci/cfac-1.7.0/demo/aidr'
../../sfac/sfac.exe test.sf
Tests passed!
make[2]: Leaving directory '/home/Naci/cfac-1.7.0/demo/aidr'
make[2]: Entering directory '/home/Naci/cfac-1.7.0/demo/ionization'
../../sfac/sfac.exe test.sf
Tests passed!
make[2]: Leaving directory '/home/Naci/cfac-1.7.0/demo/ionization'
make[2]: Entering directory '/home/Naci/cfac-1.7.0/demo/excitation'
../../sfac/sfac.exe test.sf
Why is CMULTIP deactivated by default? How do I activate it? I need to run CETable, which seems to need CMULTIP.
I do not find the module mentioned in any Makefile or Make.conf etc.
Thanks,
Naci
I am trying to build cFAC and am failing at the configure stage. After running ./configure, the output is:
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking how to get verbose linking output from gfortran... -v
checking for Fortran 77 libraries of gfortran... -L/usr/lib/gcc/x86_64-redhat-linux/8 -L/usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/8/../../.. -lgfortran -lm -lquadmath
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
checking for ar... ar
checking for an ANSI C-conforming const... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for size_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for working memcmp... yes
checking for ANSI C header files... (cached) yes
checking whether isfinite is declared... yes
checking for cblas_dgemm in -lgslcblas... no
checking for gsl_odeiv2_driver_apply in -lgsl... no
configure: error: could not find required version of GSL
I have encountered the same error with multiple versions of GSL installed (1.16, 1.8, 2.1 and 2.7.1).
I have tried building cFAC on a Red Hat HPC system (Red Hat Enterprise Linux 8.5), as well as on macOS v12.5.1. I've had the same issue on both systems. On the linux system, GSL is pre-built and loaded to my environment
Apologies if this is an obvious fix, but I'm not sure what's missing from my GSL install.
I found there are some missing steps in installation
section in README.
I will send a PR.
Hi Evgeny,
I am working on a Python script that somehow needs an interface to cfacdb, and I think it might be useful if there's a Python interface built in cfac.
Do you agree if I work on the Python interface of cfacdb and integrate it here if you're willing?
If so, do you have any preference on the directory structure (e.g. should I make a "python" directory on root or somewhere you think might fit) and what should be included in the directory (e.g. tests, module installer using pip, etc)?
Thanks,
Muhammad
I am building CFAC 1.5.0 on OS X 10.10.5. Here are versions for key software:
>gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
>gfortran-mp-4.9 --version
GNU Fortran (MacPorts gcc49 4.9.3_0) 4.9.3
>port list gsl
gsl @2.1 math/gsl
Here is the error excerpted from the tail of the build log:
gcc -o sfac sfac.o stoken.o ../faclib/cfac_faclib.a ../coul/cfac_coul.a -L/opt/local/lib/ -lsqlite3 -lgsl -lgslcblas -L/opt/local/lib/gcc49/gcc/x86_64-apple-darwin14/4.9.3 -L/opt/local/lib/gcc49/gcc/x86_64-apple-darwin14/4.9.3/../../.. -lgfortran -lquadmath -lm
Undefined symbols for architecture x86_64:
"_gsl_sf_legendre_Plm_array", referenced from:
_SaveAsymmetry in cfac_faclib.a(recombination.o)
ld: symbol(s) not found for architecture x86_64
Here is a search for the symbol in the GSL library:
>nm /opt/local/lib/libgsl.dylib | grep _gsl_sf_legendre_Plm_array
>nm /opt/local/lib/libgsl.dylib | grep legendre
00000000000fa904 T _gsl_sf_legendre_H3d
00000000000fa87c T _gsl_sf_legendre_H3d_0
00000000000f93fd T _gsl_sf_legendre_H3d_0_e
00000000000fa8c0 T _gsl_sf_legendre_H3d_1
00000000000f95b6 T _gsl_sf_legendre_H3d_1_e
00000000000fa65d T _gsl_sf_legendre_H3d_array
00000000000f9959 T _gsl_sf_legendre_H3d_e
0000000000103e4b T _gsl_sf_legendre_P1
0000000000102fce T _gsl_sf_legendre_P1_e
0000000000103e51 T _gsl_sf_legendre_P2
0000000000102fe2 T _gsl_sf_legendre_P2_e
0000000000103e77 T _gsl_sf_legendre_P3
000000000010301e T _gsl_sf_legendre_P3_e
0000000000103ea8 T _gsl_sf_legendre_Pl
00000000001033f2 T _gsl_sf_legendre_Pl_array
00000000001034ce T _gsl_sf_legendre_Pl_deriv_array
000000000010308f T _gsl_sf_legendre_Pl_e
0000000000103eec T _gsl_sf_legendre_Plm
00000000001036f7 T _gsl_sf_legendre_Plm_e
00000000000fec57 T _gsl_sf_legendre_Q0
00000000000fe045 T _gsl_sf_legendre_Q0_e
00000000000fec9b T _gsl_sf_legendre_Q1
00000000000fe263 T _gsl_sf_legendre_Q1_e
00000000000fecdf T _gsl_sf_legendre_Ql
00000000000fe4b5 T _gsl_sf_legendre_Ql_e
00000000000fa93e T _gsl_sf_legendre_array
00000000000fa950 T _gsl_sf_legendre_array_e
00000000000fb067 T _gsl_sf_legendre_array_index
00000000000fe02b T _gsl_sf_legendre_array_n
00000000000fd2d3 T _gsl_sf_legendre_deriv2_alt_array
00000000000fd2e5 T _gsl_sf_legendre_deriv2_alt_array_e
00000000000fc52a T _gsl_sf_legendre_deriv2_array
00000000000fc53c T _gsl_sf_legendre_deriv2_array_e
00000000000fbae7 T _gsl_sf_legendre_deriv_alt_array
00000000000fbaf9 T _gsl_sf_legendre_deriv_alt_array_e
00000000000fb07b T _gsl_sf_legendre_deriv_array
00000000000fb08d T _gsl_sf_legendre_deriv_array_e
00000000000fb052 T _gsl_sf_legendre_nlm
0000000000103f30 T _gsl_sf_legendre_sphPlm
0000000000103a10 T _gsl_sf_legendre_sphPlm_e
00000000000fa49f t _legendre_H3d_lnnorm
From the GSL manual:
Function: int gsl_sf_legendre_Plm_array (int lmax, int m, double x, double result_array[])
Function: int gsl_sf_legendre_Plm_deriv_array (int lmax, int m, double x, double result_array[], double result_deriv_array[])
These functions are now deprecated and will be removed in a future release; see gsl_sf_legendre_array and gsl_sf_legendre_deriv_array.
I would interpret that to mean that gsl_sf_legendre_Plm_array should still be supported in this release, but apparently the documentation doesn't match the reality on the ground.
When I run "make", it complains about CIRadialQkBED/isfinite and exits with error.
Is this my oversight with configure or a code problem?
I appreciate your help.
Thank you for your time.
compare -Wno-unused-parameter ionization.c
ionization.c: In function 'CIRadialQkBED':
ionization.c:558:3: warning: implicit declaration of function 'isfinite' [-Wimplicit-function-declaration]
if (!isfinite(*bethe)) {
^
<...>
../faclib/cfac_faclib.a(ionization.o): In function CIRadialQkBED': ionization.c:(.text+0x120a): undefined reference to
isfinite'
collect2: error: ld returned 1 exit status
make[1]: *** [sfac] Error 1
Hi.
I had a trouble in installing cfac to ubuntu 16.04.
The problem was in cfacdb/Makefile
cfacdbu.1: cfacdbu$(EXE)
help2man -s 1 -N cfacdbu$(EXE) -n "CFACDB utility" -S "cFAC" -o $@
In my environment, it should be
cfacdbu.1: cfacdbu$(EXE)
help2man -s 1 -N ./cfacdbu$(EXE) -n "CFACDB utility" -S "cFAC" -o $@
I can send a PR if necessary (and if it works in other envirionment).
I took the cFAC-1.6.2 release tar file (per recommendation) and everything checked except during make check I got:
This version of cFAC was compiled without the CMULTIP module.
I am just testing this out, is it going to be ok?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.