title: While building 32-bit executable file in 64-bit Linux I get crt1.o: No such file even with the -m32 flag
body: <p>My Linux Server information is: </p>
  
  <pre><code>[root@centos nan]# uname -a
  Linux centos 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
  </code></pre>
  
  <p>By default, the gcc will generate the 64-bit executable file, so I use the "-m32" flags to build 32-bit executable file.  </p>
  
  <p>After running the following command: </p>
  
  <pre><code>[root@centos nan]# gcc -m32 -o a a.c
  /usr/bin/ld: crt1.o: No such file: No such file or directory
  collect2: ld returned 1 exit status  
  </code></pre>
  
  <p>So how to build 32-bit executable file in 64-bit Linux?</p>