Jun</div></div>
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.
Does anybody know for sure whether this is a dead end or just a hiccup which I should overcome?
Thanks.
Jun
dpkg --add-architecture mipsel
Jun Sun <jsun@junsun.net> 于2019年5月20日周一 上午7:42写道:
Recently I came across a piece of great work by blahcat who created64bit 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 onthis 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
and
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 hiccupwhich I should overcome?
If your app depends on more libraries, you may need to use an mipsel
env, or use multiarch.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
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.</div><div><br></上午7:42写道:<br>
<div>Cheers.</div><div><br></div><div>Jun</div><div><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 19, 2019 at 5:55 PM YunQiang Su <<a href="mailto:wzssyqa@gmail.com">wzssyqa@gmail.com</
> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Jun Sun <<a href="mailto:jsun@junsun.net" target="_blank">jsun@junsun.net</a>> 于2019年5月20日周一
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.
Cheers.
Jun
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写道:
64bit MIPSEL debian image that runs on qemu. See
Recently I came across a piece of great work by blahcat who created
https://blahcat.github.io/2017/07/14/building-a-debian-stretch-qemu-image-for-mipsel/
this 64bit machine. But it does not seem to work.
I tried to install multilib in the hope to compile 32bit mips code on
how did you install it?
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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 hiccupwhich I should overcome?
If your app depends on more libraries, you may need to use an mipsel
env, or use multiarch.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
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?
Thanks!
Jun
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.
Cheers.
Jun
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写道:
how did you install it?
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.
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午5:43写道:
re-surfacing my own old thread ...
On ARM, I was able to do something really simple to obtain complete32bit development on a 64bit host:
apt install -y build-essential # this install 64bit dev environmentcross-dev environment
apt install -y crossbuild-essential-armhf # this install 32bit
apt install -y libc6:armhf
apt install -y libstdc++6:armhf
yep. we don't have the crossbuild-essential-mipsel package.
While for normal user, it is not useful at all.
crossbuild-essential-armhf depends on g++-arm-linux-gnueabihf && gcc-arm-linux-gnueabihf
So, you can do the same thing just by
apt install g++-mipsel-linux-gnu # gcc-mipsel-linux-gnu is not
needed, since g++ depeds on gcc.
However, similar steps don't work on mips64. Specifically it isapparent 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 environmentthan what is mentioned earlier in this thread?
Thanks!
Jun
On Sun, May 19, 2019 at 9:10 PM Jun Sun <jsun@junsun.net> wrote:do "apt install zlib1g:mipsel" to install 32bit version of zlib.
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
on this 64bit machine. But it does not seem to work.
Cheers.
Jun
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
hiccup which I should overcome?how did you install it?
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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
If your app depends on more libraries, you may need to use an mipsel
env, or use multiarch.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
--
YunQiang Su
installing g++-mipsel-linux-gnu gives an error below. Any suggestions? Also, what is the recommended way to set up full 32bit dev environment on 64bit host if crossbuild is not the one?
Jun
root@debian-mips:/home/debian# apt install g++-mipsel-linux-gnu
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++-mipsel-linux-gnu is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'g++-mipsel-linux-gnu' has no installation candidate
On Sat, Dec 28, 2019 at 4:14 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午5:43写道:
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
yep. we don't have the crossbuild-essential-mipsel package.
While for normal user, it is not useful at all.
crossbuild-essential-armhf depends on g++-arm-linux-gnueabihf &&
gcc-arm-linux-gnueabihf
So, you can do the same thing just by
apt install g++-mipsel-linux-gnu # gcc-mipsel-linux-gnu is not
needed, since g++ depeds on gcc.
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?
Thanks!
Jun
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.
Cheers.
Jun
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/how did you install it?
I tried to install multilib in the hope to compile 32bit mips code on this 64bit machine. But it does not seem to work.
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
--
YunQiang Su
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午9:43写道:
installing g++-mipsel-linux-gnu gives an error below. Any suggestions?Also, what is the recommended way to set up full 32bit dev environment on 64bit host if crossbuild is not the one?
Jun
root@debian-mips:/home/debian# apt install g++-mipsel-linux-gnuanother package.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++-mipsel-linux-gnu is not available, but is referred to by
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'g++-mipsel-linux-gnu' has no installation candidate
Ohh, sorry. you are on a mips64el system...
We don't have that compiler, while you can just
apt install libc6-dev-mips32
gcc -mabi=32
On Sat, Dec 28, 2019 at 4:14 PM YunQiang Su <wzssyqa@gmail.com> wrote:to fix the dependencies and it ended up conflicting with build-essential.
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午5:43写道: >> >
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
yep. we don't have the crossbuild-essential-mipsel package.
While for normal user, it is not useful at all.
crossbuild-essential-armhf depends on g++-arm-linux-gnueabihf &&
gcc-arm-linux-gnueabihf
So, you can do the same thing just by
apt install g++-mipsel-linux-gnu # gcc-mipsel-linux-gnu is not
needed, since g++ depeds on gcc.
However, similar steps don't work on mips64. Specifically it is apparent crossbuild-essential-mipsel dependency is broken, and if you try
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.
Are there more better way to install a complete 32bit dev environment than what is mentioned earlier in this thread?
Thanks!
Jun
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
wrote:
Cheers.
Jun
On Sun, May 19, 2019 at 5:55 PM YunQiang Su <wzssyqa@gmail.com>
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/
Jun Sun <jsun@junsun.net> 于2019年5月20日周一 上午7:42写道:
Recently I came across a piece of great work by blahcat who
code on this 64bit machine. But it does not seem to work.
I tried to install multilib in the hope to compile 32bit mips
how did you install it?
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 下午3:33写道:what additional package should we install?
Thanks for the info, YunQiang.
For simple compiling, I can see "gcc -mabl=32" working well. If we want to port complex project and build in 32 bit, we would need to supply CC, AS, LD, AR, CXX, etc. Do we just use all the 64bit versions with "-mabi=32"? For compiling C++ code,
If only stdc++ is needed, install g++-multlib is enough.
If you need more libraries like boost etc, the best choice for you is
to use mipsel port:
sudo apt install debootstrap systemd-container
sudo debootstrap sid sid-mipsel http://ftp.cn.debian.org/debian # I
suppose you are in China.
sudo systemd-nspawn -D sid-mipsel
Or you can have a try of lxc.
Cheers.
Jun
On Sat, Dec 28, 2019 at 9:28 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午9:43写道: >> >
installing g++-mipsel-linux-gnu gives an error below. Any suggestions? Also, what is the recommended way to set up full 32bit dev environment on 64bit host if crossbuild is not the one?
Jun
root@debian-mips:/home/debian# apt install g++-mipsel-linux-gnu
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++-mipsel-linux-gnu is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'g++-mipsel-linux-gnu' has no installation candidate
Ohh, sorry. you are on a mips64el system...
We don't have that compiler, while you can just
apt install libc6-dev-mips32
gcc -mabi=32
On Sat, Dec 28, 2019 at 4:14 PM YunQiang Su <wzssyqa@gmail.com> wrote: >> >>
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午5:43写道:
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
yep. we don't have the crossbuild-essential-mipsel package.
While for normal user, it is not useful at all.
crossbuild-essential-armhf depends on g++-arm-linux-gnueabihf &&
gcc-arm-linux-gnueabihf
So, you can do the same thing just by
apt install g++-mipsel-linux-gnu # gcc-mipsel-linux-gnu is not
needed, since g++ depeds on gcc.
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?
Thanks!
Jun
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.
Cheers.
Jun
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写道:
how did you install it?
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.
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
Thanks for the info, YunQiang.additional package should we install?
For simple compiling, I can see "gcc -mabl=32" working well. If we want to port complex project and build in 32 bit, we would need to supply CC, AS, LD, AR, CXX, etc. Do we just use all the 64bit versions with "-mabi=32"? For compiling C++ code, what
Cheers.
Jun
On Sat, Dec 28, 2019 at 9:28 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午9:43写道:
installing g++-mipsel-linux-gnu gives an error below. Any suggestions? Also, what is the recommended way to set up full 32bit dev environment on 64bit host if crossbuild is not the one?
Jun
root@debian-mips:/home/debian# apt install g++-mipsel-linux-gnu
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++-mipsel-linux-gnu is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'g++-mipsel-linux-gnu' has no installation candidate
Ohh, sorry. you are on a mips64el system...
We don't have that compiler, while you can just
apt install libc6-dev-mips32
gcc -mabi=32
On Sat, Dec 28, 2019 at 4:14 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午5:43写道: >> >> >
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
yep. we don't have the crossbuild-essential-mipsel package.
While for normal user, it is not useful at all.
crossbuild-essential-armhf depends on g++-arm-linux-gnueabihf &&
gcc-arm-linux-gnueabihf
So, you can do the same thing just by
apt install g++-mipsel-linux-gnu # gcc-mipsel-linux-gnu is not
needed, since g++ depeds on gcc.
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?
Thanks!
Jun
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.
Cheers.
Jun
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写道:
how did you install it?
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.
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
YunQiang Su <wzssyqa@gmail.com> 于2019年12月29日周日 下午8:43写道:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 下午3:33写道:
Thanks for the info, YunQiang.
want to port complex project and build in 32 bit, we would need to supplyFor simple compiling, I can see "gcc -mabl=32" working well. If we
CC, AS, LD, AR, CXX, etc. Do we just use all the 64bit versions with "-mabi=32"? For compiling C++ code, what additional package should we install?
If only stdc++ is needed, install g++-multlib is enough.
If you need more libraries like boost etc, the best choice for you is
to use mipsel port:
sudo apt install debootstrap systemd-container
sudo debootstrap sid sid-mipsel http://ftp.cn.debian.org/debian # I suppose you are in China.
sudo systemd-nspawn -D sid-mipsel
Or you can have a try of lxc.
there is another way is that maybe you can have a try multiarch:
https://wiki.debian.org/Multiarch/HOWTO
Cheers.
Jun
suggestions? Also, what is the recommended way to set up full 32bit dev environment on 64bit host if crossbuild is not the one?On Sat, Dec 28, 2019 at 9:28 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午9:43写道: >> >
installing g++-mipsel-linux-gnu gives an error below. Any
by another package.
Jun
root@debian-mips:/home/debian# apt install g++-mipsel-linux-gnu
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++-mipsel-linux-gnu is not available, but is referred to
wrote:This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'g++-mipsel-linux-gnu' has no installation candidate
Ohh, sorry. you are on a mips64el system...
We don't have that compiler, while you can just
apt install libc6-dev-mips32
gcc -mabi=32
On Sat, Dec 28, 2019 at 4:14 PM YunQiang Su <wzssyqa@gmail.com>
complete 32bit development on a 64bit host:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午5:43写道:
re-surfacing my own old thread ...
On ARM, I was able to do something really simple to obtain
environment
apt install -y build-essential # this install 64bit dev
cross-dev environmentapt install -y crossbuild-essential-armhf # this install 32bit
apparent crossbuild-essential-mipsel dependency is broken, and if you tryapt install -y libc6:armhf
apt install -y libstdc++6:armhf
yep. we don't have the crossbuild-essential-mipsel package.
While for normal user, it is not useful at all.
crossbuild-essential-armhf depends on g++-arm-linux-gnueabihf &&
gcc-arm-linux-gnueabihf
So, you can do the same thing just by
apt install g++-mipsel-linux-gnu # gcc-mipsel-linux-gnu is not >> >> needed, since g++ depeds on gcc.
However, similar steps don't work on mips64. Specifically it is
to fix the dependencies and it ended up conflicting with build-essential.
environment than what is mentioned earlier in this thread?
Are there more better way to install a complete 32bit dev
but -march=mips32 -mabi=32 worked just fine.
Thanks!
Jun
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.
library later, you would just add ":mipsel" to the package name. For example, you would do "apt install zlib1g:mipsel" to install 32bit version
Also, just for the record, if one likes to install 32bit
of zlib.
wrote:
Cheers.
Jun
On Sun, May 19, 2019 at 5:55 PM YunQiang Su <wzssyqa@gmail.com>
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/
Jun Sun <jsun@junsun.net> 于2019年5月20日周一 上午7:42写道:
Recently I came across a piece of great work by blahcat who
mips code on this 64bit machine. But it does not seem to work.
I tried to install multilib in the hope to compile 32bit
just a hiccup which I should overcome?how did you install it?
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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
mipsel
If your app depends on more libraries, you may need to use an
env, or use multiarch.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Dec 29, 2019 at 4:59 AM YunQiang Su <<a href="mailto:wzssyqa@gmail.com">wzssyqa@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">YunQiang Su <<a href="mailto:wzssyqa@gmail.com" target="_blank">wzssyqa@gmail.com</a>> 于2019年12月29日周日 下午8:43写道:<br>
Multiarch is the first thing I tried. It generally works in terms of adding foreign architecture, finding/install packages with proper dependencies, runtime support, linkers and etc. The only thing seemingly broken is the crossbuild-essential-mipsel,(or build-essential:mipsel, I think), which is needed to develop 32bit in this multiarch environment. See my earlier email on this.
I think multiarch is the future for debian. We should get it working on 64bit MIPS. It does not seem too far to fix it. From surface, the crossbuild has some unnecessary conflict with native build essential package. Maybe removing those should befine?
Cheers.
Jun
On Sun, Dec 29, 2019 at 4:59 AM YunQiang Su <wzssyqa@gmail.com> wrote:what additional package should we install?
YunQiang Su <wzssyqa@gmail.com> 于2019年12月29日周日 下午8:43写道:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 下午3:33写道: >> > >
Thanks for the info, YunQiang.
For simple compiling, I can see "gcc -mabl=32" working well. If we want to port complex project and build in 32 bit, we would need to supply CC, AS, LD, AR, CXX, etc. Do we just use all the 64bit versions with "-mabi=32"? For compiling C++ code,
If only stdc++ is needed, install g++-multlib is enough.
If you need more libraries like boost etc, the best choice for you is
to use mipsel port:
sudo apt install debootstrap systemd-container
sudo debootstrap sid sid-mipsel http://ftp.cn.debian.org/debian # I
suppose you are in China.
sudo systemd-nspawn -D sid-mipsel
Or you can have a try of lxc.
there is another way is that maybe you can have a try multiarch:
https://wiki.debian.org/Multiarch/HOWTO
Cheers.
Jun
On Sat, Dec 28, 2019 at 9:28 PM YunQiang Su <wzssyqa@gmail.com> wrote: >> > >>
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午9:43写道:
installing g++-mipsel-linux-gnu gives an error below. Any suggestions? Also, what is the recommended way to set up full 32bit dev environment on 64bit host if crossbuild is not the one?
Jun
root@debian-mips:/home/debian# apt install g++-mipsel-linux-gnu
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++-mipsel-linux-gnu is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'g++-mipsel-linux-gnu' has no installation candidate
Ohh, sorry. you are on a mips64el system...
We don't have that compiler, while you can just
apt install libc6-dev-mips32
gcc -mabi=32
On Sat, Dec 28, 2019 at 4:14 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午5:43写道:
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
yep. we don't have the crossbuild-essential-mipsel package.
While for normal user, it is not useful at all.
crossbuild-essential-armhf depends on g++-arm-linux-gnueabihf &&
gcc-arm-linux-gnueabihf
So, you can do the same thing just by
apt install g++-mipsel-linux-gnu # gcc-mipsel-linux-gnu is not >> > >> >> needed, since g++ depeds on gcc.
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?
Thanks!
Jun
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.
Cheers.
Jun
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写道:
how did you install it?
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.
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
I might be out of touch. Who are considered "normal users" for MIPS today? I always thought for a long time MIPS users are pretty much just developers, which means they would need build-essentials. Having crossbuild is just a convenient way toenable development for both 32bit and 64bit on 64bit machine, because I thought, which could be wrong, 32bit crossbuild are simply the same as 32bit native build tools (as in the case of ARM and x86, I presume).
In any case, multilib works as expected so far. Thanks for your help. I will move on down the path of multilib for now.
Cheers.
Jun
On Sun, Dec 29, 2019 at 5:02 PM YunQiang Su <wzssyqa@gmail.com> wrote:mipsel, (or build-essential:mipsel, I think), which is needed to develop 32bit in this multiarch environment. See my earlier email on this.
Jun Sun <jsun@junsun.net> 于2019年12月30日周一 上午6:01写道:
Multiarch is the first thing I tried. It generally works in terms of adding foreign architecture, finding/install packages with proper dependencies, runtime support, linkers and etc. The only thing seemingly broken is the crossbuild-essential-
be fine?
Sorry. My stack is toooo shallow.
build-essential make no sense for normal user at all.
It is used to make sbuild/pbuilder happier.
In fact you should not install crossbuild-essential-* manually at all.
I think multiarch is the future for debian. We should get it working on 64bit MIPS. It does not seem too far to fix it. From surface, the crossbuild has some unnecessary conflict with native build essential package. Maybe removing those should
code, what additional package should we install?
In fact it is too hard to fix.
For a suggestion, the normal user should choose only on from mutlilib
and multiarch.
For example, if you want to use multiarch, you'd have to purge
multilib packages.
Cheers.
Jun
On Sun, Dec 29, 2019 at 4:59 AM YunQiang Su <wzssyqa@gmail.com> wrote:
YunQiang Su <wzssyqa@gmail.com> 于2019年12月29日周日 下午8:43写道:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 下午3:33写道:
Thanks for the info, YunQiang.
For simple compiling, I can see "gcc -mabl=32" working well. If we want to port complex project and build in 32 bit, we would need to supply CC, AS, LD, AR, CXX, etc. Do we just use all the 64bit versions with "-mabi=32"? For compiling C++
If only stdc++ is needed, install g++-multlib is enough.
If you need more libraries like boost etc, the best choice for you is >> >> > to use mipsel port:
sudo apt install debootstrap systemd-container
sudo debootstrap sid sid-mipsel http://ftp.cn.debian.org/debian # I
suppose you are in China.
sudo systemd-nspawn -D sid-mipsel
Or you can have a try of lxc.
there is another way is that maybe you can have a try multiarch:
https://wiki.debian.org/Multiarch/HOWTO
Cheers.
Jun
On Sat, Dec 28, 2019 at 9:28 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午9:43写道:
installing g++-mipsel-linux-gnu gives an error below. Any suggestions? Also, what is the recommended way to set up full 32bit dev environment on 64bit host if crossbuild is not the one?
Jun
root@debian-mips:/home/debian# apt install g++-mipsel-linux-gnu
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++-mipsel-linux-gnu is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or >> >> > >> > is only available from another source
E: Package 'g++-mipsel-linux-gnu' has no installation candidate
Ohh, sorry. you are on a mips64el system...
We don't have that compiler, while you can just
apt install libc6-dev-mips32
gcc -mabi=32
On Sat, Dec 28, 2019 at 4:14 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午5:43写道:
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
yep. we don't have the crossbuild-essential-mipsel package.
While for normal user, it is not useful at all.
crossbuild-essential-armhf depends on g++-arm-linux-gnueabihf && >> >> > >> >> gcc-arm-linux-gnueabihf
So, you can do the same thing just by
apt install g++-mipsel-linux-gnu # gcc-mipsel-linux-gnu is not
needed, since g++ depeds on gcc.
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?
Thanks!
Jun
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.
Cheers.
Jun
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写道:
how did you install it?
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.
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
Jun Sun <jsun@junsun.net> 于2019年12月30日周一 上午6:01写道:
Multiarch is the first thing I tried. It generally works in terms ofadding foreign architecture, finding/install packages with proper dependencies, runtime support, linkers and etc. The only thing seemingly broken is the crossbuild-essential-mipsel, (or build-essential:mipsel, I think), which is needed to develop 32bit in this multiarch environment.
See my earlier email on this.
Sorry. My stack is toooo shallow.
build-essential make no sense for normal user at all.
It is used to make sbuild/pbuilder happier.
In fact you should not install crossbuild-essential-* manually at all.
I think multiarch is the future for debian. We should get it working on64bit MIPS. It does not seem too far to fix it. From surface, the crossbuild has some unnecessary conflict with native build essential
package. Maybe removing those should be fine?
In fact it is too hard to fix.
For a suggestion, the normal user should choose only on from mutlilib
and multiarch.
For example, if you want to use multiarch, you'd have to purge
multilib packages.
Cheers.
Jun
On Sun, Dec 29, 2019 at 4:59 AM YunQiang Su <wzssyqa@gmail.com> wrote:CC, AS, LD, AR, CXX, etc. Do we just use all the 64bit versions with "-mabi=32"? For compiling C++ code, what additional package should we install?
YunQiang Su <wzssyqa@gmail.com> 于2019年12月29日周日 下午8:43写道:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 下午3:33写道: >> > >
Thanks for the info, YunQiang.
For simple compiling, I can see "gcc -mabl=32" working well. If we want to port complex project and build in 32 bit, we would need to supply
wrote:
If only stdc++ is needed, install g++-multlib is enough.
If you need more libraries like boost etc, the best choice for you is
to use mipsel port:
sudo apt install debootstrap systemd-container
sudo debootstrap sid sid-mipsel http://ftp.cn.debian.org/debian # I
suppose you are in China.
sudo systemd-nspawn -D sid-mipsel
Or you can have a try of lxc.
there is another way is that maybe you can have a try multiarch:
https://wiki.debian.org/Multiarch/HOWTO
Cheers.
Jun
On Sat, Dec 28, 2019 at 9:28 PM YunQiang Su <wzssyqa@gmail.com>
to by another package.
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午9:43写道:
installing g++-mipsel-linux-gnu gives an error below. Any suggestions? Also, what is the recommended way to set up full 32bit dev environment on 64bit host if crossbuild is not the one?
Jun
root@debian-mips:/home/debian# apt install g++-mipsel-linux-gnu
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++-mipsel-linux-gnu is not available, but is referred
32bit cross-dev environmentThis may mean that the package is missing, has been obsoleted, or >> > >> > is only available from another source
E: Package 'g++-mipsel-linux-gnu' has no installation candidate
Ohh, sorry. you are on a mips64el system...
We don't have that compiler, while you can just
apt install libc6-dev-mips32
gcc -mabi=32
On Sat, Dec 28, 2019 at 4:14 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午5:43写道:
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
is apparent crossbuild-essential-mipsel dependency is broken, and if youapt install -y libc6:armhf
apt install -y libstdc++6:armhf
yep. we don't have the crossbuild-essential-mipsel package.
While for normal user, it is not useful at all.
crossbuild-essential-armhf depends on g++-arm-linux-gnueabihf && >> > >> >> gcc-arm-linux-gnueabihf
So, you can do the same thing just by
apt install g++-mipsel-linux-gnu # gcc-mipsel-linux-gnu is not
needed, since g++ depeds on gcc.
However, similar steps don't work on mips64. Specifically it
try to fix the dependencies and it ended up conflicting with
build-essential.
wrote:
Are there more better way to install a complete 32bit dev environment than what is mentioned earlier in this thread?
Thanks!
Jun
On Sun, May 19, 2019 at 9:10 PM Jun Sun <jsun@junsun.net>
but -march=mips32 -mabi=32 worked just fine.
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.
of zlib.
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
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/
Cheers.
Jun
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
an mipselhow did you install it?
I tried to install multilib in the hope to compile 32bit mips code on this 64bit machine. But it does not seem to work.
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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
env, or use multiarch.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
Jun Sun <jsun@junsun.net> 于2019年12月30日周一 下午12:31写道:
I might be out of touch. Who are considered "normal users" for MIPStoday? I always thought for a long time MIPS users are pretty much just developers, which means they would need build-essentials. Having
crossbuild is just a convenient way to enable development for both 32bit
and 64bit on 64bit machine, because I thought, which could be wrong, 32bit crossbuild are simply the same as 32bit native build tools (as in the case
of ARM and x86, I presume).
"normal users" here means people not work on Debian itself.
Normal for Debian not MIPS here.
in fact build-essentials package is for some people like some people
who are maintaining the sbuild/chroot etc for Debian its self.
developers, or downstream hardware/software vendors).
So, you are wanting the
`mipsel-linux-gnu-gcc`
command on a mips64el env, instead of to use
`mips64el-linux-gnuabi64-gcc -mabi=32`
?
Yes. Here are the reasons:
If you, yes, we don't provides it with src:gcc-9-cross-mipsen, since I proposed that it is not so useful.
If it is really needed. I will add it.
In any case, multilib works as expected so far. Thanks for your help.I will move on down the path of multilib for now.
Cheers.
Jun
On Sun, Dec 29, 2019 at 5:02 PM YunQiang Su <wzssyqa@gmail.com> wrote:See my earlier email on this.
Jun Sun <jsun@junsun.net> 于2019年12月30日周一 上午6:01写道: >> >
Multiarch is the first thing I tried. It generally works in terms of adding foreign architecture, finding/install packages with proper dependencies, runtime support, linkers and etc. The only thing seemingly broken is the crossbuild-essential-mipsel, (or build-essential:mipsel, I think), which is needed to develop 32bit in this multiarch environment.
on 64bit MIPS. It does not seem too far to fix it. From surface, the crossbuild has some unnecessary conflict with native build essential
Sorry. My stack is toooo shallow.
build-essential make no sense for normal user at all.
It is used to make sbuild/pbuilder happier.
In fact you should not install crossbuild-essential-* manually at all.
I think multiarch is the future for debian. We should get it working
package. Maybe removing those should be fine?
wrote:
In fact it is too hard to fix.
For a suggestion, the normal user should choose only on from mutlilib
and multiarch.
For example, if you want to use multiarch, you'd have to purge
multilib packages.
Cheers.
Jun
On Sun, Dec 29, 2019 at 4:59 AM YunQiang Su <wzssyqa@gmail.com>
we want to port complex project and build in 32 bit, we would need to
YunQiang Su <wzssyqa@gmail.com> 于2019年12月29日周日 下午8:43写道:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 下午3:33写道:
Thanks for the info, YunQiang.
For simple compiling, I can see "gcc -mabl=32" working well. If
supply CC, AS, LD, AR, CXX, etc. Do we just use all the 64bit versions
with "-mabi=32"? For compiling C++ code, what additional package should we install?
is
If only stdc++ is needed, install g++-multlib is enough.
If you need more libraries like boost etc, the best choice for you
# Ito use mipsel port:
sudo apt install debootstrap systemd-container
sudo debootstrap sid sid-mipsel http://ftp.cn.debian.org/debian
g++-mipsel-linux-gnusuppose you are in China.
sudo systemd-nspawn -D sid-mipsel
Or you can have a try of lxc.
there is another way is that maybe you can have a try multiarch:
https://wiki.debian.org/Multiarch/HOWTO
Cheers.
Jun
On Sat, Dec 28, 2019 at 9:28 PM YunQiang Su <wzssyqa@gmail.com> wrote:
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午9:43写道:
installing g++-mipsel-linux-gnu gives an error below. Any suggestions? Also, what is the recommended way to set up full 32bit dev environment on 64bit host if crossbuild is not the one?
Jun
root@debian-mips:/home/debian# apt install
referred to by another package.Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++-mipsel-linux-gnu is not available, but is
obsoleted, orThis may mean that the package is missing, has been
candidateis only available from another source
E: Package 'g++-mipsel-linux-gnu' has no installation
wzssyqa@gmail.com> wrote:
Ohh, sorry. you are on a mips64el system...
We don't have that compiler, while you can just
apt install libc6-dev-mips32
gcc -mabi=32
On Sat, Dec 28, 2019 at 4:14 PM YunQiang Su <
g++-arm-linux-gnueabihf &&
Jun Sun <jsun@junsun.net> 于2019年12月29日周日 上午5:43写道:
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
yep. we don't have the crossbuild-essential-mipsel package.
While for normal user, it is not useful at all.
crossbuild-essential-armhf depends on
is notgcc-arm-linux-gnueabihf
So, you can do the same thing just by
apt install g++-mipsel-linux-gnu # gcc-mipsel-linux-gnu
it is apparent crossbuild-essential-mipsel dependency is broken, and ifneeded, since g++ depeds on gcc.
However, similar steps don't work on mips64. Specifically
you try to fix the dependencies and it ended up conflicting with build-essential.
recognized. but -march=mips32 -mabi=32 worked just fine.
Are there more better way to install a complete 32bit dev environment than what is mentioned earlier in this thread?
Thanks!
Jun
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
of zlib.
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
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/
Cheers.
Jun
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
32bit mips code on this 64bit machine. But it does not seem to work.
I tried to install multilib in the hope to compile
or just a hiccup which I should overcome?how did you install it?
it should be done like:
apt-get install libc6-dev-mips32 gcc
and
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
use an mipsel
If your app depends on more libraries, you may need to
env, or use multiarch.
https://wiki.debian.org/Multiarch/HOWTO
Thanks.
Jun
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
--
YunQiang Su
@Jun Sun FYI, the src:build-essential-mipsen package has been in Sid now.
Jun</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 7, 2020 at 6:14 AM YunQiang Su <<a href="mailto:wzssyqa@gmail.com">wzssyqa@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">@Jun Sun FYI, the src:build-essential-mipsen package has been in Sid now.<br>
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 433 |
Nodes: | 16 (2 / 14) |
Uptime: | 62:59:41 |
Calls: | 9,092 |
Calls today: | 1 |
Files: | 13,412 |
Messages: | 6,025,560 |