Skip to content

Missing pdjson.h in installation #5

Description

@r-burns

Hi! I'm updating Nixpkgs's various build2 packages from 0.15.0 to 0.16.0 and noticed this build failure when trying to bump bpkg:

In file included from /build/bpkg-0.16.0/bpkg/system-package-manager.cxx:10:
/nix/store/czjlc837wncb400i61arfv0v9f6wms5z-libbutl-0.16.0-dev/include/libbutl/json/parser.hxx:19:10: fatal error: libbutl/json/pdjson.h: No such file or directory
   19 | #include <libbutl/json/pdjson.h> // Implementation details.
      |          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: process g++ exited with code 1

It looks to me like the pdjson.h header is now needed by bpkg but is not installed by libbutl's buildfiles. I was able to work around it with this small patch to also install libbutl's .h files, although I'm not sure if this is the correct solution:

--- a/libbutl/buildfile
+++ b/libbutl/buildfile
@@ -1,7 +1,7 @@
 # file      : libbutl/buildfile
 # license   : MIT; see accompanying LICENSE file
 
-lib{butl}: {hxx ixx txx cxx}{** -uuid-* +uuid-io         \
+lib{butl}: {h hxx ixx txx cxx}{** -uuid-* +uuid-io       \
                                 -win32-utility           \
                                 -mingw-*                 \
                                 -version                 \
@@ -154,7 +154,7 @@ else
 # Install into the libbutl/ subdirectory of, say, /usr/include/
 # recreating subdirectories.
 #
-{hxx ixx txx}{*}:
+{h hxx ixx txx}{*}:
 {
   install         = include/libbutl/
   install.subdirs = true

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions