[Top][All Lists]
[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