All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kent Gibson <warthog618@gmail.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-gpio@vger.kernel.org, Bartosz Golaszewski <brgl@bgdev.pl>,
	erik.schilling@linaro.org
Subject: Re: [libgpiod][bug] building rust bindings requires clang headers
Date: Fri, 9 Jun 2023 14:21:15 +0800	[thread overview]
Message-ID: <ZILE258m92XrBvNP@sol> (raw)
In-Reply-To: <20230609061812.4haoqdyinsp47zet@vireshk-i7>

On Fri, Jun 09, 2023 at 11:48:12AM +0530, Viresh Kumar wrote:
> On 09-06-23, 10:37, Kent Gibson wrote:
> > 
> > When trying to build the libgpiod rust bindings on my Debian bullseye VM I get:
> > 
> >    Compiling gpiosim-sys v0.1.0 (/home/dev/libgpiod/bindings/rust/gpiosim-sys)
> > error: failed to run custom build command for `gpiosim-sys v0.1.0 (/home/dev/libgpiod/bindings/rust/gpiosim-sys)`
> > 
> > Caused by:
> >   process didn't exit successfully: `/home/dev/libgpiod/bindings/rust/target/release/build/gpiosim-sys-dfa257ecee3f0e2e/build-script-build` (exit status: 101)
> >   --- stdout
> >   cargo:rerun-if-changed=../../../tests/gpiosim/gpiosim.h
> > 
> >   --- stderr
> >   ../../../tests/gpiosim/gpiosim.h:7:10: fatal error: 'stdbool.h' file not found
> >   thread 'main' panicked at 'Unable to generate bindings: ClangDiagnostic("../../../tests/gpiosim/gpiosim.h:7:10: fatal error: 'stdbool.h' file not found\n")', gpiosim-sys/build.rs:27:10
> >   note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
> > 
> > The source of the error appears to be bindgen using libclang to parse
> > the gpiosim header, and that failing if the requisite headers are not
> > installed.
> > 
> > If I install them:
> > 
> > apt install libclang-common-11-dev
> > 
> > the build passes.
> > 
> > Can a dependency be added to the autotools configuration to check for
> > the availability of those headers if building the rust bindings?
> 
> I am not very experienced with autotools, but won't something like this help ?
> 
> AC_CHECK_HEADERS([stdbool.h], [], [HEADER_NOT_FOUND_LIB([stdbool.h])])
> 

I think that is what the AC_HEADER_STDBOOL already does - but that
detects the gcc header, and the additional check needs to be for the clang
header.

Unless you can convince clang to use the gcc headers?

Cheers,
Kent.

> > I would add it myself, but I'm not sure how - or if there is some better
> > solution.
> > The configure.ac already has a AC_HEADER_STDBOOL, but that checks for
> > the gcc headers, not clang.
> 
> -- 
> viresh

  reply	other threads:[~2023-06-09  6:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-09  2:37 [libgpiod][bug] building rust bindings requires clang headers Kent Gibson
2023-06-09  6:18 ` Viresh Kumar
2023-06-09  6:21   ` Kent Gibson [this message]
2023-06-09  6:24     ` Viresh Kumar
2023-06-10  5:27       ` Kent Gibson
2023-06-12  5:26         ` Erik Schilling
2023-06-12  7:32           ` Kent Gibson
2023-06-12 11:16             ` Erik Schilling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZILE258m92XrBvNP@sol \
    --to=warthog618@gmail.com \
    --cc=brgl@bgdev.pl \
    --cc=erik.schilling@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.