* [Bluez-devel] Error compiling bluez-utils for buildroot/ARM
@ 2005-03-17 9:52 Stephan Henningsen
2005-03-17 11:14 ` Marcel Holtmann
0 siblings, 1 reply; 7+ messages in thread
From: Stephan Henningsen @ 2005-03-17 9:52 UTC (permalink / raw)
To: bluez-devel
[-- Attachment #1: Type: text/plain, Size: 4056 bytes --]
Hi,
This is not about a bug in bluez-utils, but I would like some help
integrating BlueZ into the buildroot crossplatform environment.
I've made two packages (i.e. Config.in and .mk file) for the
buildroot environment, that should support bluez-libs and
bluez-utils. The libs appear to install smoothly, but the utils
fail during configure.
I've attached both the packages in a .tar.gz which can be extracted
into buildroot/package/ where it will create both BlueZ packages.
These packages basically delegate to the Makefile of BlueZ, so you
guys should be home free ;)
The attached packages result in this error, when installing bluez-libs:
sth@speedball:~/au/buildroot$ make bluez-utils-dirclean bluez-utils
rm -rf /home/sth/au/buildroot/build_arm/bluez-utils-2.15
zcat /home/sth/au/buildroot/dl/bluez-utils-2.15.tar.gz | tar -C
/home/sth/au/buildroot/build_arm -xf -
touch /home/sth/au/buildroot/build_arm/bluez-utils-2.15/.source
(cd /home/sth/au/buildroot/build_arm/bluez-utils-2.15; \
PATH=/home/sth/au/buildroot/build_arm/staging_dir/bin:/bin:/sbin:/usr/bin:/usr/sbin
AR=/home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-ar
AS=/home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-as
LD=/home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-ld
NM=/home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-nm
CC=/home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc
GCC=/home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc
CXX=/home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-g++
RANLIB=/home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-ranlib
\
CFLAGS="-Os -pipe " \
./configure \
--target=arm-linux \
--host=arm-linux \
--build=i386-pc-linux-gnu \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--datadir=/usr/share \
--sysconfdir=/etc \
--localstatedir=/var \
--infodir=/usr/info \
--mandir=/usr/man \
--with-bluez=/usr \
);
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
...
...
...
checking bluetooth/bluetooth.h usability... yes
checking bluetooth/bluetooth.h presence... yes
checking for bluetooth/bluetooth.h... yes
checking for hci_open_dev in -lbluetooth... no
configure: error: Bluetooth library not found
make: ***
[/home/sth/au/buildroot/build_arm/bluez-utils-2.15/.configured] Error 1
sth@speedball:~/au/buildroot$
If I add --libdir=${TARGET_DIR}/usr/lib (which expands to
--libdir=/home/sth/au/buildroot/build_arm/root/usr/lib) to the
configure command, the configuring succeeds, but compilation fails:
...
/home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc
-I/usr/include -DDBUS_API_SUBJECT_TO_CHANGE -Os -pipe -o hcid
main.o security.o storage.o lib.o parser.o lexer.o kword.o
glib-ectomy.o -L/home/sth/au/buildroot/build_arm/root/usr/lib
-lbluetooth
lexer.o(.text+0x7e0): In function `yy_get_next_buffer':
: undefined reference to `_IO_getc'
collect2: ld returned 1 exit status
make[3]: *** [hcid] Error 1
make[3]: Leaving directory
`/home/sth/au/buildroot/build_arm/bluez-utils-2.15/hcid'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/sth/au/buildroot/build_arm/bluez-utils-2.15'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/sth/au/buildroot/build_arm/bluez-utils-2.15'
make: ***
[/home/sth/au/buildroot/build_arm/bluez-utils-2.15/src/l2ping.o] Error 2
sth@speedball:~/au/buildroot$
I am new to buildroot and not very experinced with compiler flags,
especially not in a cross-compile environment. For all I know, the
extra --libdir may very well result in a hardcoded path, that
doesn't resolve on the target system.
Any help is appreciated as I am stuck!
--
Stephan Henningsen
[-- Attachment #2: bluez-packages.tar.bz --]
[-- Type: application/octet-stream, Size: 1433 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [Bluez-devel] Error compiling bluez-utils for buildroot/ARM
2005-03-17 9:52 [Bluez-devel] Error compiling bluez-utils for buildroot/ARM Stephan Henningsen
@ 2005-03-17 11:14 ` Marcel Holtmann
2005-03-17 11:59 ` Stephan Henningsen
2005-03-17 13:18 ` Stephan Henningsen
0 siblings, 2 replies; 7+ messages in thread
From: Marcel Holtmann @ 2005-03-17 11:14 UTC (permalink / raw)
To: BlueZ Mailing List
Hi Stephan,
> If I add --libdir=${TARGET_DIR}/usr/lib (which expands to
> --libdir=/home/sth/au/buildroot/build_arm/root/usr/lib) to the
> configure command, the configuring succeeds, but compilation fails:
>
> ...
>
> /home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc
> -I/usr/include -DDBUS_API_SUBJECT_TO_CHANGE -Os -pipe -o hcid
> main.o security.o storage.o lib.o parser.o lexer.o kword.o
> glib-ectomy.o -L/home/sth/au/buildroot/build_arm/root/usr/lib
> -lbluetooth
> lexer.o(.text+0x7e0): In function `yy_get_next_buffer':
> : undefined reference to `_IO_getc'
> collect2: ld returned 1 exit status
this looks like we have a problem with the generated code for the
parser. Try to remove parser.[ch] and lexer.c. Maybe you need to add
another library for the target platform to provide _IO_getc().
Regards
Marcel
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [Bluez-devel] Error compiling bluez-utils for buildroot/ARM
2005-03-17 11:14 ` Marcel Holtmann
@ 2005-03-17 11:59 ` Stephan Henningsen
2005-03-17 12:38 ` Marcel Holtmann
2005-03-17 13:18 ` Stephan Henningsen
1 sibling, 1 reply; 7+ messages in thread
From: Stephan Henningsen @ 2005-03-17 11:59 UTC (permalink / raw)
To: bluez-devel
Hi,
Marcel Holtmann wrote:
> this looks like we have a problem with the generated code for the
> parser. Try to remove parser.[ch] and lexer.c. Maybe you need to add
> another library for the target platform to provide _IO_getc().
I am not sure what you mean, but I did the following with the same
unsuccessful result:
From buildroot/ I did:
sth@speedball:~/au/buildroot$ make bluez-utils-cleandir \
bluez-utils-configure
<blahblah..successful>
sth@speedball:~/au/buildroot$ rm \
build_arm/bluez-utils-2.15/*/parser.[ch] \
build_arm/bluez-utils-2.15/*/lexer.c -fv
removed `build_arm/bluez-utils-2.15/hcid/parser.c'
removed `build_arm/bluez-utils-2.15/hcid/parser.h'
removed `build_arm/bluez-utils-2.15/rfcomm/parser.c'
removed `build_arm/bluez-utils-2.15/rfcomm/parser.h'
removed `build_arm/bluez-utils-2.15/hcid/lexer.c'
removed `build_arm/bluez-utils-2.15/rfcomm/lexer.c'
sth@speedball:~/au/buildroot$ make bluez-utils
<blahblah>
/home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc
-I/usr/include -DDBUS_API_SUBJECT_TO_CHANGE -Os -pipe
-L/home/sth/au/buildroot/build_arm/root/usr/lib -o hcid main.o
security.o storage.o lib.o parser.o lexer.o kword.o glib-ectomy.o
-lbluetooth
lexer.o(.text+0x7e0): In function `yy_get_next_buffer':
: undefined reference to `_IO_getc'
collect2: ld returned 1 exit status
make[3]: *** [hcid] Error 1
make[3]: Leaving directory
`/home/sth/au/buildroot/build_arm/bluez-utils-2.15/hcid'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/sth/au/buildroot/build_arm/bluez-utils-2.15'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/sth/au/buildroot/build_arm/bluez-utils-2.15'
make: ***
[/home/sth/au/buildroot/build_arm/bluez-utils-2.15/src/l2ping.o] Error 2
sth@speedball:~/au/buildroot$
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bluez-devel] Error compiling bluez-utils for buildroot/ARM
2005-03-17 11:59 ` Stephan Henningsen
@ 2005-03-17 12:38 ` Marcel Holtmann
2005-03-17 13:20 ` Stephan Henningsen
0 siblings, 1 reply; 7+ messages in thread
From: Marcel Holtmann @ 2005-03-17 12:38 UTC (permalink / raw)
To: BlueZ Mailing List
Hi Stephan,
> > this looks like we have a problem with the generated code for the
> > parser. Try to remove parser.[ch] and lexer.c. Maybe you need to add
> > another library for the target platform to provide _IO_getc().
>
> I am not sure what you mean, but I did the following with the same
> unsuccessful result:
>
> From buildroot/ I did:
>
> sth@speedball:~/au/buildroot$ make bluez-utils-cleandir \
> bluez-utils-configure
> <blahblah..successful>
> sth@speedball:~/au/buildroot$ rm \
> build_arm/bluez-utils-2.15/*/parser.[ch] \
> build_arm/bluez-utils-2.15/*/lexer.c -fv
> removed `build_arm/bluez-utils-2.15/hcid/parser.c'
> removed `build_arm/bluez-utils-2.15/hcid/parser.h'
> removed `build_arm/bluez-utils-2.15/rfcomm/parser.c'
> removed `build_arm/bluez-utils-2.15/rfcomm/parser.h'
> removed `build_arm/bluez-utils-2.15/hcid/lexer.c'
> removed `build_arm/bluez-utils-2.15/rfcomm/lexer.c'
> sth@speedball:~/au/buildroot$ make bluez-utils
>
> <blahblah>
> /home/sth/au/buildroot/build_arm/staging_dir/bin/arm-linux-uclibc-gcc
> -I/usr/include -DDBUS_API_SUBJECT_TO_CHANGE -Os -pipe
> -L/home/sth/au/buildroot/build_arm/root/usr/lib -o hcid main.o
> security.o storage.o lib.o parser.o lexer.o kword.o glib-ectomy.o
> -lbluetooth
> lexer.o(.text+0x7e0): In function `yy_get_next_buffer':
> : undefined reference to `_IO_getc'
> collect2: ld returned 1 exit status
> make[3]: *** [hcid] Error 1
> make[3]: Leaving directory
> `/home/sth/au/buildroot/build_arm/bluez-utils-2.15/hcid'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory
> `/home/sth/au/buildroot/build_arm/bluez-utils-2.15'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory
> `/home/sth/au/buildroot/build_arm/bluez-utils-2.15'
> make: ***
> [/home/sth/au/buildroot/build_arm/bluez-utils-2.15/src/l2ping.o] Error 2
> sth@speedball:~/au/buildroot$
then you must find the library that provides _IO_getc() or replace yacc
or bison to generate correct code for your platform.
Regards
Marcel
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bluez-devel] Error compiling bluez-utils for buildroot/ARM
2005-03-17 11:14 ` Marcel Holtmann
2005-03-17 11:59 ` Stephan Henningsen
@ 2005-03-17 13:18 ` Stephan Henningsen
2005-03-17 13:36 ` Stephan Henningsen
1 sibling, 1 reply; 7+ messages in thread
From: Stephan Henningsen @ 2005-03-17 13:18 UTC (permalink / raw)
To: bluez-devel
Ok, I've discovered some weird things, one of them may very well be
a bug in the build scripts of bluez-libs which isn't normally unless
compiling for another target.
Any help clairfying these errors would be of great help:
Bluez-libs: --------------------------------------------------------
I cannot get bluez-libs installed where I want; The header files and
the library files seem to install relative to different paths.
First of all, I configure bluez-libs like this (in my buildroot
script, bluez-libs.mk):
$(BLUEZLIBS_DIR)/.configured: $(BLUEZLIBS_DIR)/.source
(cd $(BLUEZLIBS_DIR); \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--sysconfdir=/etc \
--datadir=/usr/share \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
);
touch $(BLUEZLIBS_DIR)/.configured;
Now I use two different install-targets to cover a complete
installation:
First I have my install-target do this:
$(MAKE) prefix=$(TARGET_DIR)/usr -C $(BLUEZLIBS_DIR) install
..which results in this error durring installation (line breaks in
the e-mail make everything even more difficult, so I've added the
'\' to join breaked lines):
/bin/sh ../libtool --mode=install /usr/bin/install -c \
libbluetooth.la /usr/lib/libbluetooth.la
/usr/bin/install -c .libs/libbluetooth.so.1.0.15 \
/usr/lib/libbluetooth.so.1.0.15
/usr/bin/install: cannot remove `/usr/lib/libbluetooth.so.1.0.15': \
Permission denied
Seems to me like the library files ignore the DESTIDIR. The header
files, however, are installed properly under
$(TARGET_DIR)/usr/include (bluetooth/bluetooth.h and friends).
Now I change my install-target to do this (added DESTDIR):
$(MAKE) DESTDIR=$(TARGET_DIR) prefix=$(TARGET_DIR)/usr \
-C $(BLUEZLIBS_DIR) install
..which installs incorrectly but without any error messages. The
library files are installed $(TARGET_DIR)/usr/lib BUT the header
files are installed under
$(TARGET_DIR)/home/sth/au/buildroot/build_arm/root/usr/include
where $(TARGET_DIR) is in fact /home/sth/au/buildroot/build_arm/root.
So two different prefixes are in use (with my current and possibly
wrong configuration).
Anyway! Though errors occured and files are dublicated and
misplaced, at least now bluez-libs is installed completely on the
target system! ;) This brings me to my second problem with bluez-utils.
Bluez-utils: -------------------------------------------------------
This is weird: I can build the bluez-utils manually, i.e. without
the help of buildroot's scripts but with the help of its toolchain),
but still not the right way (with buildroot's script).
For building bluez-tools manually I do this:
sth@speedball:~/au/buildroot$ make bluez-utils-dirclean
sth@speedball:~/au/buildroot$ make bluez-utils-source
sth@speedball:~/au/buildroot$ cd build_arm/
sth@speedball:~/au/buildroot/build_arm$ tar zxfv \
../dl/bluez-utils-2.15.tar.gz
sth@speedball:~/au/buildroot/build_arm$ cd bluez-utils-2.15/
sth@speedball:~/au/buildroot/build_arm/bluez-utils-2.15$ export \
PATH=/home/sth/au/buildroot/build_arm/staging_dir/bin/:$PATH
sth@speedball:~/au/buildroot/build_arm/bluez-utils-2.15$ \
LDFLAGS="-L/home/sth/au/buildroot/build_arm/root/" \
./configure --host=arm-linux-uclibc \
--build=i686-pc-linux-gnu \
--prefix="/home/sth/au/buildroot/build_arm/root/usr"
This builds bluez-libs successfully!
But doing it the buildroot-way like this, fails:
The configure target:
(cd $(BLUEZUTILS_DIR); \
$(TARGET_CONFIGURE_OPTS) \
LDFLAGS="-L$(TARGET_DIR)/usr/lib" \
CFLAGS="$(TARGET_CFLAGS)" \
CPPFLAGS="-I$(TARGET_DIR)/usr/include" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--libexecdir=/usr/lib \
--libdir=$(TARGET_DIR)/usr/include \
--includedir=$(TARGET_DIR)/usr/include \
--datadir=/usr/share \
--sysconfdir=/etc \
--localstatedir=/var \
--infodir=/usr/info \
--mandir=/usr/man \
--with-bluez=/usr \
);
touch $(BLUEZUTILS_DIR)/.configured;
The compile target:
$(MAKE) DESTDIR=$(TARGET_DIR) prefix=$(TARGET_DIR)/usr \
-C $(BLUEZUTILS_DIR) install
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Bluez-devel] Error compiling bluez-utils for buildroot/ARM
2005-03-17 13:18 ` Stephan Henningsen
@ 2005-03-17 13:36 ` Stephan Henningsen
0 siblings, 0 replies; 7+ messages in thread
From: Stephan Henningsen @ 2005-03-17 13:36 UTC (permalink / raw)
To: bluez-devel
> Bluez-libs: --------------------------------------------------------
>
> I cannot get bluez-libs installed where I want; The header files and the
> library files seem to install relative to different paths.
This part works now. Seems like I did mess up the parameters after
all. So bluez-libs compiles and installes correctly now, ie. no
errors and the files appear in the tree as expected.
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-03-17 13:36 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-17 9:52 [Bluez-devel] Error compiling bluez-utils for buildroot/ARM Stephan Henningsen
2005-03-17 11:14 ` Marcel Holtmann
2005-03-17 11:59 ` Stephan Henningsen
2005-03-17 12:38 ` Marcel Holtmann
2005-03-17 13:20 ` Stephan Henningsen
2005-03-17 13:18 ` Stephan Henningsen
2005-03-17 13:36 ` Stephan Henningsen
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.