Linux repository issues

anneranch

Active Member
Joined
Mar 16, 2019
Messages
223
Reaction score
43
Credits
2,078
My task is to retrieve package - bluez - from a repository supporting ARM architecture.
Unless it is important to understand this post , I would prefer, for time being, NOT to delve on WHY I am doing this.

I would like to ask this forum to help me on specific questions first.

I have found "apt" option "-a =architecture" does not work, hence I am using "wget".


wget needs an option to specify the actual repository on the network.
To obtain that I used following command

apt show bluez -a

and received this

http://archive.raspberrypi.org/debian stretch/main armhf Packages

however - that "link" does not exists

I did find and follow this , similar , link

http://archive.raspberrypi.org/debian/dists/stretch/main/binary-armhf/Packages

It does contain package "bluez".

I like to know
1, Assuming that the first result is actually retrieved from the network, not from local OS files - is that normal that it does not match the second link?
2. Since the second link contains the "bluez" package - how do I change from package name to actaull contents of the package - files?
Something in "apt install bluez" style would be nice.

The requirement of file(s) options to retrieve is the second part of the wget options.
I did try just using "bluez" but it obviously cannot satisfy the requirement of "files" for this second option.

I did start looking at various "repository" tutorials , however , so far none of them tell me how to extract package files from package name. Only how to build a package.

I would really appreciate an assistance in resolving this.

I am open to suggestions if there is different way to accomplish the task to eventually install ARM bluez package ,as C++ library, on X86 architecture required to crosscompile C++ code.

Thanks










 


G'day @anneranch and welcome to linux.org :)

Long answer follows, and followed by short answer.

LONG ANSWER

1. I note that you have Threads open as follows, elsewhere.

https://www.linuxquestions.org/ques...nstalling-package-from-repository-4175650240/

and

https://www.linuxquestions.org/ques...luez-forum-how-to-configure-bluez-4175649889/

... and that, further, the first Thread was being responded to by both yourself and others in the last 24 hours.

If you are not planning on closing those threads, then folks here cannot be expected to give of their time and be mind readers on what information you are giving and receiving elsewhere, I expect you can appreciate that?

You have also explored avenues there that you have not listed here, yet, and so it would help helpers here to know what you have tried without their duplicating previous efforts.

2. Regarding your Post above:

however - that "link" does not exists

It does, and you can see that within your own Post if you click the first part, likely highlighted in blue.

The 2nd part, stretch/main armhf Packages is not a part of a valid link, and so of course does not work.

It is partial output from the material you received here

https://www.linuxquestions.org/ques...ckage-from-repository-4175650240/#post5974285

... namely, the output of

Code:
apt-cache policy bluez

which says in part





SHORT ANSWER

Have you tried

https://packages.debian.org/stretch/armhf/bluez/download

There, you can choose a mirror most relevant to you, and then it would be simply a case of appending

bluez_5.43-2+deb9u1_armhf.deb

to the mirror's http/s address, with no spaces separating, only a slash dividing and incorporate the result into your wget command.

Chris Turner
wizardfromoz
 
Short answer:
I understand multiple posts are frowned upon, but discussions which leads to personal insults and innuendos ( learn how to Google ) instead of leading to solution are very offensive - and nobody cares. I prefer NOT to continue in such pointless discussions and have no issues if they get deleted by the administrators. I am not here to socialize with bullies , I am asking for technical advise.

The issue is NOT to install ARM bluez on ARM architecture.

The issue is to install ARM bluez on X86 architecture and to know the library name produced by the package.


I have been thru several repositories / mirrors and you are the first person to suggest "just "
to append .deb to the "package" name.
It it works, I'll be happy.

Long answer:
It it does not work I'll count my losses and go back to the original way to build the package from the original resource. Hopefully I'll get lucky on this forum and resolve the issue with help from somebody who knows how to follow the goofy README included by the "maintainer" of the resource.
 
We are a friendly bunch.....stay a while ! :)
 
Last edited:
Keep us posted, and good luck :)

Wizard
 
I have reached yet another dead end.
I did managed to load the
bluez_5.43-2+deb9u1_armhf.deb
but it is not recognized as "package" when I use apt install.
Used both bluez_5.43-2+deb9u1_armhf.deb and bluez_5.43-2+deb9u1_armhf
I even tried plain extract and it did not make lick of a sense.

