Skip to content

Instantly share code, notes, and snippets.

@bheesham
Last active July 23, 2022 21:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bheesham/3235211d11935c94be09d31810350593 to your computer and use it in GitHub Desktop.
Save bheesham/3235211d11935c94be09d31810350593 to your computer and use it in GitHub Desktop.

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:

  1. Use a fresh repo (git clone git@github.com/gambit/gambit.git gambit-N)
  2. Run an initial build (using some variation of ./configure)
  3. 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 ./configured working repository). Not strictly relevant here, but this was a signal that some variation of flags may yield succes.

gambit-1 (--enable-single-host --enable-march=native --enable-dynamic-clib) -- failed

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'

gambit-2 (using no flags) -- failed

Ran:

./configure
make -j12
make check

Result: passed

Follow up: get a gambit compiled with the suggested flags

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

gambit-3 (--enable-single-host) -- failed

Ran:

./configure --enable-single-host
make -j12
make check

Result: passed

Follow up: get a gambit compiled with the suggested flags

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

gambit-4 (--enable-march=native) -- failed

Ran:

./configure --enable-march=native
make -j12
make check

Result: passed

Follow up: get a gambit compiled with the suggested flags

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

gambit-5 (--enable-dynamic-clib) -- passed

Ran:

./configure --enable-dynamic-clib
make -j12
make check

Result: passed

Follow up: get a gambit compiled with the suggested flags

Ran:

./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check

Result: passed

gambit-6 (--enable-single-host --enable-dynamic-clib) -- passed

Ran:

./configure --enable-single-host --enable-dynamic-clib
make -j12
make check

Result: passed

Follow up: get a gambit compiled with the suggested flags

Ran:

./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check

Result: passed

gambit-7 (--enable-march=native --enable-dynamic-clib) -- passed

Ran:

./configure --enable-march=native --enable-dynamic-clib
make -j12
make check

Result: passed

Follow up: get a gambit compiled with the suggested flags

Ran:

./configure --enable-single-host --enable-march=native --enable-dynamic-clib
make -j12
make check

Result: passed

gambit-8 (--enable-march=native --enable-single-host) -- failed

Ran:

./configure --enable-march=native --enable-single-host
make -j12
make check

Result: passed

Follow up: get a gambit compiled with the suggested flags

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment