Hi again,

I have rebuilt things more carefully but I still have problems.

- I built pgplot following the instructions at http://www.iac.es/sieinvens/siepedia/pmwiki.php?n=HOWTOs.PGPLOTMacOSX. It works fine and the test produces png files. 

- I have been building ifeffit in various ways. The current version of my ./configure command looks like this:
$ ./configure --with-fortran=gfortran --with-pgplot=/usr/local/lib/pgplot --with-pgplot-link='-L/usr/local/lib/pgplot -lpgplot -lXaPgplot -lcpgplot' CC=gcc-fsf-4.9 CFLAGS=-m64 FFLAGS='-ffixed-line-length-132 -m64' LDFLAGS='-L/usr/X11/lib -lX11 -lXt -lXaw3d -I/usr/local/include -I/sw10.9/include -L/sw10.9/lib -lpng’

gfortran and gcc are installed via fink. I have also tried Apples stock gcc. I have tried with and without the -m64 flags, with just pgplot or by also including XaPgplot and cpgplot.

The build seems to include pgplot, part of the output during the make is:
make[3]: Entering directory '/Users/Anders/ifeffit/ifeffit/src/cmdline'
gcc-fsf-4.9 -DHAVE_CONFIG_H -I. -I. -I../..     -m64 -c iff_shell.c
gcc-fsf-4.9  -m64 -L/usr/X11/lib -lX11 -lXt -lXaw3d -I/usr/local/include -I/sw10.9/include -L/sw10.9/lib -lpng -o ifeffit  iff_shell.o ../lib/libifeffit.a  -L/usr/local/lib/pgplot -lpgplot -lXaPgplot -lcpgplot ../../readline/libreadline.a -L/usr/lib -lncurses -L/usr/X11/lib -L/sw10.9/lib -L/opt/intel/composer_xe_2015.0.077/compiler/lib -L/opt/intel/composer_xe_2015.0.077/mkl/lib -L/sw10.9/lib/gcc4.9/lib/gcc/x86_64-apple-darwin13.4.0/4.9.2 -L/sw10.9/lib/gcc4.9/lib/gcc/x86_64-apple-darwin13.4.0/4.9.2/../../.. -lX11 -lXt -lXaw3d -lpng -lgfortran -lSystem -lgcc_ext.10.5 -lquadmath -lm
make[3]: Leaving directory '/Users/Anders/ifeffit/ifeffit/src/cmdline’

The test of ifeffit still produces:
$ ifeffit
 Ifeffit   1.2.12 Copyright (c) 2005 Matt Newville, Univ of Chicago
                command-line shell version 1.1 with GNU Readline
Ifeffit> testplot
 %PGPLOT, Unrecognized device type
 %PGPLOT, Invalid device specification: /AQT
 %PGPLOT, PGBBUF: selected graphics device is not open
 %PGPLOT, PGQCI: selected graphics device is not open
 %PGPLOT, PGQFS: selected graphics device is not open
 %PGPLOT, PGSCI: selected graphics device is not open
 %PGPLOT, PGSFS: selected graphics device is not open
 %PGPLOT, PGSVP: selected graphics device is not open
 %PGPLOT, PGBBUF: selected graphics device is not open
 %PGPLOT, PGEBUF: selected graphics device is not open
 %PGPLOT, PGSVP: selected graphics device is not open
 %PGPLOT, PGSCI: selected graphics device is not open
 %PGPLOT, PGSFS: selected graphics device is not open
 %PGPLOT, PGEBUF: selected graphics device is not open
  ** plot error: cannot open device:
 %PGPLOT, Unrecognized device type
 %PGPLOT, Invalid device specification: /AQT
  ** plot error: cannot open device:

I have run out of ideas of what to try next. 

(The configure script picks up the paths for ifort libraries, could this be the problem? I could try to edit these out of all the makefiles… I don’t know how to make configure not pick these up.)

Any ideas much appreciated.

Anders
 

On Mar 19, 2015, at 14:55 PM, Bruce Ravel <bravel@bnl.gov> wrote:


Anders,

I see two things that look like problems.  I have never built Demeter
on a Mac myself, so there may be limits to how good my advice can be.
That said:

You are clearly not linking against the pgplot library you compiled.
I glean this from the fact that you see this:

  Use of uninitialized value $pgplot_location in substitution (s///)
  at DemeterBuilder.pm line 191.

and this (from your previous email):

  $ ifeffit
  Ifeffit   1.2.12 Copyright (c) 2005 Matt Newville, Univ of Chicago
                 command-line shell version 1.1 with GNU Readline
  Ifeffit> testplot
     %PGPLOT, Unrecognized device type

and so on.  You need to make sure that pgplot is someplace that the
linker/loader knows to look when you build ifeffit.  But I do not know
how that works on the mac.

The bigger problem is this:

On 03/19/2015 05:42 PM, Anders Glans wrote:
env LD_RUN_PATH=/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE cc -mmacosx-version-min=10.10 -arch x86_64 -arch i386 -bundle -undefined dynamic_lookup -fstack-protector -o src/Ifeffit.dylib src/ifeffit_wrap.o
Simple test for presence of gnuplot ---> found it!  Using gnuplot with the x11 terminal.
Building Demeter
Building Artemis User's Guide
Building Athena User's Guide
copying src/Ifeffit.so to /Users/Anders/perl/auto/Ifeffit/Ifeffit.so

It seems that my build script is too stupid to know that the shared
object library built from the ifeffit wrapper is called .dylib and not
.so.

Try copying "src/Ifeffit.dylib" to "/Users/Anders/perl/auto/Ifeffit/"
by hand, then doing "./Build" again.

Perhaps oddly, I am not worried about that whole slew of warnings.  I
don't think they matter.

Hopefully with the .dylib file in the correct location, this

 t/000_ifeffit.t ......... Can't load
'/Library/Perl/5.18/darwin-thread-multi-2level/auto/Ifeffit/Ifeffit.bundle'
 for module Ifeffit:

and so on, won't happen.

Fingers crossed!
B

--
Bruce Ravel  ------------------------------------ bravel@bnl.gov

National Institute of Standards and Technology
Synchrotron Science Group at NSLS-II
Building 535A
Upton NY, 11973

Homepage:    http://bruceravel.github.io/home/
Software:    https://github.com/bruceravel
Demeter:     http://bruceravel.github.io/demeter/
_______________________________________________
Ifeffit mailing list
Ifeffit@millenia.cars.aps.anl.gov
http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit