pspp-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building PSPP on a Mac


From: Ben Pfaff
Subject: Re: Building PSPP on a Mac
Date: Sat, 11 Oct 2008 15:34:45 -0700
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Richard Brittain <address@hidden> writes:

>   I'm helping to evaluate PSPP and wanted a Mac version, but the
> installation notes don't have much advice about building this on a
> Mac, so I plugged away and got a version that seems to install and
> run.  I also a found a few questions about this in the list archives,
> but few answers, so I thought this list might like a description of
> what worked for me.  I've done this right through on two PPC macs
> running 10.4.11.  I've not yet tried it on a 10.5 system, or an intel
> Mac.  I'm just a tinkerer, not a developer, when it comes to Macs, so
> there may be a more efficient way to do this.

Hello.  Thanks so much for the detailed notes.  

> 3. Edit /etc/profile or ~/.profile and ~/.bashrc
> and add "/opt/local/bin" to your $PATH setting.  At the same time, add
> "/usr/local/bin" if it isn't there already, since pspp will install
> itself there.

For what it's worth, you can install PSPP elsewhere if you like,
by passing the --prefix option to configure.  But /usr/local/bin
is usually as good a place as any. 

> 4. Make sure the ports package is updated, and install all the
> prerequisite libraries for PSPP
>
> sudo port selfupdate
> sudo port install yelp gsl plotutils
>
> This will run for _hours_, downloading sources from BSD ports
> repositories and compiling and installing them.  It will automatically
> pull down all needed prerequisite packages.  On my system I ended
> up with 94 port packages installed.  You can use "port list installed"
> to see them.  All of the prerequisites are supported ports.  Some
> of the packages are just newer versions of things which the Mac has
> already, like perl and python.  

Wow.  I am not familiar with OS X, but I am surprised that binary
packages are not available for these programs.  There is little
benefit in compiling them for yourself if you can install binaries.

> I suspect that the vast majority of the stuff installed by this
> step is not needed at run time by pspp.

Should not be.

> I think it might help to put it in a location without weird characters
> in the pathname.  The "configure" script generated some errors which
> might have been due to my current directory being "User's Documents"

Yes, automake and libtool do not cope well with build directory
names that contain spaces or single-quotes.  Sorry about that.
I'll add a note to the install instructions for the future.

> 6. In a terminal, cd to the unpacked psp source tree and run configure
>
> ./configure CPPFLAGS="/opt/local/include" LDFLAGS="-L/opt/local/lib 
> -L/usr/local/lib/pspp"

Probably there's a missing -I in those CPPFLAGS but otherwise it
looks right.

> I get 1 failing test in the set of 158.  The actual message is:
> 1c1
> < /private/tmp/pspp-tst-8859/foo.sps:10: error: DISPLAY: AKSDJ is not a 
> variable name.
> ---
>> /tmp/pspp-tst-8859/foo.sps:10: error: DISPLAY: AKSDJ is not a variable name.

How unusual.  Is there actually a /private directory on your
system, and does it have some relationship to /tmp?

> 10.  Make symlinks for libpsppire.so and libpsppwidgets.so
>
> The dynamic library routines seem to be hard coded to look for .so
> files, but on the Mac they are called .dylib files, which seem to be
> equivalent.
>
> cd /usr/local/lib/pspp
> sudo ln -s libpspsswidgets.dylib libpsppwidgets.so
> sudo ln -s libpsppire.dylib libpsppire.so

Hmm.  There is certainly nothing hard-coded into our source tree
with the .so extension.  I don't know why this would be happening.

> 12. Set $DYLD_LIBRARY_PATH
>
> Set $DYLD_LIBRARY_PATH to allow the dynamic link loader to find the
> psppire and psppwidgets libaries.
>
> export DYLD_LIBRARY_PATH=/usr/local/lib/pspp
>
> This can be added to ~/.bashrc so that it always takes effect, or
> there could be a simple wrapper script to start up psppire which sets
> $DYLD_LIBRARY_PATH first.  I'm not sure why this is needed for
> /usr/local/lib/pspp and not for /opt/local/lib.

You should be able to add something to LDFLAGS to bypass this
step.  On GNU/Linux, the option would be something like
LDFLAGS="-Wl,-rpath,/usr/local/lib".

> I've not yet figured out how to get other than  ASCII output from psppire,
> or generate plots and charts.  

That's something that's not really present in the current version
of PSPPIRE, but it's a pretty high priority for the next
version.

You can get PostScript or HTML output from the command-line
version of PSPP by passing "-o html" or "-o list-ps" on the
command line.

> The reference manual (running in yelp') seems to throw errors
> on some of the cross linked pages.  I also get a few warnings
> in the terminal window when certain features are selected in
> psppire.

We welcome bug reports if you want to be more specific.
-- 
"I admire him, I frankly confess it; and when his time comes
 I shall buy a piece of the rope for a keepsake."
--Mark Twain




reply via email to

[Prev in Thread] Current Thread [Next in Thread]