[Ifeffit] FEFF question
newville at cars.uchicago.edu
Tue Jun 5 16:31:30 CDT 2018
On Mon, Jun 4, 2018 at 4:13 PM Loges, Anselm G <anselm.loges at helsinki.fi>
> Hi everyone,
> not exactly an ifeffit question, but maybe someone knows. Since I am for
> ome reason unable to install ifeffit or demeter on certain Linux computers
> (others with the same distribution and same settings work fine), I have
> been trying to install FEFF8-lite. However, on the downloadpage:
> the link for the Linux binary is dead and when I try to compile from
> source using gfortran it does not work and throws "Error: Two main
> PROGRAMs at (1) and (2)". A quick look in the code reveals that none of
> the subroutines etc. are ended explicitly by name but only by an anonymous
> "end", making debugging this problem in the source a colossal nightmare in
> a 52951 line source file. This also likely explains where the error comes
> from in the first place, since lack of explicitness is the mother of
> portability problems.
> I'm wondering: has anyone had success installing FEFF8-lite or compiling
> from source? If so, with what compiler? Or is there a working Linux binary
> wandering about the interwebs, which I have not found?
Sorry for the trouble. For sure Feff85exafs could use more attention.
As you can no doubt tell, we're resource- and bandwidth-limited. We
could definitely use more help.
There are compiled versions of the feff85 modules included with Larch, and
an interface to run feff8 from within Larch.
On modern-ish linuxes, feff85exafs should compile easily with the gcc +
gfortran tools. It just worked for me out-of-the-box on a freshly
installed Linux instance to do
git clone https://github.com/xraypy/feff85exafs.git
That was using gcc 8..1.1 and the corresponding gfortran (and from an
account for which Larch had not been installed). Feff85exafs does use some
Fortran90 extensions, especially for the json library, and may not work
with gcc 4.8 or earlier (I cannot recall the minimum version needed of the
top of my head, but I think 4.9 might be needed). Also, Feff85exafs does
*not* use a configure-like script to create the Makefile, which means that
the Makefile may need some tweaking for some systems. That does assume
that anyone building Feff85exafs from source will have some idea how to
deal with Makefiles, and that most people will be using pre-compiled
binaries. Again, we can always use more help.
> I have also tried using Matt Newvilles package on Github:
> but no luck there either.
> This one complains about a python package named "larch" being missing,
> making me think it wants a preexisting a Larch installation.
Can you please give a more complete error message? Feff85exafs uses larch
for testing, but it should build and run without Larch. It does for me,
though maybe this independence may not be as well-tested as it should be.
I do see that the Python main program "feff8l" that drives the feff85
modules assumes Python2 and does not work with Python3. That's now an
Issue, and should get fixed soon.
> Installing FEFF8L should not require Larch, only the other way round
> (possibly), right?
I don't think Feff8l does not require Larch. Then again, I'm not sure
that independence is necessary. For sure, the testing is way easier with a
scripting language, and using Larch allows us to use the results as they
would be used in production.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Ifeffit