Re: [Ifeffit] Demeter 0.9.19

On 01/09/2014 08:24 AM, Stefano Luciano Ciurli wrote:
Hello Bruce and thank you for your hard work! instructions to install on OS X 10.6.8?
There is not a Mac package. I do not own a Mac and and so do not have the ability to develop a Mac package on my own. Over the years, no one has ever stepped up to help me develop a Mac package for Demeter. (Or Debian packages, or RedHat packages, for that matter.) Frankly, the work I do on the Windows package takes a lot of time. The only way I can claim that time fits in my job description is because my group uses Windows machines at our beamlines. Help would be welcome to develop packages for Mac and other platforms, but despite repeated requests over many years, no one has ever volunteered and actually seen it through to completion. So, you have four choices here: 1. Find other software 2. Use a virtual machine and run the Windows package 3. Install Demeter from source, including all the dependencies 4. If you do #3, then you might as well step up and help make a package happen on the platform of your choice B -- Bruce Ravel ------------------------------------ bravel@bnl.gov National Institute of Standards and Technology Synchrotron Science Group at NSLS --- Beamlines U7A, X24A, X23A2 Building 535A Upton NY, 11973 Homepage: http://xafs.org/BruceRavel Software: https://github.com/bruceravel

Hi Bruce, I have not been working with this is a while, but considering the new version just released, I wanted to update my situation. I will use the Windows version under Parallels Desktop. I have little time and knowledge on how to develop a Mac package. Regards and thanks, Stefano On Jan 9, 2014, at 3:04 PM, Bruce Ravel wrote:

Hi Bruce,
On Thu, Jan 9, 2014 at 8:04 AM, Bruce Ravel
Well, I have *tried* many times, and put a fair amount of time in getting Demeter to work on a Mac. What I have not done is *succeed*. I can tell you that getting wxPerl to work on Mac OSX is far from simple. Though Demeter is many years old now, and I've tried many times over the years (and I using wxPython on Mac all the time), it is only within the past few months that I have ever gotten wxPerl to actually build on any Mac, and this was a 10.8 machine. Currently (though I haven't looked at it in more than a month), getting the Ifeffit-Perl interface to build properly with Mac OS 10.8 has me stumped, as Apple is now using llvm/clang, making it challenging to work well with gfortran. Migrating Demeter to use Larch should simplify the situation, as it would remove the need for the Ifeffit-Perl interface.
Yes, help building Demeter for Mac OSX would be great. --Matt

Hi all,
On Jan 9, 2014, at 8:26 AM, Matt Newville

Hi Frank,
On Thu, Jan 9, 2014 at 10:47 AM, Schima, Frank
Thanks! I'm very glad you're working on this too. I wasn't able to build wxPerl with macports either, but it did work with citrusperl. I don't have a strong preference, but citrusperl does seem reasonable as a "standalone perl install". I don't know how likely it wold be to package this up into an App, but I suspect it would be possible. FWIW, I think that Demeter does not need wxWidgets verision 3, and that 2.8 or 2.9 would be fine.... From recent experience with wxPython and wxWidgets 3, I'd take the conservative approach and see if Demeter can work with a not-too-old version like 2.9. Does that help you build with macports? And I have been able to build the Ifeffit-Perl bindings on 10.6, but not on 10.8. I assumed this is due to changes in the Fortran compilers. On one 10.8 machine, I know that I tried one of the 3rd party ports of GFortran from http://hpc.sourceforge.net/ It's certainly possible that I'm doing something wrong. I haven't looked at this in detail since November, but will give it another got over the next couple weeks. Of course, my preference would be to move away from the ifeffit library to Larch, and this definitely works on Macs (and I know I can make Apps), but it would be good to get some version of Demeter working. Cheers, -- --Matt Newville <newville at cars.uchicago.edu> 630-252-0431

On Jan 9, 2014, at 8:33 PM, Matt Newville
I don’t know anything about citrusperl - besides the 1 minute of looking at the site since you mentioned it - but I’m working on a Macports based solution to install Demeter and so I will be using perl from Macports only. I feel that is the best way forward and where my knowledge lies.
It used to build for me, I think with wxWidgets 2.9. But for reasons that I’ve now forgotten, Demeter did not completely run correctly when I built it. I believe one of the sub programs did work for me however. But now that wxWidgets has been updated in Macports to version 3, the perl-wx project has apparently not been updated to accommodate this new version yet. wxWidgets has been a major problem in Macports because it was 32-bit code and not 64-bit ready. My understanding is that version 3.0 is 64-bit finally. This is the desired state that will allow it to work better with OS X and Macports in general.
The p5.16-ifeffit port should build just fine on 10.8.
I’m open to this. There is currently no port in Macports for Larch. That would be the first step. Do you think it would be useful? Perhaps we can work on this offline. Feel free to email me directly about that. Cheers! Frank

