Prerequisites for Building PSPP from Git ---------------------------------------- To build this project from the sources direct from the Git archive, you must install the prerequisites listed in INSTALL, plus the following: * Autoconf 2.64 (or later). * Automake 1.14 (or later). * Gettext 0.19 (or later). * GNU M4 1.4.9 (or later). * pkg-config 0.21 (or later). * gperf 3.0.1 (or later). * Gnulib (see below for details). * libtool 1.5.22 (or later). * Texinfo 5.2 or later, to build the documentation. * rsvg-convert from librsvg2. After you install PSPP's prerequisites, you must obtain a copy of Gnulib, then bootstrap the tree, as described in the sections below. After that, you may follow the procedure described in INSTALL. Obtaining Gnulib ---------------- This version of PSPP should work with the Gnulib commit shown below. Gnulib does not maintain a stable API or ABI, so it is possible that PSPP will not work with older or newer versions of Gnulib. commit 37d43aa09011b2474b843e9386c6c246f50065c7 (origin/stable-202307) Author: Collin Funk Date: Sun Mar 10 01:02:30 2024 -0800 gnulib-tool: Don't remove comments referencing @NMD@, part 2. * gnulib-tool (func_emit_tests_Makefile_am): Replace lines that start with @NMD@ or @!NMD@ instead of lines that contain them. To clone Gnulib into a directory named "gnulib" using Git, and then check out this particular commit, run these commands: git clone git://git.savannah.gnu.org/gnulib.git gnulib cd gnulib git checkout $COMMIT where $COMMIT should be replaced by the commit number listed above (usually it is sufficient to just type the first 6 or so digits). If you do not have Git installed, then you may alternately download http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=$COMMIT;sf=tgz where $COMMIT is, again, at least the first few digits of the commit number listed above. This download will yield a tar.gz file that you may extract with "gunzip" and "tar" to yield identical results. Bootstrapping ------------- Once you have Gnulib installed, PSPP must be "bootstrapped" using the following command: make -f Smake If you checked Gnulib out in a directory named `gnulib' at the same level as PSPP, then this is sufficient. Otherwise, provide the location of GNULIB on the `make' command line: make -f Smake GNULIB=/gnulib/base/directory/name After executing Smake, follow the procedure described in INSTALL to build and install PSPP. On some systems this may be as simple as: ./configure make Once PSPP is built, you may run its self-tests with: make check or for a more thorough test: make distcheck Building from git on Mac OS --------------------------- You can build on MacOS in the brew environment. Install all required packages to resolve library dependencies and autotools. In brew the gettext automake macros are not found by default. Run ACLOCAL_PATH=`brew --prefix`/Cellar/gettext/0.25/share/gettext/m4 make -f Smake The brew system provides the libraries and header files in a separate location from the MacOS system libraries. The typical locations are Libraries: `brew --prefix`/lib Headers: `brew --prefix`/include pspp under brew will be linked against the brew libraries. The configure script has to be informed about the library and header locations. Assume the following directory structure for an out of tree build: ~/mypspp |----pspp (This is the pspp git directory) |----install (The install location containing also ui files for psppire) |----build (The build directory) |----gnulib (The gnulib directory as described above) The configure command finds by default the MacOS libiconv library. That library is not fully compatible to the gnu libiconv. So add the brew libiconv to the linker and compiler flags such that the brew libiconv is found. Then you can build with the following commands: cd ~/mypspp/pspp make -f Smake cd ../build ../pspp/configure --prefix=/Users/USER/mypspp/install \ --without-perl-module \ LDFLAGS='-L/opt/homebrew/lib -L/opt/homebrew/Cellar/libiconv/1.18/lib'\ CPPFLAGS='-I/opt/homebrew/include -I/opt/homebrew/Cellar/libiconv/1.18/include'\ CFLAGS='-g -O0' make make install ../install/bin/psppire (If everything worked, you should see psppire...) You need to run "make install" because psppire searches for some setup files which must be present with respect to the "prefix" setting. For debugging with a debugger it is better to launch the executable in the build directory. cd lldb ./src/ui/gui/.libs/psppire Inside lldb you need to set the environment variable DYLD_LIBRARY_PATH such that psppire finds the debug symobls for code that is in libraries. env DYLD_LIBRARY_PATH=/src/ui/gui/.libs

AltStyle によって変換されたページ (->オリジナル) /