|
1) the configure script is AUTOGENTERATED by the autoconf tool set. There's generally no good that can come from messing about in it.
2) I have told you several times use --host=arm-linux-gnueabihf.
From your post 3 days ago:
Quote: sudo ./configure --prefix=/usr/local/BLUEZ/bluez-5.50 --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-library --disable-systemd --host=armv7l-unknown-linux-gnueabihf
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for armv7l-unknown-linux-gnueabihf-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking for style of include used by make... GNU
checking for armv7l-unknown-linux-gnueabihf-gcc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
Now, I would expect anyone paying any attention (and surely anyone who's as nit-picky as you seem to be) to think to themselves:
Hmm ... looks like the configure script is trying to use armv7l-unknown-linux-gnueabihf-gcc. That prefix is what I supplied as the value of the --host argument. I don't have arm7l-unkown-linux-gneabihf-gcc on my system. I do have, however arm-linux-gnueabihf-gcc - maybe I'll try --host=arm-linux-gneuabihf and see if that works.
And lo-and-behold configure completes, and you can start make. and wonder of wonders it uses arm-linux-gnueabihf-gcc, just like we want it too. Result!
BUT,BUT, and again BUT: until you've got the prerequisites (GLib, D-Bus) built for armhf make will fail anyway!
3) if you do some googling around for autoconf --target you should find information about the so called candian cross Cross-Compilation (automake). Take the time to read down to the bottom of the page. There it tells you that --target is used when compiling compiler tools i.e. ld, ar, as, etc (binutils) in a three-way cross-compilation. For example, when you are compiling binutils on an X86 to run on an armhf but will produce code for PowerPC. --target has NOTHING to do with cross compiling in the normal way. I have not tried it by suspect that since configure is AUTOGENERATED that the --target option always shows up in the script, whether its required or not.
Now, stop elephanting around.
|
|
|
|
|
pi@pi $ sudo bash config.guess
armv7l-unknown-linux-gnueabihf
|
|
|
|
|
Stop using sudo for everything. That's like using Run as Administrator all the time.
As it happens, I do know what I'm talking about. As an example I'll cross compile grep for you. grep does have an optional dependency on libpcre - perl regular expressions, which I won't complicate this by also compiling. Fortunately we can disable that by using --disable-perl-regex
$ ls
grep-3.0 grep-3.0.tar.xz
configure can build in a directory other than the source directory, so lets do that. We'll use --prefx=$HOME/apt so we don't need to use sudo to install.
$ mkdir build
$ cd build
$ ../grep-3.0/configure --host=arm-linux-gnueabihf --prefix=$HOME/arm --disable-perl-regexp > configure.out 2>&1 && echo Success || echo Failed
Success
did we configure for cross compile?
$ grep cross configure.out
checking whether we are cross compiling... yes
checking for working fcntl.h... cross-compiling
lets make and install ...
$ make > make.out 2>&1 && echo Success || echo Failure
Success
$ ls $HOME/arm
ls: cannot access '/home/k5054/arm': No such file or directory
$ make install > make_install.out 2>&1 && echo Success || echo Failure
Success
so far so good ... lets see what I have in $HOME/arm
$ cd $HOME/arm
$ ls
bin share
$ cd bin
$ ls
egrep fgrep grep
$ file *
egrep: POSIX shell script, ASCII text executable
fgrep: POSIX shell script, ASCII text executable
grep: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 3.2.0, BuildID[sha1]=b44e80774f0b6413d50f10c1bd7f57d10e88a6af, with debug_info, not stripped
so we've got an ARM EABI5 executable for $HOME/arm/bin/grep. how does that compare to /bin/grep?
$ file /bin/grep
/bin/grep: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=0b72a4b88afe6711c7154541e1f002331041c71f, stripped
so that's an X86_64 executable ... things are looking good, lets copy that over to the pi and see if it will work
$ scp -r -q arm pi3:
$ ssh pi3
Linux pi3 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l
Last login: Thu Mar 28 00:33:06 2019 from 192.168.235.202
lets test arm/bin/grep
k5054@pi3:~ $ ./arm/bin/grep --version
grep (GNU grep) 3.0
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
that worked! how does that compare to /bin/grep?
k5054@pi3:~ $ /bin/grep --version
grep (GNU grep) 2.27
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
it's a different version, very good! - now lets try a grep pattern, and count the number of times the word "is" appears in the version text of /bin/grep
k5054@pi3:~ $ /bin/grep --version | arm/bin/grep -c '\<is\>'
2
looks like my cross-compiled grep is working fine
k5054@pi3:~ $ logout
well, looks like that all worked -- seems --host=arm-linux-gnueabihf is the right thing after all
|
|
|
|
|
I hope this is my last post on bluez package.
I made wrong choice.
END OF STORY
FYI update
guess what I DID NOT find in "configure"?
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
#CCC ADD
# looks as there is no NEED for target
_ACEOF
Will update - pending actual test of the bluez build and C++ link.
This is a SPECIFIC follow-up on the original post.
If you have an issue with this - please ignore me.
I have managed to recompile Linux "stack " - bluez for armhf
sudo dpkg -l "bluez"
[sudo] password for jim:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii bluez:armhf 5.50-1 armhf bluez-5.50
I have verified that I do have "libbluetooth.so" file linked via -L option and linker did same.
I am still getting this error telling me the file format is wrong.
Is it possible that gcc crosscompile prefix arm-linux-gnueabihf and "bluez" package architecture armhf is causing this?
I did try to checkinstall for arm-linux-gnueabihf architecture but it did not go.
I also build same package for armv7l architecture with same results.
-L/usr/local/BLUEZ/bluez-5.50/lib -L/usr/lib/gcc-cross/arm-linux-gnueabihf/5 -L/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/lib/../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/lib ./src/BLUE_CROSS.o -lbluetooth -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc-cross/arm-linux-gnueabihf/5/crtend.o /usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/lib/../lib/crtn.o
/usr/local/BLUEZ/bluez-5.50/lib/libbluetooth.so: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
makefile:45: recipe for target 'BLUE_CROSS_193210' failed
modified 1-Apr-19 11:52am.
|
|
|
|
|
what does file /usr/local/BLUEZ/bluez-5.50/lib/libbluetooth.so return? If it is not ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV) , then you need to review your installation of the bluez library for armhf.
|
|
|
|
|
"return"?
Forgive me my ignorance , but how do I do that?
jim@jim-desktop:/usr/local/BLUEZ/bluez-5.50/lib$ ls
a2mp.h cmtp.h libbluetooth.la sdp.h
amp.h cups libbluetooth.so sdp_lib.h
bluetooth hci.c libbluetooth.so.3 sdp.lo
bluetooth.c hci.h libbluetooth.so.3.18.16 uuid.c
bluetooth.h hci_lib.h mgmt.h uuid.h
bluetooth.lo hci.lo pkgconfig uuid.lo
bluez.pc hidp.h rfcomm.h
bluez.pc.in l2cap.h sco.h
bnep.h libbluetooth-internal.la sdp.c
jim@jim-desktop:/usr/local/BLUEZ/bluez-5.50/lib$ file libbluetooth.so
libbluetooth.so: symbolic link to libbluetooth.so.3.18.16
<pre lang="text">
jim@jim-desktop:/usr/local/BLUEZ/bluez-5.50/lib$ stat libbluetooth.so
File: 'libbluetooth.so' -> 'libbluetooth.so.3.18.16'
Size: 23 Blocks: 0 IO Block: 4096 symbolic link
Device: 812h/2066d Inode: 919828 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-03-22 11:41:14.976991502 -0500
Modify: 2019-03-22 11:09:42.000000000 -0500
Change: 2019-03-22 11:29:48.319241561 -0500
Birth: -
modified 22-Mar-19 19:37pm.
|
|
|
|
|
|
OK, I missed the "symbolic link".
Now I need to go back to "configure" to find out why the library is build for host and
not the target.
Thanks very much for your help, appreciate it,
PS
It would have been helpful if the linker told me this.
Maybe there is an option somewhere to do that.
jim@jim-desktop:/usr/local/BLUEZ/bluez-5.50/lib$ ls
cups libbluetooth.la libbluetooth.so libbluetooth.so.3 libbluetooth.so.3.18.16 pkgconfig
jim@jim-desktop:/usr/local/BLUEZ/bluez-5.50/lib$ file libbluetooth.so.3.18.16
libbluetooth.so.3.18.16: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=55d60353934d3672e2c88fbc64ceaba37c4d0442, not stripped
jim@jim-desktop:/usr/local/BLUEZ/bluez-5.50/lib$ file libbluetooth.so
libbluetooth.so: symbolic link to libbluetooth.so.3.18.16
jim@jim-desktop:/usr/local/BLUEZ/bluez-5.50/lib$ file libbluetooth.so.3
|
|
|
|
|
Vaclav_ wrote: It would have been helpful if the linker told me this. The linker's role is to combine different object code files into an executable. It expects all objects to be in the correct format, so if they are not then it can only reject them. It cannot be expected to analyse the content of every 'foreign' object to tell the user what it is.
|
|
|
|
|
You can check where your apt installed your package using
$ dpkg -L bluez
/.
/bin
/bin/hciconfig
/etc
/etc/bluetooth
/etc/bluetooth/input.conf
/etc/bluetooth/main.conf
...
/usr/share/man/man1/rctest.1.gz
/usr/share/man/man1/rfcomm.1.gz
/usr/share/man/man1/sdptool.1.gz
/usr/share/man/man8
/usr/share/man/man8/bluetoothd.8.gz
/usr/sbin/bluetoothd
$
Note that if you're querying packages, you don't need to sudo to execute dpkg. Also note that the normal package for bluez does not include libbluetooth. For that you need packages libbluetooth3 and libbluetooth-dev (for headers, etc).
$ dpkg -L bluez | grep libbluetooth.so
$ dpkg -L libbluetooth3 | grep libbluetooth.so
/usr/lib/arm-linux-gnueabihf/libbluetooth.so.3.18.14
/usr/lib/arm-linux-gnueabihf/libbluetooth.so.3
$ dpkg -L libbluetooth-dev | grep libbluetooth.so
/usr/lib/arm-linux-gnueabihf/libbluetooth.so
$
I expect if you've built these packages for armhf and installed them on your X86 sytem, then they may not be in the locations listed here.
|
|
|
|
|
Thanks for reply.
After Richard's post I can correctly identify the file wrong architecture - as already suspected and reported by the linker.
Upon preliminary investigation it looks as "bluez" package "configure" is flaky.
It's sketchy documentation clearly states that it is smart enough to sort-of self option itself.
I can prove otherwise as far as --build, --host and --target options go.
I really do not care how it "automatically " determines them, but it totally ignores --target when given as an option!
Not only that - it also selectively ignores other architecture options.
I can provide "configure" file outputs if anybody cares.
Here is a snippet
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
Yes, I did search for "target" - nothing , nada
The real question is - how to resolve this?
www.bluez.org is useless
Ubuntu forum probably does not care
other forums are off limits and I really do not want to be just statistic anyway
If it is bug - where do I go next?
I guess learn how to edit "configure " is my real option.
But I need to verify if the target architecture I am using is valid , since I cannot rely on "configure" to tell me !
For example - this passed --target=armv7l, but was ignored.
I am open to suggestions,
|
|
|
|
|
Try opening the configure script with your favourite editor and do a search for the keywords mentioned above. You should then be able to see what options it is able to handle.
|
|
|
|
|
Did that already.
There is no "checking ..target..." similar to "host" and "build".
|
|
|
|
|
where did this come from? Your X86 or your PI?
sudo dpkg -l "bluez"
[sudo] password for jim:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii bluez:armhf 5.50-1 armhf bluez-5.50
Are you building a .deb package on the X86 and installing it there? If so then presumably you might also have libbluetooth and libbluetooth-dev packages that you could install also which reduce the pain you're going through.
Vaclav_ wrote: checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
From configure --help
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
If you don't specify --host, the default is the same as for --build (which configure will guess at using config.guess. For a PI, the host should be
arm-linux-gnueabihf I think I figured that out because I tried something like host=arm7 and you get a configure error saying something like arm7-gcc not found.
You do realize that you're going down a rabbit hole, trying to do this via cross-compilation. In order to build bluez, you'll need to have all the prerequisites:
In order to compile Bluetooth utilities you need following software packages:
- GCC compiler
- GLib library
- D-Bus library
- udev library (optional)
- readline (command line clients)
So you'll need to build all those for arm before you can build bluez --- and those probably have dependencies, etc, etc, etc. After each package is build and installed you'll need to figure out how to tell successive packages where to find their dependencies. That might be as simple as something like adding --with-glib=<path-to-armhf-glib> to the configure command line, or you may have to use make's CFLAGS (C compiler flags), CPPFLAGS (c-pre-prossor flags e.g -I<path>), CXXFLAGS (C++ flags), LDFLAGS (linker flags e.g -L<path>), LDLIBS (linker libraries e.g -l<lib>) environment varialbes. Also see configure --help . At the end there's a long list of environment variables you can set to tell configure where to find things. To set those you can either
$ export CPPFLAGS=-I/usr/local/arm/inlcude
$ export LDFLAGS=-L/usr/local/arm/lib
$ export LDLIBS=-lglib -ldbus -ludev
$ ./configure <args> or
$ CPPFLAGS=-I/usr/local/arm \
LDFLAGS=-L/usr/local/arm/lib \
LDLIBS="-lglib -ldbus -ludev" \
./configure <args>
Vaclav_ wrote: I guess learn how to edit "configure " is my real option.
Almost nobody ever edits configure files. They are generated by the autom4te, autoconf, and automake tools. I've not used them myself, so I can't tell you much about how they work. But there's plenty of reading if you google for it.
|
|
|
|
|
1. Yes, I am building on X86 , but with --target=arhnmf
2. "configure" has an option --enable-library which builds the library , but for X86.
And that is the problem.
I did look at "configure" again and see no code to implement --target.
I believe that is the main issue I need to solve before anything else.
I am also finding that I better reboot and remove the .../lib in its entirety before making another run at "configure".
Last time it deleted the .../lib and never rebuild it.
I am still looking for another full / zipped source of "bluez" to compile from , this one from www.bluez.org is unreliable.
|
|
|
|
|
|
Sorry, done that too.
It is getting harder to keep up the discussion and troubleshooting same time.
I am still trying to find where / how I can modify "configure" to add some feedback on "target" processing.
"configure" is not tracking target code at all, but it is there and I cannot find how it is getting the host / build as incorrect default.
I'll try to keep you posted so you do not have to duplicate what I have already done.
|
|
|
|
|
I am getting frustrated as far as where to post - so here it is
Progress report
I managed to convince "configure" that "host" is
pi@pi:~ $ sudo bash ./config.guess
armv7l-unknown-linux-gnueabihf
as reported by "config.guess" running on RPi. No errors.
However,
"checkinstall" now complains when I try to change the architecture to -A armv7l-unknown-linux-gnueabihf - which is whole point of this exercise!
dpkg: error processing archive /media/jim/DEV/BLUEZ/bluez-5.50/bluez_5.50-1_armv7l-unknown-linux-gnueabihf.deb (--install):
package architecture (armv7l-unknown-linux-gnueabihf) does not match system (amd64)
Errors were encountered while processing:
/media/jim/DEV/BLUEZ/bluez-5.50/bluez_5.50-1_armv7l-unknown-linux-gnueabihf.deb
Of course the library file format is still wrong - as expected - nothing changed it
jim@jim-desktop:/usr/local/BLUEZ/bluez-5.50/lib$ file libbluetooth.so.3.18.16
libbluetooth.so.3.18.16: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=55d60353934d3672e2c88fbc64ceaba37c4d0442, not stripped
At this stage I have to ask -
assuming the documentation of "configure" IS CORRECT (?) - I should be able to change the "host" architecture BUT
how . where , by whom it is actually changed / processed ?
It sure looks as it is NOT being changed.
As soon as I resolve this , I can tackle the "checkinstall" complaint.
Addendum
there is something strange in "configure" output
sudo ./configure --prefix=/usr/local/BLUEZ/bluez-5.50 --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-library --disable-systemd --host=armv7l-unknown-linux-gnueabihf
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for armv7l-unknown-linux-gnueabihf-strip... no
checking for strip... strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking for style of include used by make... GNU
checking for armv7l-unknown-linux-gnueabihf-gcc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
The other note specifically said "use host to crosscomplie..."
modified 24-Mar-19 12:13pm.
|
|
|
|
|
I specifically told you:k5054 wrote: From configure --help
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
If you don't specify --host, the default is the same as for --build (which configure will guess at using config.guess. For a PI, the host should be
arm-linux-gnueabihf I think I figured that out because I tried something like host=arm7 and you get a configure error saying something like arm7-gcc not found.
Try again.
Better yet, just build your PI part on the PI. If eclipse is too slow on the pi, then maybe learn vi, emacs or gedit and how to build a Makefile. I think if you had gone that route, you would have made significant progress on your project. OTOH, maybe the point of all this pain you're going through is to learn how to cross-compile. Hows that going for you?
|
|
|
|
|
I have been doing more reading on triplet and using config.guess too.
Yes, it is a pain - basically one should only need -host.
However - as good as theory is - practice is much simpler and WORKS.
sudo ./configure --prefix=/usr/local/BLUEZ/bluez-5.50 --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-library --disable-systemd --host=armv7l --build=x86_64
configure works - it builds necessary triplet - as it should and checkinstall works.
I understand your suggestion to build the package on RPi, however do not know how to copy it to
PC where I need it.
I do have an issue with ANY tools, not limited to Linux , adverting something and not delivering.
As I said before - I have no issues with crosscompiling using Eclipse - the issue is configure does not CHANGE the resulting library file to armv7l architecture.
But I did find the scrip code WHERE configure is checking host and build options .
Now I need to find the actual function...
PS I have seen your prediction already.I got it documented somewhere, loosing track.
|
|
|
|
|
You don't need to use sudo for configure, or make, but you do need to sudo make install - unless of course you're doing this in a directory that you don't have normal write access to - in which case Don't Do That! - maybe set up a $HOME/src directory, extract (tar xf) the source there, and configure and build (make) as non-root user.
modified 24-Mar-19 20:48pm.
|
|
|
|
|
I have a prediction : When you get to the part where you're able to make bluez, you're going to run into this:
CC gdbus/mainloop.lo
In file included from /usr/lib/x86_64-linux-gnu/glib-2.0/include/glibconfig.h:9:0,
from /usr/include/glib-2.0/glib/gtypes.h:32,
from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from gdbus/mainloop.c:28:
/usr/include/glib-2.0/glib/gtypes.h: In function '_GLIB_CHECKED_ADD_U64':
/usr/include/glib-2.0/glib/gmacros.h:241:53: error: size of array '_GStaticAssertCompileTimeAssertion_0' is negative
...
Makefile:5858: recipe for target 'gdbus/mainloop.lo' failed
make[1]: *** [gdbus/mainloop.lo] Error 1
Makefile:3278: recipe for target 'all' failed
make: *** [all] Error 2
When you get to that point you should realize that you need to install a cross-compiled version of glib2 to be able to cross-compile bluez.
Ditto for any prerequisites for glib2.
|
|
|
|
|
OK , this may be the last post on this subject.
To implement bluez package usable for C++ development, one starts with "configure".
This script is "automatically generated"(?) and guesses many usable options / parameters to be implemented when the bluez package is actually installed - either by make and make install or checkinstall.
I took the liberty to edit it and here is a basic , no options provided output.
sudo bash configure_edit
[sudo] password for jim:
@ line # 53 **** CONFIGURE EDIT *****
**** CONFIGURE EDIT **** checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
3716 **** CONFIGURE EDIT **** checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for pkg-config... /usr/bin/pkg-config
configure_edit: *** CONFIGURE EDIT *** WARNING: using cross tools not prefixed with host triplet
checking pkg-config is at least version 0.9.0... yes
checking for C/C++ restrict keyword... __restrict
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking whether gcc accepts -fPIE... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
6586 ***CONFIGURE EDIT *** why build NAME to host FORMAT ??? checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
6643 ***CONFIGURE EDIT **** buidl name to toolchain format ??? checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
12829 ***CONFIGURE EDIT *** checking if libtool supports shared libraries... yes
12834 ***CONFIGURE EDIT *** checking whether to build shared libraries... yes
12863 ***CONFIGURE EDIT *** checking whether to build static libraries... no
checking for signalfd... yes
checking for clock_gettime in -lrt... yes
checking for pthread_create in -lpthread... yes
checking for dlopen in -ldl... yes
checking linux/types.h usability... yes
checking linux/types.h presence... yes
checking for linux/types.h... yes
checking linux/if_alg.h usability... yes
checking linux/if_alg.h presence... yes
checking for linux/if_alg.h... yes
checking for GLIB... yes
checking for DBUS... yes
checking D-Bus configuration directory... /etc
checking D-Bus system bus services dir... /usr/share/dbus-1/system-services
checking D-Bus session bus services dir... /usr/share/dbus-1/services
checking for UDEV... yes
checking for udev_hwdb_new in -ludev... yes
checking udev directory... /lib/udev
checking for ICAL... yes
checking readline/readline.h usability... yes
checking readline/readline.h presence... yes
checking for readline/readline.h... yes
checking systemd system unit dir... /lib/systemd/system
checking systemd user unit dir... /usr/lib/systemd/user
checking that generated files are newer than configure... done
configure_edit: creating ./config.status
@ line # 14959 **** CONFIGURE EDIT ***** executing config.status ?
config.status: creating Makefile
config.status: creating src/bluetoothd.8
config.status: creating lib/bluez.pc
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
jim@jim-desktop:/media/jim/DEV/BLUEZ/bluez-5.50$
I do not expect the forum to analyze the enclosed, but please note highlighted.
In my view - the "configure" found the not optioned triplet, is agreeable to build shared libraries etc.
The most important part is the LAST line - that SHOULD actually build the NOT requested libbluetooth.so file of NOT specified , correctly guessed x86 architecture.
The "configure" output looks much different when both --host and --build are optioned.
End of story.
|
|
|
|
|
Just out of curiosity, what OS are you using on the PC? Ubuntu, Debian or something else?
|
|
|
|
|
The overall work that must be getting it worked to which it will be managed by the process to get the function for it so
|
|
|
|
|