Skip to content

Installing libff (via libsnark) results in awkward header structure #16

Closed
@copumpkin

Description

@copumpkin

For example, libsnark depends on libff, and using a header from libsnark gives me the following error:

In file included from /nix/store/glnz76ald47lz78al77wq98my1qn6dmi-libsnark-pre9e6b19ff/include/libsnark/common/default_types/r1cs_ppzksnark_pp.hpp:16:
In file included from /nix/store/glnz76ald47lz78al77wq98my1qn6dmi-libsnark-pre9e6b19ff/include/libff/common/default_types/ec_pp.hpp:28:
In file included from /nix/store/glnz76ald47lz78al77wq98my1qn6dmi-libsnark-pre9e6b19ff/include/libff/algebra/curves/bn128/bn128_pp.hpp:10:
/nix/store/glnz76ald47lz78al77wq98my1qn6dmi-libsnark-pre9e6b19ff/include/libff/algebra/curves/bn128/bn128_g1.hpp:12:10: fatal error: 'depends/ate-pairing/include/bn.h' file not found
#include "depends/ate-pairing/include/bn.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

As far as I can tell, this is because the "public" header bn128_g1.hpp includes a header from the depends folder, which doesn't get installed with any of the standard scripts, so downstream packages can't use it easily without messing with their include directories.

Metadata

Metadata

Assignees

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