[Ifeffit] athena and artemis on Mac OS X 10.2

Dr. Paul Fons paul-fons at aist.go.jp
Tue Aug 27 20:11:52 CDT 2002

I have successfully installed the latest tarballs for athena and 
artemis on Mac OS 10.2 (Jaguar) and thought I would share with the list 
the necessary steps to do the installation.

0. Install 10.2 and the latest development tools (included with 10.2)
1. install the latest patch for xterm from the sourceforge site: 
ceforge.net/projects/xonx/ and install Xfree86
2. rebuild the readline libraries within fink after updating from cvs 
(I use the fink unstable branch)
3. recompile Tk after making the following modification:

   in Tk/MMutil.pm replace the subroutine const_config with the 
following code:

sub const_config
  my $self = shift;
  my $name;
  foreach $name (grep /(%|\.(old|bak|q4|orig|rej))$/,keys %{$self->{PM}})
    delete $self->{PM}->{$name};
  my $flags = $self->{'CCCDLFLAGS'};
  $flags =~ s/(-[fK]?\s*)pic\b/${1}PIC/;
  $self->{'CCCDLFLAGS'} = $flags;
  if ($^O eq 'MSWin32' && $Config{'ccflags'} =~ /-DPERL_OBJECT/)
    $self->{'LDFLAGS'} =~ s/-(debug|pdb:\w+)\s+//g;
    $self->{'LDDLFLAGS'} =~ s/-(debug|pdb:\w+)\s+//g;
  elsif ($^O eq 'darwin' )
    $self->{'LDDLFLAGS'} =~ s/-flat_namespace\s+//;
    $self->{'LDDLFLAGS'} =~ s/-undefined\s+suppress\s+//;
    if ( -e "$Config{'archlib'}/CORE/$Config{'libperl'}" ) {
     $self->{'LDDLFLAGS'} .= " -L\${PERL_ARCHLIB}/CORE -lperl ";
    elsif ( -e "/System/Library/Perl/darwin/CORE/libperl.dylib" ) {
     $self->{'LDDLFLAGS'} .= " -L/System/Library/Perl/darwin/CORE -lperl 
    else {
     warn "Can't find libperl.dylib";
    $self->{'LDFLAGS'} =~ s/-flat_namespace\s+//;
    $self->{'LDFLAGS'} =~ s/-undefined\s+suppress\s+//;
  elsif ($^O =~ /(openbsd)/i)
    # -Bforcearchive is bad news for Tk - we don't want all of libpTk.a 
in all .s
    $self->{'LDDLFLAGS'} =~ s/-Bforcearchive\s*//g;
  return $self->MM::const_config;

The only thing that is different is a new conditional block in a if 
block, but I thought it would be easier just to copy and paste.  This 
hack was taken from Bug's Macintosh Page at 
http://www.lehigh.edu/~sol0/Macintosh/X/ptk/.  It turns out it is no 
longer necessary to hack the dynamic library loader dylib.

After changing the subroutine const_config in MMutil.pm, mumble the 
usual incantations:

  perl Makefile.PL
    make test
    sudo make install

4. rebuild the ifeffit source

    cd ifeffit/src/macosx
    make clean
    sudo make install
    cd ../../wrappers/perl
    perl Makefiile.PL
    sudo make install
    cd ../python
    sudo python setup.py install

5. Rebuild athena and artemis

   cd athena
   perl Makefile.PL
   sudo make install

  cd artemis
  perl Makefile.PL
sudo make install

You are done!

Caveats:   I (being perverse) have not done the installation exactly 
this way.  I have compiled xfree86 from the online cvs sources 
and have in addition installed perl 5.8.0.  This is a little more 
complicated (but not much).  I also found that ifeffit was looking for 
a library libg2c.a and made a symbolic link from 
/usr/lib/gcc/darwin/2.95.2/libg2c.a to /usr/local/lib so that the 
ifeffit compilation could proceed normally.  I am not sure if this step 
is necessary for all.  I don't think perl 5.8.0 and the newest build of 
Xfree86 are necessary (but on the other hand that is all I have and 
can't check the alternatives).  The version of perl installed by 10.2 
is still 5.6.

Any questions?   Send me email if you have problems and I will help if 
I can.

Dr. Paul Fons
Photonics Research Institute
National Institute for Advanced Industrial Science and Technology
Ministry of Economics and Trade
Umezono 1-1-1
Tsukuba, Japan 305-8568
tel. 81-298-61-5636 fax. 81-298-61-5615

paul-fons at aist.go.jp

Lines below are in Japanese
独立行政法人 産業技術総合研究所光技術部門
〒305-8568 茨城県つくば市梅園1-1-1 産総研つくば中央第2
E-mail: paul-fons at aist.go.jp, Tel. 0298-61-5636, Fax. 0298-61-5615

More information about the Ifeffit mailing list