How to convert a 64 bit rpm file into 32 bit rpm file - linux

Hi I am using Fedora 10 linux with 64bit architecture. I have created 64bit rpm file for my application. It works fine all fedora 10 linux which have 64 bit. But my application doesnot work well for 32 bit linux. So how to convert 64bit rpm file into 32 bit rpm file. Or how to recreate 32 bit rpm file.
Thanks
Sunil Kumar Sahoo

You will need to have 32bit libraries installed on your machine and while package is being build/compile, compiler will need to get -m32 option. I came across this solution:
CC='gcc -m32' CXX='g++ -m32' linux32 rpmbuild --rebuild --target=i586 package.src.rpm
But I didn't try it myself.
Hops it will help you somehow.
BR,
Dawid.

You can use the way Czlowiekwidmo has mentioned or if you have a machine with 32 bit architecture you can set up the same environment as you have setup for 64 bit. follow the same process for rpm creation as you have done for 64 bit then you will get rpm for 32 bit.

Maybe a bit more than you ask for but have you ever looked at http://build.opensuse.org/ ? It's a fantastic build service that allows to build packages for a vast number of Linux distributions (including Fedora 10 - however marked as DISCONTINUED).
Apart from using the superb web-interface, you can also build locally (just in case, your package is closed-source?).
And yes, building both 64 bit and 32 bit packages is supported, along with building 32 bit support libraries for 64 bit platforms.

You can also use "mock" command. "yum install mock", then "man mock", you will find how to use it.
The similar question was answered here:
https://serverfault.com/questions/200712/how-to-create-rpm-for-32-bit-arch-from-a-64-bit-arch-server
One example for mock:
mock -r fedora-10-i386 --rebuild foo.srpm

Related

suggest any way to make executables build on 64 run on 32 bit ubuntu

I had an executable and source code of software made on 64 bit linux want to make that executable run on 32 bit linux. How it can be done in how many ways any easy process
Thankss
The only way I see is to virtualize a 64bits Linux on Virtualbox for example.
But your processor must have a 64bit architecture and support virtualization...

Beaglebone cross compilation

I am a freshman for the beaglebone. I need your help. I have installed the cross compiler toolchain arm-linux-gnueabi on my 64 bit xubuntu in eclipse as well as codeblocks environment. I have made a hello world program, cross compiled it in 3 ways using eclipse , using terminal,using Codeblocks. But when i run my executable file in Beaglebone i get the error saying cant load shared file libstdc++6.so.6:file not found.
Though i have already installed latest libstdc++6,ia32-libs and configured it. I am using ssh for logging into my Beaglebone. My all projects are pending because of this. Please suggest solution. I will be grateful to you. I have worked according to derek molloy c,c++ video but still got the error. I think it is because of difference between 32 bit and 64 bit in beaglebone and laptop respectively.
Have you really installed libstdc++6,ia32-libs on your BB? It looks like x86 lib. Take a look at Buildroot. It already provides BB target, so you can get your basic rootfs quite quickly. Then just add needed packages and you are done. The main benefit, when using such distro like BR, that you have all needed dependencies in your rootfs, that you burn on your microSD card. BR also provides Eclipse plugin.
I thought abi used was arm-linux-gnueabi but when i got the details of abi version running on my beagleboard i found it was arm-linux-gnueabihf. So i just replaced the compiler and then it was able to find all the files.

Can I use nuget packages which is not written OS ver 32 or 64 for 32 and 64 bit OS?

Now I got several nuget packages(.nupkg) and installed VS's project on 64bit OS.
It was successfully finished.
And I'd like to install these packages to 32bit PC(StandAlone) by using CD which is burned .nupkg files.
(This PC cannot connect to Internet)
These packages seems to be not defined OS version specifically.
I have a quetion which is written in above title.
Can I use nuget packages which is not written OS ver 32 or 64 for 32 and 64 bit OS?
And would you give me some reaseons about your answer.
Regards.
NuGet packages do not distinguish between 32 or 64-bit version of OS. They can be installed to both.
There was an issue filed on codeplex to support distinguishing for different platforms as
https://nuget.codeplex.com/workitem/679

64bit version of Octave on Windows

Does anybody know how to build Octave for x64 Windows? The 2GB data limitation for x32 is too limiting for many problems that require analysis on large data sets.
http://wiki.octave.org/Octave_for_Microsoft_Windows has information on installing Octave on Windows and links to building it from source using different methods.
GNU Octave is primarily developed on GNU/Linux and other POSIX conformal systems. The ports of GNU Octave to Windows use different approaches to get most of the original Octave and adapt it to Microsoft Windows idiosyncrasies...
Windows support is experimental.
According to http://www.gnu.org/software/octave/doc/interpreter/Compiling-Octave-with-64_002dbit-Indexing.html
To use arrays larger than 2 GB, Octave has to be configured with the option --enable-64. This option is experimental...
Compiling Octave for 64 bit is experimental on Linux. It might cause a lot of headache to try an experimental feature in a port of the software. It would be better to use a true Linux installation for now. If you feel adventurous, try compiling it in http://www.cygwin.com/
I have installed Octave-4.0.0 into windows 7,8 and 10 in x64 platforms. All works perfectly well.
Just follow these steps
Download Octave-4.0.0_0-installer.exe from https://ftp.gnu.org/gnu/octave/windows/
Install the same - just follow the steps in the installer.
Find the build_packages.m file in C:\Octave\Octave 4.0.0\src
Open it in Octave and find
try install general-1.3.4.tar.gz, and try install signal-1.3.1.tar.gz, the versions are wrong.
Replace with 2.0.0 and 1.3.2 respectively.
In the build_packages.m file find
pkg ('install', pkgname, '-noauto').
Change it to
pkg ('install', pkgname).
Skip this and you will have to load the packages you require every time you use Octave. Lesser load for octave though. Sometimes it may take a while for the packages to get installed, kindly wait.
Run build_packages.m
load the packages
e.g. to load the general package - pkg load general
Note that the signal package is dependent on the control package.
I found that the plot function got octave stuck. The answer for the same is to type in at the command window
pkg rebuild -noauto oct2mat
Found this solution in Plot window not responding
Hope this works for u too. :)
I found Sreepad's ans is CORRECT. I use octave on win 10 64-bit OS.
octave 4.0.0 is ok as Sreepad said, But Octave 4.2.1 is not OK on Win 10 64-bit OS.

Does matplotlib support linux 64bit?

I can see installation files for windows 64bit and 32bit, but the tar.gz file for linux doesn't say whether it is 64 or 32bit.
The tar.gz is likely a source package, you have to compile it yourself.
And yes, matplotlib works fine as 64-bit.
The only Linux I'm familiar with is Ubuntu. There, apt-get is your friend. You do not need to compile. However, there are a few steps involved, depending on what you already have on your machine.

Resources