Skip to content

[Bug: low priority] One liner build reporting #12

@wmik

Description

@wmik

Device & OS

  • Hardware: Raspberry Pi 4 4GB
  • OS: Raspberry Pi OS 64-bit
  • Compiler: gcc 12.2

Model

  • Model file: tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf
  • Quantization: Q4_K_M

What happened?
Tried installing with the one liner instructions

picolm/README.md

Lines 117 to 121 in cf3f2df

### Or install everything in one line
```bash
curl -sSL https://raw.githubusercontent.com/RightNow-AI/picolm/main/install.sh | bash
```

Command you ran

curl -sSL https://raw.githubusercontent.com/RightNow-AI/picolm/main/install.sh | bash

# then

picolm ~/.picolm/models/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf -p "Hello" -n 50 -j 4

Expected output
A valid response from the model e.g hi/hello

Actual output

-bash: picolm: command not found

Build output
Noticed the warnings in the build output but the reporting

[+] Platform: Linux aarch64
[+] Detected 4 CPU cores, will use 4 threads
[+] Available RAM: 3796 MB
[+] Checking build dependencies...
[+] Creating directories...
[!] picolm source not found locally.
[!] Please copy the picolm/ directory to ~/.picolm/src/
[!] Then re-run this script.
[!] Skipping build — no source files found.
[+] Downloading TinyLlama 1.1B Q4_K_M (638 MB)...
[+] This may take a while on slow connections.
######################################################################## 100.0%
[+] Downloaded: ~/.picolm/models/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf
[+] Generating PicoClaw config...
[+] Created: ~/.picoclaw/config.json
[+] Added /~/.picolm/bin to PATH in ~/.bashrc

============================================
[+] PicoLLM installation complete!
============================================

  Binary:  ~/.picolm/bin/picolm
  Model:   ~.picolm/models/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf
  Config:  ~/.picoclaw/config.json
  Threads: 4

  To activate PATH now (or open a new terminal):
    source ~/.bashrc

  Quick test (PicoLLM direct):
    picolm ~/.picolm/models/tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf -p "Hello" -n 50 -j 4

  Chat with PicoClaw agent:
    picoclaw agent -m "What is the meaning of life?"

  Interactive chat:
    picoclaw agent

  Start Telegram/Discord gateway:
    picoclaw gateway

  Memory usage: ~45 MB (PicoLLM) + ~10 MB (PicoClaw) + model on disk via mmap

Potential fixes

  • Explicitly add a git clone step before the one liner or
  • Maybe report that the build failed or binary is missing or
  • add commands to clone the src?

Replace

picolm/install.sh

Lines 94 to 97 in cf3f2df

else
warn "picolm source not found locally."
warn "Please copy the picolm/ directory to $INSTALL_DIR/src/"
warn "Then re-run this script."

with

else
    info "Cloning picolm source from GitHub..."
    TMP_SRC=$(mktemp -d)
    if command -v git >/dev/null 2>&1; then
        git clone --depth=1 https://github.com/RightNow-AI/picolm.git "$TMP_SRC/picolm" 2>/dev/null
        cp "$TMP_SRC/picolm/picolm/"*.c "$INSTALL_DIR/src/" 2>/dev/null || true
        cp "$TMP_SRC/picolm/picolm/"*.h "$INSTALL_DIR/src/" 2>/dev/null || true
        cp "$TMP_SRC/picolm/picolm/Makefile" "$INSTALL_DIR/src/" 2>/dev/null || true
        rm -rf "$TMP_SRC"
    else
        # git not available, try curl tarball
        curl -sSL https://github.com/RightNow-AI/picolm/archive/refs/heads/main.tar.gz \
            | tar -xz -C "$TMP_SRC"
        cp "$TMP_SRC/picolm-main/picolm/"*.c "$INSTALL_DIR/src/" 2>/dev/null || true
        cp "$TMP_SRC/picolm-main/picolm/"*.h "$INSTALL_DIR/src/" 2>/dev/null || true
        cp "$TMP_SRC/picolm-main/picolm/Makefile" "$INSTALL_DIR/src/" 2>/dev/null || true
        rm -rf "$TMP_SRC"
    fi
fi

and add git as a dependency here

picolm/install.sh

Lines 63 to 67 in cf3f2df

DEPS_NEEDED=""
command -v gcc >/dev/null 2>&1 || DEPS_NEEDED="$DEPS_NEEDED gcc"
command -v make >/dev/null 2>&1 || DEPS_NEEDED="$DEPS_NEEDED make"
command -v curl >/dev/null 2>&1 || DEPS_NEEDED="$DEPS_NEEDED curl"

command -v git   >/dev/null 2>&1 || DEPS_NEEDED="$DEPS_NEEDED git"

Please feel free to close this if it's too trivial 😅
Otherwise so glad I stumbled onto this project great stuff 🎉

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions