[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Compile 32bit MIPS program on 64bit MIPS - possible?

re-surfacing my own old thread ...

On ARM, I was able to do something really simple to obtain complete 32bit development on a 64bit host:

apt install -y build-essential    # this install 64bit dev environment
apt install -y crossbuild-essential-armhf   # this install 32bit cross-dev environment
apt install -y libc6:armhf
apt install -y libstdc++6:armhf

However, similar steps don't work on mips64.  Specifically it is apparent  crossbuild-essential-mipsel dependency is broken, and if you try to fix the dependencies and it ended up conflicting with build-essential. 

Are there more better way to install a complete 32bit dev environment than what is mentioned earlier in this thread?



On Sun, May 19, 2019 at 9:10 PM Jun Sun <jsun@junsun.net> wrote:
This is very cool!  It worked!  Thanks.

For a complete record here is what I did:
dpkg --add-architecture mipsel
apt-get update 
apt-get install gcc-multilib

Earlier I was using "-m32" option which was not recognized. but  -march=mips32 -mabi=32 worked just fine.

Also, just for the record, if one likes to install 32bit library later, you would just add ":mipsel" to the package name.  For example, you would do "apt install zlib1g:mipsel" to install 32bit version of zlib.



On Sun, May 19, 2019 at 5:55 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年5月20日周一 上午7:42写道:
> Recently I came across a piece of great work by blahcat who created 64bit MIPSEL debian image that runs on qemu.  See  https://blahcat.github.io/2017/07/14/building-a-debian-stretch-qemu-image-for-mipsel/
> I tried to install multilib in the hope to compile 32bit mips code on this 64bit machine.  But it does not seem to work.
how did you install it?
it should be done like:

apt-get install libc6-dev-mips32 gcc
gcc -march=mips32 -mabi=32 xx.c

If your app needs libc only, it is enough.

> Does anybody know for sure whether this is a dead end or just a hiccup which I should overcome?

If your app depends on more libraries, you may need to use an mipsel
env, or use multiarch.

> Thanks.
> Jun

YunQiang Su

Reply to: