opkg failed to install ipk package - linux

I have created an image with buildroot for raspberry pi 2 and i have included "Opkg" in it. I then manually downloaded "gcc_4.8.3-1_brcm2708.ipk" for it and moved this file into the SD card and logged in to the pi, but now when i run the command "opkg install gcc_4.8.3-1_brcm2708.ipk" , i get the following error:
* open_outer: Failed to open package 'gcc_4.8.3-1_brcm2708.ipk': Unrecognized archive format
* pkg_extract_control_file_to_stream: Failed to extract control.tar.gz from package 'gcc_4.8.3.
* pkg_init_from_file: Failed to extract control file from gcc_4.8.3-1_brcm2708.ipk.
Is there a problem with the package or the image or it is something else?
Thanks in advance.

Read the documentation of the project, especially http://buildroot.org/downloads/manual/manual.html#faq-no-binary-packages, which tells you that Buildroot does not support generating binary packages.
Plus, you cannot take some random .ipk found on the Internet, and expect it to work on a random Buildroot generated system. How can you be sure it's generated for the right architecture, with the same C library, the same ABI, etc.

Related

I used the ddpkg-buildpackage tool to generate the deb package in linux, and the dynamic library of the dependent report could not be found

My project is based on QT5.14 and relies on the mxml library and libhv library. Now to port to Ubuntu, I choose to use ddpkg-buildpackage to generate the deb package. Run the dpkg-buildpackage -b -rfakeroot -us-uc command. The following error message is displayed:
dpkg-shlibdeps: error: cannot find library libmxml.so.1 need by debian/pip/opt/pip/bin/pip(ELF format: elf64-littleaarch64 abi:'020100b7000000000'; rpath:'usr/lib/qt5/lib')
How can I solve this problem?
I am not familiar with linux environment, please help me to look at it, thank you
This is the structure directory for my project
pip
pip/src // source code
pip/vendor // dependent library directory
pip/vendor/mxml/lib/libmxml.so.1
pip/vendor/libhv/lib/libhv.so
debian/ruler Is generated using dh_make and is not modified
I am not familiar with linux environment

Trying to run make menuconfig to manually configure the kernel, but gets an error

I downloaded the linux operating system kernel source 4.15.1
from the kernel website, installed the required packages:
kernel-package, libncurses5 and libncurses5-dev.
Unpacked the tar archive and navigated to the resulting directory.
I wanted to proceed to the kernel configuration, but when I enter the make menuconfigcommand,
I get the following error:
make: *** empty variable name. Stop.
make: *** [Makefile:460: scripts_basic] Error 2
I tried for a very long time to find a solution to this problem on the internet, reinstalling all packages, even looking at the contents of the Makefile kernel file, but nothing gave me any results.
Although after entering this command I was expecting an ncurses utility to open for manual kernel tuning, but only my version, like this:
I was able to fix the error and run the utility by re-downloading the package with a different compression method.
For some reason, the .xz format I selected does not decompress correctly.
The error was that not all required kernel files were present.

What's the proper way to build a multi-arch Debian package?

Every time I try to build bluez I get the error:
dh_install: libbluetooth3 missing files (usr/lib/*/libbluetooth.so.3), aborting
Looking in my own path I see that the currently installed version of the library is located at:
/usr/lib/x86_64-linux-gnu/libbluetooth.so.3
But the build script (fakeroot debian/rules binary) keeps putting the output into usr/lib/libbluetooth.so.3.
To specify the correct folder you need to declare the environment variable DEB_HOST_MULTIARCH and use the binary-arch target (though binary may suffice as documentation suggests binary calls both binary-arch and binary-indep):
DEB_HOST_MULTIARCH=x86_64-linux-gnu debian/rules binary-arch
The value was chosen based off of the current install path of libbluetooth.so.3 (/usr/lib/x86_64-linux-gnu/libbluetooth.so.3) and could possibly change if the Debian distribution you're running places 64bit binaries elsewhere.

SIP install - unable to open siplib.sbf

I'm trying to install SIP on my computer so I can proceed to get PyQt. I put the install files in a folder on my desktop ('C:\Users\User\Desktop\Programming\Sip\sip-4.15.5'). So, to install it, I ran the following commands from CMD:
cd C:\Python33
python "C:\Users\User\Desktop\Programming\Sip\sip-4.15.5\configure.py"
The version of python in 'C:\Python33' IS the one used in the command 'python'. Here's the output I got:
This is SIP 4.15.5 for Python 3.3.5 on win32.
The SIP code generator will be installed in C:\Python33.
The sip module will be installed in C:\Python33\Lib\site-packages.
The sip.h header file will be installed in C:\Python33\include.
The default directory to install .sip files in is C:\Python33\sip.
The platform/compiler configuration is win32-msvc2010.
Creating siplib\sip.h...
Creating siplib\siplib.c...
Creating siplib\siplib.sbf...
Creating sipconfig.py...
Creating top level Makefile...
Creating sip code generator Makefile...
Creating sip module Makefile...
Error: Unable to open
"C:\Users\User\Desktop\Programming\Sip\sip-4.15.5\siplib\siplib.sbf"
Now, the key lines are obviously the last two, so I looked in the appropriate folder and found that there was a rather good reason for the error: there is no "siplib.sbf." The closest it gets is "siplib.sbf.in". What on earth is going on? If this is a stupid question, please feel free to tell me so.
You must change current working directory to the sip-4.15.5 first:
cd C:\Users\User\Desktop\Programming\Sip\sip-4.15.5
python configure.py

Executing library(package) in R reports that package was built for i386, can it be installed on an x86_64 system?

I'm attempting to use an add-on R package UBbipl but am unable to add it as a library from within R once installed. Executing library(UBbipl) returns
Error: package ‘UBbipl’ was built for i386-pc-mingw32
The README (see here) for the package states that i386 and x86_64 architectures are supported. I've consulted tutorials on creating packages (amongst other things) but I don't know enough about R (or its packages) to diagnose the problem (I think).
R.Version()$arch returns x86_64, I'm running R version 2.14.1 and Sys.info() confirms this architecture for my machine, as well as the fact that I'm running Linux. To install it I created a tar.gz file from the zip file and ran R CMD INSTALL UBbipl_1.0.tar.gz as root. This completes successfully, reporting
* installing to library ‘/usr/local/lib/R/site-library’
* installing *binary* package ‘UBbipl’ ...
* DONE (UBbipl)
I used the --no-multiarch and --arch x86_64 options but this has not effect on the error message. Additionally, the README states that one should
Download and save the appropriate version of UBbipl to your computer.
Then Install the package from within R.
but there is only one file available for download (see previous link) so I'm unsure as to whether I'm doing something wrong or if I require a different package. It would be great if someone could point me in the right direction.
Many thanks.
I'm going to answer my own question to close it. themel technically provided the answer in the comments. The R package is a Windows binary package built for Windows. The source package was not provided and I was thus unable to use it in R on a linux machine.
The file
http://www.wiley.com/legacy/wileychi/gower/supp/UBbipl_3.0.4.tar.gz
seems to be a standard R source file, with no complied elements. It has the first Fortran program source I've seen in twenty years, but ought to work.
It certainly installed fine with
R CMD INSTALL UBbipl_3.0.4.tar.gz
once the two dependencies I did'nt already have - 'rgl' and 'numDeriv' were installed.
Regards,
Anthony Staines

Resources