In this link it is not recommend to install the package manually anyway. Makes sense.

https://packages.debian.org/stretch/armhf/bluez/download

I can probably figure out how to add the required repository to the list.
But that will put me back to the issue of being able to select correct architecture for the bluez package. Which is where all this started.

I have no issue doing this
apt install bluez
to get bluez in X86 architecture on X86 system
what I need is this
apt -a=armhf install bluez
(but my apt ignores / errors out on the "-a" option)
to get bluez in arnhf architecture installed on X86 system

for purpose of having correct architecture library to link in C++ code

I do appreciate the help, but I am convinced that I should go back to bluez source and compile it for my purpose.
I did that few weeks ago and since I have never complied in Linux (configure / make / make install) I got hopelessly lost.
However, I am finding all these many copies of repositories complicated to use and on top of all things - outdated.
I need a break.
Cheers
 
If you were just looking to install bluez, then you might need gdebi, it is a GUI-based package installer.

Or command line would likely be

Code:
sudo dpkg -i bluez_5.43-2+deb9u1_armhf.deb

With GDebi, you can check for it with

Code:
apt-cache policy gdebi

and if it is not installed

Code:
sudo apt install gdebi

Once GDebi is installed, you can go to your File Manager, right-click the bluez file and choose GDebi. GDebi will likely tell you if any dependencies are missing.

I am beyond my paygrade in matters of C++ and ARM, so understand these are just my best suggestions. :). I am hoping someone will swing by with more knowledge than I, or I could move you to Command Line, if that is more appropriate. Your call.

Good luck

Cheers

Wizard
 
Hi,

I checked the link which you have downloaded.

sudo wget -P /tmp/TEMP_BLUEZ https://packages.debian.org/stretch/armhf/bluez/download/bluez_5.43-2+deb9u1_armhf.deb

The link 'sudo wget -P /tmp/TEMP_BLUEZ https://packages.debian.org/stretch/armhf/bluez/download/bluez_5.43-2+deb9u1_armhf.deb' seems to be corrupted. Try to call the link in a browser, you will see the error. I tried to download from the link and the downloaded package was just 5 KB. I tried to download the package from another mirror at https://packages.debian.org/stretch/armhf/bluez/download (say the first link provided there from North America) and it works. The download package was of 700+ KB. I tried to install it in my system with the following command and I encountered the architecture error because my architecture is not ARM. If your machine's architecture is ARM, it should work fine.

dpkg -i bluez_5.43-2+deb9u1_armhf.deb
dpkg: error processing archive bluez_5.43-2+deb9u1_armhf.deb (--install):
package architecture (armhf) does not match system (i386)
Errors were encountered while processing:
bluez_5.43-2+deb9u1_armhf.deb
 
