From: Michael Nosthoff <buildroot@heine.tech>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] package/libgpiod: bump to version 1.6.2
Date: Mon, 01 Feb 2021 14:39:34 +0100 [thread overview]
Message-ID: <39b-60180480-3-547e1400@130070482> (raw)
In-Reply-To: <6b1-6017d800-5-32d73800@194734800>
Bartosz,
I just noticed there is another build issue with the 1.6.2 release and I'm trying to get my head around how to best fix it.
When I make a clean build with C++ enabled the Buildroot build fails with this messages:
make[5]: Entering directory '/build/output/build/libgpiod-1.6.2/bindings/cxx/examples'
/build/output/host/bin/arm-none-linux-gnueabihf-g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../bindings/cxx/ -I../../../include -Wall -Wextra -g -std=gnu++11 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D
_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c -o gpiodetectcxx.o gpiodetectcxx.cpp
/build/output/host/bin/arm-none-linux-gnueabihf-g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../bindings/cxx/ -I../../../include -Wall -Wextra -g -std=gnu++11 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D
_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c -o gpiofindcxx.o gpiofindcxx.cpp
/build/output/host/bin/arm-none-linux-gnueabihf-g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../bindings/cxx/ -I../../../include -Wall -Wextra -g -std=gnu++11 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D
_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c -o gpiogetcxx.o gpiogetcxx.cpp
/build/output/host/bin/arm-none-linux-gnueabihf-g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../bindings/cxx/ -I../../../include -Wall -Wextra -g -std=gnu++11 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D
_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c -o gpioinfocxx.o gpioinfocxx.cpp
/build/output/host/bin/arm-none-linux-gnueabihf-g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../bindings/cxx/ -I../../../include -Wall -Wextra -g -std=gnu++11 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D
_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c -o gpiomoncxx.o gpiomoncxx.cpp
/build/output/host/bin/arm-none-linux-gnueabihf-g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../bindings/cxx/ -I../../../include -Wall -Wextra -g -std=gnu++11 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D
_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c -o gpiosetcxx.o gpiosetcxx.cpp
/bin/bash ../../../libtool --tag=CXX --mode=link /build/output/host/bin/arm-none-linux-gnueabihf-g++ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -lgpiodcxx -L../../../bindings/cxx/ -o gpiofindcxx gpiofindcxx.o
/bin/bash ../../../libtool --tag=CXX --mode=link /build/output/host/bin/arm-none-linux-gnueabihf-g++ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -lgpiodcxx -L../../../bindings/cxx/ -o gpiodetectcxx gpiodetectcxx.o
libtool: link: /build/output/host/bin/arm-none-linux-gnueabihf-g++ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -o gpiofindcxx gpiofindcxx.o /build/output/build/libgpiod-1.6.2/bindings/cxx/.libs/li
bgpiodcxx.so -L../../../bindings/cxx/ -Wl,-rpath -Wl,/build/output/build/libgpiod-1.6.2/bindings/cxx/.libs
/bin/bash ../../../libtool --tag=CXX --mode=link /build/output/host/bin/arm-none-linux-gnueabihf-g++ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -lgpiodcxx -L../../../bindings/cxx/ -o gpioinfocxx gpioinfocxx.o
libtool: link: /build/output/host/bin/arm-none-linux-gnueabihf-g++ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -o gpiodetectcxx gpiodetectcxx.o /build/output/build/libgpiod-1.6.2/bindings/cxx/.lib
s/libgpiodcxx.so -L../../../bindings/cxx/ -Wl,-rpath -Wl,/build/output/build/libgpiod-1.6.2/bindings/cxx/.libs
/build/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/9.2.1/../../../../arm-none-linux-gnueabihf/bin/ld: /build/output/build/libgpiod-1.6.2/bindings/cxx/.libs/libgpiodcxx.so: undefined reference to `
gpiod_line_bias'
/build/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/9.2.1/../../../../arm-none-linux-gnueabihf/bin/ld: /build/output/build/libgpiod-1.6.2/bindings/cxx/.libs/libgpiodcxx.so: undefined reference to `
gpiod_line_set_direction_output_bulk'
/build/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/9.2.1/../../../../arm-none-linux-gnueabihf/bin/ld: /build/output/build/libgpiod-1.6.2/bindings/cxx/.libs/libgpiodcxx.so: undefined reference to `
gpiod_line_set_config_bulk'
/build/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/9.2.1/../../../../arm-none-linux-gnueabihf/bin/ld: /build/output/build/libgpiod-1.6.2/bindings/cxx/.libs/libgpiodcxx.so: undefined reference to `
gpiod_line_set_direction_input_bulk'
/build/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/9.2.1/../../../../arm-none-linux-gnueabihf/bin/ld: /build/output/build/libgpiod-1.6.2/bindings/cxx/.libs/libgpiodcxx.so: undefined reference to `
gpiod_line_event_read_multiple'
/build/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-none-linux-gnueabihf/9.2.1/../../../../arm-none-linux-gnueabihf/bin/ld: /build/output/build/libgpiod-1.6.2/bindings/cxx/.libs/libgpiodcxx.so: undefined reference to `
gpiod_line_set_flags_bulk'
collect2: error: ld returned 1 exit status
When building regularly on a clean Linux system I don't have any troubles.
If I build on a Buildroot target which already has some version of libgpiod built it works. (e.g. when bumping the version without make clean).
So it seems that the build doesn't find the libgpiod.so that was just built inside the build directory. My guess is it has something to do with the libtools workarounds for cross-compiling (My knowledge of autotools/libtool is limited here.).
But before I dig deeper into why this fails my question would be: does the bindings/cpp/examples directory really need to be build? In the 1.4.x branch it was not built by default. Now it is changed to a "noinst" target. So it gets build but won't be deployed to the target anyways.
Maybe you have an Idea how this could be easily fixed. My (not so nice) solution for now would be to patch out the examples directory. But this is really a last ressort...
Regards,
Michael
next prev parent reply other threads:[~2021-02-01 13:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-01 9:12 [Buildroot] [PATCH] package/libgpiod: bump to version 1.6.2 Michael Nosthoff
2021-02-01 9:55 ` Bartosz Golaszewski
2021-02-01 10:29 ` Michael Nosthoff
2021-02-01 13:39 ` Michael Nosthoff [this message]
2021-02-02 15:41 ` Bartosz Golaszewski
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=39b-60180480-3-547e1400@130070482 \
--to=buildroot@heine.tech \
--cc=buildroot@busybox.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox