Skip to content

Building libctlgeom from a git clone requires Guile #77

@oskooi

Description

@oskooi

When building libctl from git checkout without Guile (either via --without-guile or when Guile is not found), make fails with:

No rule to make target 'geom-ctl-io.c', needed by 'all'

Root case in utils/Makefile.am:

  • Line 9: ctlgeom-types.h in nodist_include_HEADERS – unconditional
  • Line 15: geom-ctl-io.c and ctlgeom-types.h in libctlgeom_la_SOURCES – unconditional
  • Line 33: geom-ctl-io.c and ctlgeom-types.h in BUILT_SOURCES – unconditional
  • Line 41–60: Generation rules – conditional on WITH_GUILE

When WITH_GUILE is false and the files don't exist (git checkout), there's no rule and no file.

The generated files geom-ctl-io.c and ctlgeom-types.h end up in the tarball because Automake automatically includes BUILT_SOURCES and source files from *_SOURCES in the dist. That's why the tarball has them but the git repo does not.

The real question is: should libctlgeom be buildable without Guile from a git checkout? Given that the entire library's type system is generated from geom.scm by Guile, it seems like Guile is a build-time dependency for building from git, and only tarball users can skip it (since the generated files are pre-included).

It would be good to be able to build libctlgeom using git checkout without having to install Guile as a dependency.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions