Releases: ascherer/sgb
Build from latest tarball
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