mirror of
https://github.com/SHOGGOTH-SECTOR/sica-fondt.git
synced 2026-09-30 01:15:10 +00:00
Resolve economy organ toolchains: ECLiPSe 7.2 + COIN-OR, M3g to Fortran, BoundedPrediction fields
Hook: - ECLiPSe upgraded 7.1_13 → 7.2_13, adds ic + eplex (if_osiclpcbc) with COIN-OR system dep, sha256 pinned, ECLIPSEDIR exported, correct paths (lib/x86_64_linux/eclipse.exe not bin/) - fpm switched from GitHub binary download to pip (0.12.0) — proxy blocks GitHub release downloads in this environment - Alire download gets sha256 verification on both install and presence check - Fortran comment updated M3d,M3e → M3d,M3e,M3g - Foundry section comment clarified as hosted separately Specs: - M3g §3: Zig → Fortran 2018 (gfortran/fpm/OpenBLAS, hand-rolled Riccati) - M3 hub §3: sub-process list Zig(M3g) → Fortran(M3g) - M3 hub §5: BoundedPrediction adds token_ticker and recent_shift (ground truth from M2, same source as correctness scoring and calibration) - M3b §3: ECLiPSe 7.2 + ic + eplex (COIN-OR CLP/CBC) - M3f §3: ECLiPSe 7.2 + ic + eplex (COIN-OR CLP/CBC) - M3c §3: Solidity + Foundry confirmed, hosted separately, same Hub path
This commit is contained in:
@@ -40,17 +40,21 @@ fi
|
||||
# ---------------------------------------------------------------------------
|
||||
# Alire (alr) 2.1.1
|
||||
# ---------------------------------------------------------------------------
|
||||
ALR_SHA256="2e2b8de009b793ad2aed10096e162649bbcc5b0711e3c21785ebe8a1261c5d64"
|
||||
if command -v alr >/dev/null 2>&1; then
|
||||
log "alr already present; skipping Alire install."
|
||||
log "alr present; verifying integrity."
|
||||
echo "$ALR_SHA256 $(command -v alr)" | sha256sum -c - || die "Installed alr sha256 mismatch — binary may be corrupt."
|
||||
else
|
||||
log "Installing Alire (alr) 2.1.1 ..."
|
||||
curl -sSL -o /tmp/alr.zip https://github.com/alire-project/alire/releases/download/v2.1.1/alr-2.1.1-bin-x86_64-linux.zip || die "Alire download failed."
|
||||
( cd /tmp && unzip -o -q alr.zip && sudo cp bin/alr /usr/local/bin/alr && chmod +x /usr/local/bin/alr ) || die "Alire unzip/copy failed."
|
||||
( cd /tmp && unzip -o -q alr.zip ) || die "Alire unzip failed."
|
||||
echo "$ALR_SHA256 /tmp/bin/alr" | sha256sum -c - || die "Downloaded alr sha256 mismatch."
|
||||
sudo cp /tmp/bin/alr /usr/local/bin/alr && chmod +x /usr/local/bin/alr || die "Alire copy failed."
|
||||
log "alr installed to /usr/local/bin/alr"
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Fortran 2018 (gfortran) + OpenBLAS (economy organ: M3d, M3e)
|
||||
# Fortran 2018 (gfortran) + OpenBLAS (economy organ: M3d, M3e, M3g)
|
||||
# ---------------------------------------------------------------------------
|
||||
if command -v gfortran >/dev/null 2>&1; then
|
||||
log "gfortran already present; skipping."
|
||||
@@ -60,16 +64,14 @@ else
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# fpm — Fortran Package Manager (economy organ: M3d, M3e)
|
||||
# fpm — Fortran Package Manager (economy organ: M3d, M3e, M3g)
|
||||
# ---------------------------------------------------------------------------
|
||||
if command -v fpm >/dev/null 2>&1; then
|
||||
if command -v fpm >/dev/null 2>&1 && fpm --version >/dev/null 2>&1; then
|
||||
log "fpm already present; skipping."
|
||||
else
|
||||
log "Installing fpm ..."
|
||||
FPM_URL="https://github.com/fortran-lang/fpm/releases/download/v0.10.1/fpm-0.10.1-linux-x86_64"
|
||||
curl -sSL -o /tmp/fpm "$FPM_URL" || die "fpm download failed."
|
||||
sudo cp /tmp/fpm /usr/local/bin/fpm && sudo chmod +x /usr/local/bin/fpm || die "fpm install failed."
|
||||
log "fpm installed to /usr/local/bin/fpm"
|
||||
log "Installing fpm via pip ..."
|
||||
pip install --quiet fpm==0.12.0 || die "pip install fpm failed."
|
||||
log "fpm $(fpm --version 2>&1 | head -1)"
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -83,21 +85,38 @@ else
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ECLiPSe Prolog (economy organ: M3b, M3f)
|
||||
# ECLiPSe Prolog 7.2_13 (economy organ: M3b, M3f)
|
||||
# Bundles: basic (includes ic), if_osiclpcbc (COIN-OR backend for eplex LP/MIP)
|
||||
# ---------------------------------------------------------------------------
|
||||
if command -v eclipse >/dev/null 2>&1 || [ -x /opt/eclipseclp/bin/x86_64_linux/eclipse ]; then
|
||||
log "ECLiPSe Prolog already present; skipping."
|
||||
ECL_MIRROR="https://www.mirrorservice.org/sites/eclipseclp.org/Distribution/CurrentRelease"
|
||||
ECL_PLATFORM="7.2_13%20x86_64_linux%20Intel-64bit-Linux"
|
||||
ECL_BASIC_SHA256="df12d7ab694331f54cd87e5861ceec2ddd41028d1cccf6496ec56ea6755600a3"
|
||||
ECL_OSICLPCBC_SHA256="a90d34a19606c916a684b8a8927dda441b743a11d07dbfe0de007c38f9844df6"
|
||||
if [ -x /opt/eclipseclp/lib/x86_64_linux/eclipse.exe ]; then
|
||||
log "ECLiPSe Prolog present; verifying."
|
||||
[ -f /opt/eclipseclp/lib/x86_64_linux/ic.so ] || die "ECLiPSe ic library missing."
|
||||
[ -f /opt/eclipseclp/lib/x86_64_linux/seosiclpcbc.so ] || die "ECLiPSe eplex COIN-OR backend missing."
|
||||
else
|
||||
log "Installing ECLiPSe Prolog ..."
|
||||
ECLIPSE_URL="https://eclipseclp.org/Distribution/Current/7.1_13/x86_64_linux/eclipse_basic.tgz"
|
||||
curl -sSL -o /tmp/eclipse_basic.tgz "$ECLIPSE_URL" || die "ECLiPSe download failed."
|
||||
log "Installing ECLiPSe Prolog 7.2_13 ..."
|
||||
sudo apt-get install -y coinor-libcbc3.1 || die "COIN-OR CBC system library install failed."
|
||||
sudo mkdir -p /opt/eclipseclp || die "Could not create /opt/eclipseclp."
|
||||
sudo tar -xzf /tmp/eclipse_basic.tgz -C /opt/eclipseclp || die "ECLiPSe extraction failed."
|
||||
log "ECLiPSe installed to /opt/eclipseclp"
|
||||
curl -sSL -o /tmp/eclipse_basic.tgz "$ECL_MIRROR/$ECL_PLATFORM/eclipse_basic.tgz" \
|
||||
|| die "ECLiPSe basic download failed."
|
||||
echo "$ECL_BASIC_SHA256 /tmp/eclipse_basic.tgz" | sha256sum -c - \
|
||||
|| die "ECLiPSe basic sha256 mismatch."
|
||||
sudo tar -xzf /tmp/eclipse_basic.tgz -C /opt/eclipseclp \
|
||||
|| die "ECLiPSe basic extraction failed."
|
||||
curl -sSL -o /tmp/if_osiclpcbc.tgz "$ECL_MIRROR/$ECL_PLATFORM/if_osiclpcbc.tgz" \
|
||||
|| die "ECLiPSe COIN-OR download failed."
|
||||
echo "$ECL_OSICLPCBC_SHA256 /tmp/if_osiclpcbc.tgz" | sha256sum -c - \
|
||||
|| die "ECLiPSe COIN-OR sha256 mismatch."
|
||||
sudo tar -xzf /tmp/if_osiclpcbc.tgz -C /opt/eclipseclp \
|
||||
|| die "ECLiPSe COIN-OR extraction failed."
|
||||
log "ECLiPSe 7.2_13 installed to /opt/eclipseclp (basic + ic + eplex/COIN-OR)"
|
||||
fi
|
||||
|
||||
# --------------------------------------------------------------------------- ---------------------------------------------------------------------------
|
||||
# Solidity / Foundry (economy organ: M3c)
|
||||
# ---------------------------------------------------------------------------
|
||||
# Solidity / Foundry (economy organ: M3c — hosted separately)
|
||||
# ---------------------------------------------------------------------------
|
||||
# if command -v forge >/dev/null 2>&1; then
|
||||
# log "forge (Foundry) already present; skipping."
|
||||
@@ -111,14 +130,16 @@ fi
|
||||
# ---------------------------------------------------------------------------
|
||||
# PATH for tools not in standard locations.
|
||||
# ---------------------------------------------------------------------------
|
||||
EXTRA_PATHS='/root/.local/share/ponyup/bin:/opt/eclipseclp/bin/x86_64_linux'
|
||||
EXTRA_PATHS='/root/.local/share/ponyup/bin:/opt/eclipseclp/lib/x86_64_linux'
|
||||
FOUNDRY_PATH="$HOME/.foundry/bin"
|
||||
FULL_PATH_LINE="export PATH=$EXTRA_PATHS:$FOUNDRY_PATH:\$PATH"
|
||||
if [ -f "$HOME/.bashrc" ] && grep -qF "eclipseclp" "$HOME/.bashrc"; then
|
||||
log "Toolchain PATH lines already in ~/.bashrc; skipping."
|
||||
ECLIPSEDIR_LINE="export ECLIPSEDIR=/opt/eclipseclp"
|
||||
if [ -f "$HOME/.bashrc" ] && grep -qF "ECLIPSEDIR" "$HOME/.bashrc"; then
|
||||
log "Toolchain PATH/env lines already in ~/.bashrc; skipping."
|
||||
else
|
||||
log "Appending toolchain PATH lines to ~/.bashrc"
|
||||
echo "$FULL_PATH_LINE" >> "$HOME/.bashrc" || die "Could not append to ~/.bashrc."
|
||||
log "Appending toolchain PATH/env lines to ~/.bashrc"
|
||||
{ echo "$FULL_PATH_LINE"; echo "$ECLIPSEDIR_LINE"; } >> "$HOME/.bashrc" \
|
||||
|| die "Could not append to ~/.bashrc."
|
||||
fi
|
||||
|
||||
log "Done."
|
||||
|
||||
Reference in New Issue
Block a user