# Compiling 32 bit programs on 64 bit system

**URL:** <https://linux-tips.com/t/compiling-32-bit-programs-on-64-bit-system/65>\
**Category:** Programming\
**Created:** [January 1, 2015, 8:48pm UTC](https://linux-tips.com/t/compiling-32-bit-programs-on-64-bit-system/65 "2015-01-01T20:48:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Greg](https://linux-tips.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@Greg](https://linux-tips.com/u/Greg)\
**Post date:** [January 1, 2015, 8:48pm UTC](https://linux-tips.com/t/compiling-32-bit-programs-on-64-bit-system/65/1 "2015-01-01T20:48:10Z")

</div>

I’m using a chroot environment to compile my program for 32 bit environments. Using chroot environment through schroot is easy but is there a way to make compiling without using chroot?

---

<div class="post-metadata">

**Author:** ![DrSlump](https://linux-tips.com/user_avatar/linux-tips.com/drslump/32/61_2.png) [@DrSlump](https://linux-tips.com/u/DrSlump)\
**Post date:** [January 1, 2015, 8:57pm UTC](https://linux-tips.com/t/compiling-32-bit-programs-on-64-bit-system/65/2 "2015-01-01T20:57:55Z")

</div>

Yes, you can use `-m32` option of gcc

In order to be able to compile with `-m32` option, you need multilib gcc and `libc6` development package for i386 platform.

You can install with in Debian based systems like that:

```
sudo apt-get install libc6-i386 gcc-multilib

```

If you want make same on c++, you have to install similar packages for c++ environment like that:

```
sudo apt-get install g++-multilib lib32stdc++-4.9-dev

```

After that you can compile programs with:

```
gcc -m32 -o myprog myprog.c
```