Good call, @shankar12 , and my bad :(

I failed to spot what Anne had done at #5, but I had said in #2

There, you can choose a mirror most relevant to you, and then it would be simply a case of appending

bluez_5.43-2+deb9u1_armhf.deb

to the mirror's http/s address, with no spaces separating, only a slash dividing and incorporate the result into your wget command.

... and she may have misinterpreted me.

With that first mirror listed, for example the command becomes

Code:
sudo wget -P /tmp/TEMP_BLUEZ http://ftp.us.debian.org/debian/pool/main/b/bluez/bluez_5.43-2+deb9u1_armhf.deb

... and it downloads fine (792Kb for me).

Wizard
 
Thanks for replies.
I am not sure I want to continue using mentioned repository.
I am not trying to be smart aleck , but I did notice the downloaded file was short.

My main reason "switching to different process " is because using current process gets unnecessarily complicated and the complied versions are not current ( 5.50) either.

But I do appreciate this group spending time to find out why it was not working as expected.

If you do not object I like to go back where all of this started and install "bluez" from source.
However, I do not know this group policy as far as taking different approach to same issue.

Should I start a new post , I would prefer that, or continue here ?
 
That's certainly your choice Anne. But was it just one repository that you tried and came up short with? In my case, being in Australia, I would use one of the Oceania references (3 of them).

I can restrict further input to this Thread, if you start a new one. But if new helpers come along, I would probably mention a link in the new one to the old, so that people know what suggestions have already been made.

Cheers

Wizard
 
I feel it would be simpler to continue here, in this thread.


OK, let me clarify my position on the current way of getting the task done.
It thought it would be of an advantage of having precompiled bluez package for armhf architecture. That of course requires having knowledge how to let apt to “install” correct package when they are named same irregardless of architecture it was build on. I still do no know how to do that.
Then I run into “normal” security issues as far as manipulating the package.
So – that method is on hold for time being.


Let me introduce in this thread the original method I started with.
Perhaps it will be of help for others to know what has been done , or not, so far.


Here is my goal
I need to crosscompile bluetooth C++ code between X86 (host) and ARM (target) architectures.
To do that I need bluez (library) complied for ARM architecture and be able to compile it on X86.

One and so far preferred way would be to use original bluez source – currently version 5.50 – and to use “configure” supplied with the zipped source.

(The other option would be to somehow copy the bluez ARM package from ARM system to X86 system . Did not pursue that option so far )


According to README , also supplied in zipped form with the source, I can option “configure” to build bluez package on architecture X – “host” to run on architecture Y “target ”.


For temporary test purposes I have followed the README instructions and used default options just to build “bluez” package for default architecture - X86.

Here is a short version of the process I did

1. purge bluez
2. verify there is no bluez package
3. run “configure” - with mentioned default options – completed without any errors
4. run “make” - completed without any errors
5. run optional “make check” - completed without any errors
6. run “make install” - completed without any errors
7. check for bluez package (dpkg -l ) - THERE IS NO BLUEZ INSTALLED


I am back to square one – the recommended process failed to build “bluez” package using defaults and I could use some help to figure out why.

Obviously there is no sense optioning configure for “crosscompiling” until the default process actually builds the standard “bluez” package from the 5.50 source on X86.

But from last few posts – there is always a possibility the 5.50 version is buggy.

I am open to suggestions ( to correct this issue ) and can post full output from each step of the process described above if it will help. ( But it is lengthy )

Thanks for your time , help will be greatly appreciated.
Cheers
 
OK, thanks for sharing that :) - I follow a lot of what you are saying, but some of it is beyond my paygrade.

With Step 1, can you tell us the command used to purge, to be sure all dependencies and configuration files have been purged as well.

Also, if you do not already have it set up as same, you should configure your Terminal Profile to allow for unlimited scrolling.

Cheers

Wizard
 
Here is little more then you asked:

purged and verified commands
installed and verified commands


Code:
jim@jim-desktop:~$ sudo apt purge bluez
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be REMOVED:
  bluez*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 4,218 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 286130 files and directories currently installed.)
Removing bluez (5.37-0ubuntu5.1) ...
Purging configuration files for bluez (5.37-0ubuntu5.1) ...
dpkg: warning: while removing bluez, directory '/var/lib/bluetooth' not empty so not removed
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for dbus (1.10.6-1ubuntu3.3) ...
jim@jim-desktop:~$ dpkg -l "*blue*"
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
+++-==============-============-============-=================================
un  bluez          <none>       <none>       (no description available)
un  bluez-alsa     <none>       <none>       (no description available)
un  bluez-gnome    <none>       <none>       (no description available)
un  bluez-obexd    <none>       <none>       (no description available)
un  bluez-pan      <none>       <none>       (no description available)
rc  gnome-bluetoot 3.18.2-1ubun amd64        GNOME Bluetooth tools
rc  indicator-blue 0.0.6+16.04. amd64        System bluetooth indicator.
ii  libbluetooth-d 5.37-0ubuntu amd64        Development files for using the B
ii  libbluetooth3: 5.37-0ubuntu amd64        Library to use the BlueZ Linux Bl
ii  libbluetooth3: 5.37-0ubuntu i386         Library to use the BlueZ Linux Bl
ii  libbluetooth3- 5.37-0ubuntu amd64        Library to use the BlueZ Linux Bl
un  libbluetooth3- <none>       <none>       (no description available)
ii  libgnome-bluet 3.18.2-1ubun amd64        GNOME Bluetooth tools - support l
jim@jim-desktop:~$

