Skip to content

Releases: ascherer/sgb

Build from latest tarball

30 Nov 15:20

Choose a tag to compare

Note in 2025: The master source tree still compiles fine—albeit with quite a few compiler warnings—, if you apply the classic contents of the PROTOTYPES directory:

git checkout master
ln -s PROTOTYPES/*.ch .
CC='cc --std=c23 -DSYSV -Wall -Wextra' make tests \
    assign_lisa book_components econ_order football girth \
    ladders miles_span multiply queen roget_components \
    take_risc test_sample word_components

This rolling release of the Stanford GraphBase is based on the original SGB tarball from the Stanford server as represented by the contents of the master branch, but it uses the extra material from the local branch, i.e., the build recipe sgb.spec and the set of git-generated patch files.

In order to build the modernized SGB, put the original tarball and the 00*-*.patch files in the SOURCES directory of your build arena, and file sgb.spec in the SPECS directory, and invoke one of

debbuild -ba --verbose -S git_am SPECS/sgb.spec
rpmbuild -ba --verbose --define="__scm git_am" SPECS/sgb.spec

This creates the installation packages in deb or rpm format, and produces a “live” SGB environment in the BUILD/sgb-* subdirectory, where you can inspect the individual patches with git log -p.

Alternatively, you can clone this project, checkout out the local branch, and apply the patches with

git am {0002..46}-*.patch
ln -s PROTOTYPES/*.ch .
make tests demos

As a last resort, you can download the patch files and apply them directly with

for f in 00*-*.patch; do patch -p1 -i $f; done

and go from there manually