agentleFS
NVIDIAKnown publisherNVIDIA/DALI_deps/CLAUDE.md

DALI_deps

CLAUDE.md11 starsChanged 57 days agoApache-2.0View on GitHub

DALI_deps provides the build scripts and source snapshots (as git submodules) for all third-party C/C++ dependencies required for a bare-metal NVIDIA DALI build. It has no DALI source code itself. Dependencies managed here are outlined in README.rst Use shallow submodule clones to avoid fetching full upstream histories: Do not run as sudo — use a user-writable prefix instead. Key env vars for build_deps.sh: - HOST_INSTALL_PREFIX / INSTALL_PREFIX — installation prefix (default /usr/local) - CC_COMP / CXX_COMP — compiler selection (default…

  • Deletes or force-pushes

The file

We split this CLAUDE.md into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use shallow submodule clones to avoid fetching full upstream histories:

    line 13
  2. Very specific:

    Do not run as sudo — use a user-writable prefix instead.

    line 31

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

What this repository is

DALI_deps provides the build scripts and source snapshots (as git submodules) for all third-party C/C++ dependencies required for a bare-metal NVIDIA DALI build. It has no DALI source code itself.

Dependencies managed here are outlined in README.rst

Cloning

Use shallow submodule clones to avoid fetching full upstream histories:

git clone https://github.com/NVIDIA/DALI_deps
git submodule init
git submodule update --depth 1 --recursive

Building all dependencies

export HOST_INSTALL_PREFIX=$HOME/prefix
export PATH=$HOME/prefix/bin:$PATH
export LD_LIBRARY_PATH=$HOME/prefix/lib:$LD_LIBRARY_PATH
export CPATH=$HOME/prefix/include:$CPATH
bash -ex build_scripts/build_deps.sh

Do not run as sudo — use a user-writable prefix instead.

Key env vars for build_deps.sh:

  • HOST_INSTALL_PREFIX / INSTALL_PREFIX — installation prefix (default /usr/local)
  • CC_COMP / CXX_COMP — compiler selection (default gcc/g++)
  • CMAKE_TARGET_ARCH — target architecture (default: host arch)
  • WITH_FFMPEG — set to 0 to skip FFmpeg (default 1)
  • CLEANUP=1 — runs git clean -fdx on all submodules before building

Building a single dependency

Each dependency has its own script in build_scripts/:

bash -ex build_scripts/build_opencv.sh
bash -ex build_scripts/build_ffmpeg.sh
# etc.

Dependency-specific build notes

Notes here cover build decisions that aren't obvious from the script alone. Most dependencies don't need an entry; add one when a build script relies on a non-obvious workaround or constraint future changes need to preserve.

Google Cloud Storage

build_google-cloud-cpp.sh passes -DGOOGLE_CLOUD_CPP_ENABLE=storage, so only the GCS client is built out of the ~200 libraries in the SDK. google-cloud-cpp always adds monitoring, trace, opentelemetry and universe_domain on top of that, which is why gRPC and opentelemetry-cpp are dependencies even though the GCS client itself talks REST.

Abseil is not a submodule - build_protobuf.sh fetches and installs it as part of protobuf, and build_grpc.sh reuses that copy (along with protobuf, zlib and OpenSSL) via gRPC_*_PROVIDER=package so that no second, differently versioned copy is installed over it. The googleapis protobuf definitions are downloaded by google-cloud-cpp while configuring; GOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL points that at a local copy.

Patches

The patches/ directory contains patches applied on top of upstream sources during the build scripts (e.g. CVE fixes for libsndfile, FFmpeg fixes, lmdb Makefile patch). Patches are applied by the individual build_scripts/*.sh scripts — do not apply them manually.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.