jim@jim-desktop:~$ sudo apt install bluez
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following NEW packages will be installed:
  bluez
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/899 kB of archives.
After this operation, 4,218 kB of additional disk space will be used.
Selecting previously unselected package bluez.
(Reading database ... 286070 files and directories currently installed.)
Preparing to unpack .../bluez_5.37-0ubuntu5.1_amd64.deb ...
Unpacking bluez (5.37-0ubuntu5.1) ...
Processing triggers for dbus (1.10.6-1ubuntu3.3) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu21.17) ...
Setting up bluez (5.37-0ubuntu5.1) ...
Processing triggers for dbus (1.10.6-1ubuntu3.3) ...
Processing triggers for systemd (229-4ubuntu21.17) ...
Processing triggers for ureadahead (0.100.0-19) ...
jim@jim-desktop:~$ dpkg -l "*blue*"
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          5.37-0ubuntu amd64        Bluetooth tools and daemons
un  bluez-alsa     <none>       <none>       (no description available)
un  bluez-audio    <none>       <none>       (no description available)
un  bluez-gnome    <none>       <none>       (no description available)
un  bluez-input    <none>       <none>       (no description available)
un  bluez-network  <none>       <none>       (no description available)
un  bluez-obexd    <none>       <none>       (no description available)
un  bluez-pan      <none>       <none>       (no description available)
un  bluez-serial   <none>       <none>       (no description available)
un  bluez-utils    <none>       <none>       (no description available)
rc  gnome-bluetoot 3.18.2-1ubun amd64        GNOME Bluetooth tools
rc  indicator-blue 0.0.6+16.04. amd64        System bluetooth indicator.
ii  libbluetooth-d 5.37-0ubuntu amd64        Development files for using the B
ii  libbluetooth3: 5.37-0ubuntu amd64        Library to use the BlueZ Linux Bl
ii  libbluetooth3: 5.37-0ubuntu i386         Library to use the BlueZ Linux Bl
ii  libbluetooth3- 5.37-0ubuntu amd64        Library to use the BlueZ Linux Bl
un  libbluetooth3- <none>       <none>       (no description available)
ii  libgnome-bluet 3.18.2-1ubun amd64        GNOME Bluetooth tools - support l
jim@jim-desktop:~$

After this install I can compile and run my test C++ code.
At this point I am really not sure if installing the "bluez" package is necessary since "bluez is included in Linux kernel".
But as long as my test C++ coder works it really does not matter where the required library comes from.

I am taking lots of side trips to resolve this.
Today I'll try to get more info (verbose) when I run "install bluez", maybe it will help to analyze what the "configure / make / make install " is doing.

I wish the "bluez official site " would be little more descriptive when it comes to "configure" options.
 
An update
Downloaded and "installed" older version - bluez 5.49.
Opted --enable-library and received info about it being installed.
Still cannot get dpkg to list "installed" bluez version 5.49.

Hence the installation process can tell me it installed the library , without giving much info about the name of it (?) , but cannot tell me if installing the whole package was successful or not!

I think the Unix way of not responding when the call was success is past its usefulness.
 
SUCCESS - finally !

Here is what supposedly works according to README www.bluez,org
/configure
make
make install
make clean

This is what REALLY works

/configure
checkinstall

checkinstall actually installs the package and provides nice tracking feedback while doing it
found by accident !
 
upload_2019-3-21_14-4-8.jpeg


Well done (applause all round)

Wizard
 
I understand multiple posts are frowned upon, but discussions which leads to personal insults and innuendos ( learn how to Google ) instead of leading to solution are very offensive - and nobody cares. I prefer NOT to continue in such pointless discussions and have no issues if they get deleted by the administrators. I am not here to socialize with bullies , I am asking for technical advise.

I wholeheartedly agree with that. And I've also run into it on LinuxQuestions. One guy in particular harassed me at length because I rejected his answer, even after I explained my motive for asking was because I specifically wanted to avoid that method.

The issue of cross posting between different forum sites is curious though. I've posted on lots of these forum sites, many of them technical, some of them not. But there seems to be an unspoken etiquette that you don't draw attention to competing forum sites. Therefore people almost never complain about cross posting across sites.

Maybe the internet is shrinking, just like the globe.

Anyway, here's to friendliness at Linux.org.
 
Actually I am so relieved that I finally found the solution to my problem I may be hard to live with now when I have less problems....
I have been thinking about writing an essay about how forums are form of modern curse.
The problem is - all these "better then you" characters are immune to anything even remotely close to criticism of their ways. So why waste time on them.

The only solution is to follow "War games" movie - not to play.
 

Members online


Top