Problem: the ./configure
command listed in the README didn't work the first
time. I needed to run multiple ./configure && make
commands using various
flags to get the command listed in the README to work.
Command listed in the README:
./configure --enable-single-host --enable-march=native --enable-dynamic-clib
General procedure:
- Use a fresh repo (
git clone git@github.com/gambit/gambit.git gambit-N
) - Run an initial build (using some variation of
./configure
) - Run a follow up build using the command listed in the README.
Summary (in table form):
Section | ./configure flags |
1st build | 2nd build |
---|---|---|---|
gambit-1 | --enable-single-host --enable-march=native --enable-dynamic-clib |
failed | N/A |
gambit-2 | (none) | passed | failed |
gambit-3 | --enable-single-host |
passed | failed |
gambit-4 | --enable-march=native |
passed | failed |
gambit-5 | --enable-dynamic-clib |
passed | passed |
gambit-6 | --enable-single-host --enable-dynamic-clib |
passed | passed |
gambit-7 | --enable-march=native --enable-dynamic-clib |
passed | passed |
gambit-8 | --enable-march=native --enable-single-host |
passed | failed |
Notes which may (or may not) be important:
- I did not run
make clean
, though the Dockerfile does as the first step (requiring a previously./configure
d working repository). Not strictly relevant here, but this was a signal that some variation of flags may yield succes.
Ran:
./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check
Result: failed on make -j12
Logs:
make[1]: Entering directory '/home/bheesham/dev/tgambit/gambit-1/gsi'
../gsc-boot -:~~bin=../bin,~~lib=../lib,~~include=../include -f -prelude "(define-cond-expand-feature|enable-type-checking|)(define-cond-expand-feature|disable-auto-forcing|)(define-cond-expand-feature|enable-sharp-dot|)(define-cond-expand-feature|enable-bignum|)(define-c
ond-expand-feature|enable-ratnum|)(define-cond-expand-feature|enable-cpxnum|)(define-cond-expand-feature|enable-s8vector|)(define-cond-expand-feature|enable-u16vector|)(define-cond-expand-feature|enable-s16vector|)(define-cond-expand-feature|enable-u32vector|)(define-cond-
expand-feature|enable-s32vector|)(define-cond-expand-feature|enable-u64vector|)(define-cond-expand-feature|enable-s64vector|)(define-cond-expand-feature|enable-f32vector|)(define-cond-expand-feature|disable-smp|)(##include\"../lib/header.scm\")" -warnings -c _gsilib.scm
../gsc-boot -:~~bin=../bin,~~lib=../lib,~~include=../include -f -prelude "(define-cond-expand-feature|enable-type-checking|)(define-cond-expand-feature|disable-auto-forcing|)(define-cond-expand-feature|enable-sharp-dot|)(define-cond-expand-feature|enable-bignum|)(define-c
ond-expand-feature|enable-ratnum|)(define-cond-expand-feature|enable-cpxnum|)(define-cond-expand-feature|enable-s8vector|)(define-cond-expand-feature|enable-u16vector|)(define-cond-expand-feature|enable-s16vector|)(define-cond-expand-feature|enable-u32vector|)(define-cond-
expand-feature|enable-s32vector|)(define-cond-expand-feature|enable-u64vector|)(define-cond-expand-feature|enable-s64vector|)(define-cond-expand-feature|enable-f32vector|)(define-cond-expand-feature|disable-smp|)(##include\"../lib/header.scm\")" -warnings -c _gsi.scm
gcc -O1 -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -foptimize-sibling-calls -fomit-frame-pointer -march=native -fPIC -fno-common -mpc64 -I"../include" -c -o _gsilib.o -I. -DHAVE
_CONFIG_H _gsilib.c -D___LIBRARY
../gsc-boot -:~~bin=../bin,~~lib=../lib,~~include=../include -f -prelude "(define-cond-expand-feature|enable-type-checking|)(define-cond-expand-feature|disable-auto-forcing|)(define-cond-expand-feature|enable-sharp-dot|)(define-cond-expand-feature|enable-bignum|)(define-c
ond-expand-feature|enable-ratnum|)(define-cond-expand-feature|enable-cpxnum|)(define-cond-expand-feature|enable-s8vector|)(define-cond-expand-feature|enable-u16vector|)(define-cond-expand-feature|enable-s16vector|)(define-cond-expand-feature|enable-u32vector|)(define-cond-
expand-feature|enable-s32vector|)(define-cond-expand-feature|enable-u64vector|)(define-cond-expand-feature|enable-s64vector|)(define-cond-expand-feature|enable-f32vector|)(define-cond-expand-feature|disable-smp|)(##include\"../lib/header.scm\")" -warnings -link -l ../lib/_
gambit -o _gambitgsi.c -preload _gsilib.c
gcc -O1 -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -foptimize-sibling-calls -fomit-frame-pointer -march=native -fPIC -fno-common -mpc64 -I"../include" -c -o _gambitgsi.o -I. -DH
AVE_CONFIG_H _gambitgsi.c -D___LIBRARY
gcc -O1 -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -foptimize-sibling-calls -fomit-frame-pointer -march=native -fPIC -fno-common -mpc64 -I"../include" -c -o _gsi.o -I. -DHAVE_CO
NFIG_H _gsi.c
../gsc-boot -:~~bin=../bin,~~lib=../lib,~~include=../include -f -prelude "(define-cond-expand-feature|enable-type-checking|)(define-cond-expand-feature|disable-auto-forcing|)(define-cond-expand-feature|enable-sharp-dot|)(define-cond-expand-feature|enable-bignum|)(define-c
ond-expand-feature|enable-ratnum|)(define-cond-expand-feature|enable-cpxnum|)(define-cond-expand-feature|enable-s8vector|)(define-cond-expand-feature|enable-u16vector|)(define-cond-expand-feature|enable-s16vector|)(define-cond-expand-feature|enable-u32vector|)(define-cond-
expand-feature|enable-s32vector|)(define-cond-expand-feature|enable-u64vector|)(define-cond-expand-feature|enable-s64vector|)(define-cond-expand-feature|enable-f32vector|)(define-cond-expand-feature|disable-smp|)(##include\"../lib/header.scm\")" -warnings -link -l _gambitg
si -o _gsi_.c -preload _gsi.c
rm -f "libgambitgsi.a" "libgambitgsi.a" "libgambitgsi.a"
ar rc libgambitgsi.a _gsilib.o _gambitgsi.o && ranlib libgambitgsi.a
gcc -O1 -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -foptimize-sibling-calls -fomit-frame-pointer -march=native -fPIC -fno-common -mpc64 -I"../include" -c -o _gsi_.o -I. -DHAVE_C
ONFIG_H _gsi_.c
if test "" != ""; then \
ln -s "libgambitgsi.a" "libgambitgsi.a"; \
ln -s "libgambitgsi.a" "libgambitgsi.a"; \
fi
gcc -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -foptimize-sibling-calls -fomit-frame-pointer -march=native -fPIC -fno-common -mpc64 -Wno-unused -Wno-write-strings -Wdisabled-op
timization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -foptimize-sibling-calls -fomit-frame-pointer -march=native -fPIC -fno-common -mpc64 -rdynamic -I"../include" -o gsi _gsi.o _gsi_.o "../lib/libgambit.a" libgambitgsi.a
/usr/bin/ld: ../lib/libgambit.a(_num.o): in function `___H___num':
_num.c:(.text+0x25b73): undefined reference to `log1p'
/usr/bin/ld: _num.c:(.text+0x25c9f): undefined reference to `atan'
/usr/bin/ld: _num.c:(.text+0x2652e): undefined reference to `log'
/usr/bin/ld: _num.c:(.text+0x26df6): undefined reference to `exp'
/usr/bin/ld: _num.c:(.text+0x26f12): undefined reference to `exp'
/usr/bin/ld: _num.c:(.text+0x26f88): undefined reference to `exp'
/usr/bin/ld: _num.c:(.text+0x27469): undefined reference to `log'
/usr/bin/ld: _num.c:(.text+0x27702): undefined reference to `log1p'
/usr/bin/ld: _num.c:(.text+0x277a3): undefined reference to `log'
/usr/bin/ld: _num.c:(.text+0x279aa): undefined reference to `log'
/usr/bin/ld: _num.c:(.text+0x27b34): undefined reference to `log'
/usr/bin/ld: _num.c:(.text+0x2979e): undefined reference to `sin'
Ran:
./configure
make -j12
make check
Result: passed
Ran:
./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check
Result: failed on make -j12
Logs:
make[1]: Entering directory '/home/bheesham/dev/tgambit/gambit-2'
make[2]: Entering directory '/home/bheesham/dev/tgambit/gambit-2/lib'
make[3]: Entering directory '/home/bheesham/dev/tgambit/gambit-2/lib/_define-library'
>>>> building module _define-library for C
>>>> building module _define-library/define-library-expand for C
>>>> building module _define-library/debug for C
>>>> building module _define-library for js
>>>> building module _define-library/define-library-expand for js
>>>> building module _define-library/debug for js
make[3]: *** [../module-common.mk:191: modules-pre] Error 71
make[3]: Leaving directory '/home/bheesham/dev/tgambit/gambit-2/lib/_define-library'
make[2]: *** [makefile:518: _define-library] Error 1
make[2]: Leaving directory '/home/bheesham/dev/tgambit/gambit-2/lib'
make[1]: *** [makefile:372: modules] Error 2
make[1]: Leaving directory '/home/bheesham/dev/tgambit/gambit-2'
make: *** [makefile:107: all] Error 2
Ran:
./configure --enable-single-host
make -j12
make check
Result: passed
Ran:
./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check
Result: failed on make -j12
Logs:
make[1]: Entering directory '/home/bheesham/dev/tgambit/gambit-3'
make[2]: Entering directory '/home/bheesham/dev/tgambit/gambit-3/lib'
make[3]: Entering directory '/home/bheesham/dev/tgambit/gambit-3/lib/_define-library'
>>>> building module _define-library for C
>>>> building module _define-library/define-library-expand for C
>>>> building module _define-library/debug for C
>>>> building module _define-library for js
>>>> building module _define-library/define-library-expand for js
>>>> building module _define-library/debug for js
make[3]: *** [../module-common.mk:191: modules-pre] Error 71
make[3]: Leaving directory '/home/bheesham/dev/tgambit/gambit-3/lib/_define-library'
make[2]: *** [makefile:518: _define-library] Error 1
make[2]: Leaving directory '/home/bheesham/dev/tgambit/gambit-3/lib'
make[1]: *** [makefile:372: modules] Error 2
make[1]: Leaving directory '/home/bheesham/dev/tgambit/gambit-3'
make: *** [makefile:107: all] Error 2
Ran:
./configure --enable-march=native
make -j12
make check
Result: passed
Ran:
./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check
Result: failed on make -j12
Logs:
make[3]: Entering directory '/home/bheesham/dev/tgambit/gambit-4/lib/_define-library'
>>>> building module _define-library for C
>>>> building module _define-library/define-library-expand for C
>>>> building module _define-library/debug for C
>>>> building module _define-library for js
>>>> building module _define-library/define-library-expand for js
>>>> building module _define-library/debug for js
make[3]: *** [../module-common.mk:191: modules-pre] Error 71
make[3]: Leaving directory '/home/bheesham/dev/tgambit/gambit-4/lib/_define-library'
make[2]: *** [makefile:518: _define-library] Error 1
make[2]: Leaving directory '/home/bheesham/dev/tgambit/gambit-4/lib'
make[1]: *** [makefile:372: modules] Error 2
make[1]: Leaving directory '/home/bheesham/dev/tgambit/gambit-4'
make: *** [makefile:107: all] Error 2
Ran:
./configure --enable-dynamic-clib
make -j12
make check
Result: passed
Ran:
./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check
Result: passed
Ran:
./configure --enable-single-host --enable-dynamic-clib
make -j12
make check
Result: passed
Ran:
./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check
Result: passed
Ran:
./configure --enable-march=native --enable-dynamic-clib
make -j12
make check
Result: passed
Ran:
./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check
Result: passed
Ran:
./configure --enable-march=native --enable-single-host
make -j12
make check
Result: passed
Ran:
./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check
Result: failed
Logs:
make[1]: Entering directory '/home/bheesham/dev/tgambit/gambit-8'
make[2]: Entering directory '/home/bheesham/dev/tgambit/gambit-8/lib'
make[3]: Entering directory '/home/bheesham/dev/tgambit/gambit-8/lib/_define-library'
>>>> building module _define-library for C
>>>> building module _define-library/define-library-expand for C
>>>> building module _define-library/debug for C
>>>> building module _define-library for js
>>>> building module _define-library/define-library-expand for js
>>>> building module _define-library/debug for js
make[3]: *** [../module-common.mk:191: modules-pre] Error 71
make[3]: Leaving directory '/home/bheesham/dev/tgambit/gambit-8/lib/_define-library'
make[2]: *** [makefile:518: _define-library] Error 1
make[2]: Leaving directory '/home/bheesham/dev/tgambit/gambit-8/lib'
make[1]: *** [makefile:372: modules] Error 2
make[1]: Leaving directory '/home/bheesham/dev/tgambit/gambit-8'
make: *** [makefile:107: all] Error 2