Hi Frank,
On Fri, Jan 10, 2014 at 12:33 PM, Schima, Frank
I'm not opposed to any solution that might work. I see 2 positive features of citrusperl: 1. it comes with wxPerl (for both wxWidgets 2.8 and 2.9, it seems) 2. it claims to make repackaging easy, so that a single Demeter package, similar to how Bruce distributes Demeter on Windows with strawberryperl, might be possible. I made some progress today. Installing the gfortran 4.8.2 package from http://gcc.gnu.org/wiki/GFortranBinaries allowed me to build PGPLOT (with X Windows) and Ifeffit with PGPLOT on OS 10.8 with very little trouble (I didn't try to build PNG support - PGPLOT is broken for this). Demeter doesn't need PGPLOT, this was a sign of other conflicts. I ran into a snag building the Ifeffit-Perl interface with citrusperl -- I believe it actually compiled the wrapper code, but there is some confusion between the system Perl and citrusperl. I think this is solvable, but might take some effort. --Matt PS: FWIW, I'm using the 64-bit version of citrusperl.

I can concur with others here that making something work on Mac can be a
miserable experience. Sometimes you have to admit defeat and change the
approach.
Anyway, I tried "sudo port install p5.16-ifeffit" and failed:
~/Downloads% sudo port install p5.16-ifeffit
--->
Computing dependencies for p5.16-ifeffit
---> Dependencies to be installed: ifeffit pgplot perl5.16 gdbm
---> Extracting pgplot
Error: org.macports.extract for port pgplot returned: command execution
failed
Error: Failed to install pgplot
Please see the log file for port pgplot for details:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_pgplot/pgplot/main.log
Error: The following dependencies were not installed: ifeffit pgplot
perl5.16 gdbm
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Error: Processing of port p5.16-ifeffit failed
~/Downloads%
(This is upon rerunning the command - the first time, it installed many
more dependencies -- does anyone else suspect "port" of being designed to
fill hard disks as fast as possible?) System is 10.9 generally up-to-date
with most things. pgplot seems to fail during extraction.
I doubt that I'd be able to contribute a lot to this project, but I can
test things.
Also I'm surprised to read so much about gfortran about this thread, but
maybe I'm missing some common knowledge on the project ... I am generally
much happier with Ifort.
Cheers,
Kevin
On Thu, Jan 9, 2014 at 8:47 AM, Schima, Frank

Hi Kevin,
On Thu, Jan 9, 2014 at 11:37 PM, Kevin Jorissen
If you or anyone else wants to use ifort or any other compiler, that would be fine. For many years, I did keep a license for Digital/Compaq/Intel Fortran on Windows in order to make the Windows dlls for distribution of the Ifeffit package. Even on Windows, this stopped being necessary, as the MinGW suite began including gfortran. Unlike Feff, these are open source projects, and we absolutely insist that anyone interested can use, (try to) build, and distribute these programs -- both Bruce and I are begging for such help, actually. Requiring non-free tools simply to build these programs would definitely put a burden on potential developers. I don't see any reason for why that would be necessary, especially on Linux and Mac, for which the system compilers are gcc (or gcc/llvm) which includes a working fortran compiler. Many free software projects (notably for me, scipy, but also the macports that Frank mentioned) use gfortran on Macs. And gfortran works fine for me for many things on 10.6 and 10.8. I can compile the basic ifeffit library and other fortran libraries used in Larch (though I did recently notice some dependency issues between 10.6 and 10.8, as the compiler version changed, and haven't tried 10.9 yet). I have not been able to build PGPLOT (perhaps not crucial for Demeter) or the Ifeffit-Perl bridge successfully on 10.8. I believe this is probably a matter of getting the compiler / linker arguments correct.... If you or anyone else can get these codes to build using ifort, more power to you. If so, can you post your solution? --Matt

Hi Matt,
I agree with everything you say. Thanks for taking the time to explain.
As someone who uses fortran all the time, it makes sense for me to own
Ifort, but since it's only free for academics on Linux, that's not true for
most people.
Actually, for FEFF our philosophy is also that it should compile with any
compiler on any platform. We respond to EVERY compilation issue and never
tell people to use another compiler. However -- most of our users don't
want to compile code at all: they like a nice binary that I've compiled for
them. (I doubt that the ifeffit/demeter users would object to this option
;).) For that, I like to use Ifort - for my purpose it's the better
compiler. But we make sure that FEFF compiles well using gfortran etc.
also.
If I were to successfully built the codes on this mailing list, I'll
definitely share the recipe, as well as any kind of binary other people can
use without having to build/compile/... . It won't be for today,
unfortunately :).
Cheers,
Kevin
On Fri, Jan 10, 2014 at 7:28 AM, Matt Newville

On Jan 9, 2014, at 10:37 PM, Kevin Jorissen

Hi Frank,
thanks for responding ... I merely wanted to do you the favor of giving
feedback on an experimental solution you solicited feedback for.
After wiping and reinstalling macports, your port also installs. I
probably don't want to know why.
Cheers,
Kevin
On Fri, Jan 10, 2014 at 10:43 AM, Schima, Frank

Hi all,
I have also had an impossible time trying to get the demeter package to
work on Mac, but I am happy to do any tests if anybody thinks they have a
solution. I am running 10.6.8. It's been a while since I've spent a lot of
time trying to get it work, but I recall the pgplot port working pretty
well for me. Since I have an older machine I had to upgrade my perl and
that seemed to create some problems for me later, but I might need to spend
more time on it/start over. Anyway, let me know if anyone wants me to test
anything.
Best,
Alison Tebo
On Fri, Jan 10, 2014 at 4:23 PM, Kevin Jorissen
participants (7)
-
Alison Tebo
-
Bruce Ravel
-
Carlo Segre
-
Kevin Jorissen
-
Matt Newville
-
Schima, Frank
-
Stefano Luciano Ciurli