Gents,
I am trying to do a "gcc -m32" on a x86_64 box.
gcc -m32 /tmp/jj.c /usr/bin/ld: crt1.o: No such file: No such file or directory collect2: ld returned 1 exit status
This is the error I get.
I did a "yum install glib.i386" successfully. there is no "yum install glib-devel.i386".
How can i get a "gcc -m32" compile on my x86_64?
THanks,
Jerry
On Mon, Nov 27, 2006 at 01:05:22PM -0500, Jerry Geis wrote:
Gents, I am trying to do a "gcc -m32" on a x86_64 box. gcc -m32 /tmp/jj.c /usr/bin/ld: crt1.o: No such file: No such file or directory collect2: ld returned 1 exit status This is the error I get. I did a "yum install glib.i386" successfully. there is no "yum install glib-devel.i386". How can i get a "gcc -m32" compile on my x86_64?
try
setarch i386 gcc -m32
On Mon, Nov 27, 2006 at 01:05:22PM -0500, Jerry Geis wrote:
/ Gents,
/>>/ I am trying to do a "gcc -m32" on a x86_64 box. />>/ gcc -m32 /tmp/jj.c />>/ /usr/bin/ld: crt1.o: No such file: No such file or directory />>/ collect2: ld returned 1 exit status />>/ This is the error I get. />>/ I did a "yum install glib.i386" successfully. />>/ there is no "yum install glib-devel.i386". />>/ How can i get a "gcc -m32" compile on my x86_64?>> /
try
setarch i386 gcc -m32
That did not do it either....
My jj.c program is basically hello world.
#include <stdio.h>
int main(int argc, char *argv[]) { printf("Hello world\n"); }
when I run "setarch i386 gcc -m32 jj.c"
I still get.
setarch i386 gcc -m32 jj.c /usr/bin/ld: crt1.o: No such file: No such file or directory collect2: ld returned 1 exit status
Am I missing something?
THanks,
Jerry
On Mon, 2006-11-27 at 13:27 -0500, Jerry Geis wrote:
On Mon, Nov 27, 2006 at 01:05:22PM -0500, Jerry Geis wrote:
/ Gents,
/>>/ I am trying to do a "gcc -m32" on a x86_64 box. />>/ gcc -m32 /tmp/jj.c />>/ /usr/bin/ld: crt1.o: No such file: No such file or directory />>/ collect2: ld returned 1 exit status />>/ This is the error I get. />>/ I did a "yum install glib.i386" successfully. />>/ there is no "yum install glib-devel.i386". />>/ How can i get a "gcc -m32" compile on my x86_64?>> /
try
setarch i386 gcc -m32
That did not do it either....
My jj.c program is basically hello world.
#include <stdio.h>
int main(int argc, char *argv[]) { printf("Hello world\n"); }
when I run "setarch i386 gcc -m32 jj.c"
I still get.
setarch i386 gcc -m32 jj.c /usr/bin/ld: crt1.o: No such file: No such file or directory collect2: ld returned 1 exit status
Am I missing something?
I order to build 32 bit programs on an x86_64 machine, I would create a totally 32 bit chroot on that machine.
Inside the 32 bit chroot, you will still need to use "setarch i386" in front of your make commands (or rpmbuild commands).
If you want to build 64bit stuff, you need to have a fully x86_64 only machine (with the only x86 RPMS being glibc.i686 and glibc-devel.i386).
If you have other i386 rpms in the x86_64 build tree, you will inevitably get 32bit stuff in your 64 bit compiles ... and if you have x86_64 items in your i386 build tree, you will inevitably pollute your 32 bit items with 64bit libraries ...
Thanks, Johnny Hughes
Johnny Hughes wrote:
On Mon, 2006-11-27 at 13:27 -0500, Jerry Geis wrote:
On Mon, Nov 27, 2006 at 01:05:22PM -0500, Jerry Geis wrote:
/ Gents,
/>>/ I am trying to do a "gcc -m32" on a x86_64 box. />>/ gcc -m32 /tmp/jj.c />>/ /usr/bin/ld: crt1.o: No such file: No such file or directory />>/ collect2: ld returned 1 exit status />>/ This is the error I get. />>/ I did a "yum install glib.i386" successfully. />>/ there is no "yum install glib-devel.i386". />>/ How can i get a "gcc -m32" compile on my x86_64?>> /
try setarch i386 gcc -m32
That did not do it either....
My jj.c program is basically hello world.
#include <stdio.h>
int main(int argc, char *argv[]) { printf("Hello world\n"); }
when I run "setarch i386 gcc -m32 jj.c"
I still get.
setarch i386 gcc -m32 jj.c /usr/bin/ld: crt1.o: No such file: No such file or directory collect2: ld returned 1 exit status
Am I missing something?
I order to build 32 bit programs on an x86_64 machine, I would create a totally 32 bit chroot on that machine.
Inside the 32 bit chroot, you will still need to use "setarch i386" in front of your make commands (or rpmbuild commands).
If you want to build 64bit stuff, you need to have a fully x86_64 only machine (with the only x86 RPMS being glibc.i686 and glibc-devel.i386).
If you have other i386 rpms in the x86_64 build tree, you will inevitably get 32bit stuff in your 64 bit compiles ... and if you have x86_64 items in your i386 build tree, you will inevitably pollute your 32 bit items with 64bit libraries ...
Thanks, Johnny Hughes
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
I have never had any problems with a mix of 64bit and 32bit libraries as long as I used the RHEL(or rather, CentOS)-supplied RPMs - the libraries are stored in different places, and the loader and compilers know about this.
One very helpful way is to have the line
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
in /etc/rpm/macros. This makes you see the architecture in all rpm -q queries.
Kay
Damn! Yesterday evening I leave my internal web server up and running. This morning I experienced a down, so I did some quickly check and I saw that Apache is down. Restarting I read this error message:
/usr/sbin/httpd: symbol lookup error: /usr/sbin/httpd: undefined symbol: apr_array_ma+e
What?!? Why?!?!
Can someone telle me what happened? I didn't touch this server, no new software install, no modified conf... :-(
Hope someone can help me.
Best regard, Nando Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
A reboot solved the problem but I can't reboot a webserver every day!!! When this server will go to be a production must guarantte availability for ever and ever... I hope this will not occour another time.
Thank you all! Nando
Ferdinando Santacroce ha scritto:
Damn! Yesterday evening I leave my internal web server up and running. This morning I experienced a down, so I did some quickly check and I saw that Apache is down. Restarting I read this error message:
/usr/sbin/httpd: symbol lookup error: /usr/sbin/httpd: undefined symbol: apr_array_ma+e
What?!? Why?!?!
Can someone telle me what happened? I didn't touch this server, no new software install, no modified conf... :-(
Hope someone can help me.
Best regard, Nando Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Chiacchiera con i tuoi amici in tempo reale! http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
Çäðàâñòâóéòå, Ferdinando.
Âû ïèñàëè 29 ?????? 2006 ?., 13:04:39:
A reboot solved the problem but I can't reboot a webserver every day!!! When this server will go to be a production must guarantte availability for ever and ever... I hope this will not occour another time.
Consider installing Cluster Suite, and configuring a bunch of nodes + LVS (or use some think like Cisco Director, e.t.c., as a cluster manager). Using only one server for a HA service in production environment is madness.
Thank you Alexey! Well, it's just a simple web site, not a 99,999% service, but see a server who need a reboot to work again seems a little bit the Windows way... :-P No, no, no, I don't want reboot to make my server work! Your suggestions are best practices in server management, I know, but my farm is a little farm where only one server is available due to money availability... Well, hope this would be just a bad joke...
Thank you! Nando
Alexey Loukianov ha scritto:
Çäðàâñòâóéòå, Ferdinando.
Âû ïèñàëè 29 ?????? 2006 ?., 13:04:39:
A reboot solved the problem but I can't reboot a webserver every day!!! When this server will go to be a production must guarantte availability for ever and ever... I hope this will not occour another time.
Consider installing Cluster Suite, and configuring a bunch of nodes + LVS (or use some think like Cisco Director, e.t.c., as a cluster manager). Using only one server for a HA service in production environment is madness.
On 11/29/06, Ferdinando Santacroce jesus_was_rasta@yahoo.it wrote:
Thank you Alexey! Well, it's just a simple web site, not a 99,999% service, but see a server who need a reboot to work again seems a little bit the Windows way... :-P No, no, no, I don't want reboot to make my server work! Your suggestions are best practices in server management, I know, but my farm is a little farm where only one server is available due to money availability... Well, hope this would be just a bad joke...
Have you looked at the log files to see if there were any errors when it crashed? Are you using any 3rd party apache modules? What are you using that's different from the default httpd setup? Have you verified the hardware (memtest, burn-in etc)?
On 11/29/06, Ferdinando Santacroce jesus_was_rasta@yahoo.it wrote:
Damn! Yesterday evening I leave my internal web server up and running. This morning I experienced a down, so I did some quickly check and I saw that Apache is down. Restarting I read this error message:
/usr/sbin/httpd: symbol lookup error: /usr/sbin/httpd: undefined symbol: apr_array_ma+e
I am not sure why it's printing a "+" instead of a "k,", but that symbol should actually be apr_array_make, which is defined in libapr.so:
$ nm libapr-0.so.0.9.12 | grep apr_array_make [718] | 48020| 60|FUNC |GLOB |0 |10 |apr_array_make
Does the web server hang or does it exit? Do you see any errors in the error_log? Are logfiles rotated around the time of the hang? Do you see the apr_array_make symbol in libapr when the hang occurs? Depending on the type of hang, you should be able to use mod_backtrace (and possibly kill -s SIGABRT) to get a stack trace when the server crashes. If you're interested in using mod_backtrace to debug the hang, I documented how to use it in my Apache internals and debugging presentation, which is on my website:
Thanks, - Ryan
Ferdinando Santacroce wrote:
/usr/sbin/httpd: symbol lookup error: /usr/sbin/httpd: undefined symbol: apr_array_ma+e
As Ryan pointed out, it should be "make" not "ma+e". "k" is 6B in hex, "+" is 2B. That's a one-bit difference. So I'd be suspicious that there's some hardware problem, RAM or disk or something else. I think it would be worth running memtest86 on this machine for a while.
Dan
Jerry Geis wrote:
Gents,
I am trying to do a "gcc -m32" on a x86_64 box.
gcc -m32 /tmp/jj.c /usr/bin/ld: crt1.o: No such file: No such file or directory collect2: ld returned 1 exit status
This is the error I get.
I did a "yum install glib.i386" successfully. there is no "yum install glib-devel.i386".
How can i get a "gcc -m32" compile on my x86_64?
THanks,
Jerry
yum install glibc-devel.i386
you were missing the "c" (glibc, not glib). HTH, Kay