|
From: Alejandro <ale...@tu...> - 2006-03-20 18:42:48
|
Hello, I'm having the following problem while trying to compile valgrind-3.1.1 on a Debian (sarge) pure amd64 : /usr/bin/ld: skipping incompatible /usr/lib/gcc-lib/x86_64-linux/3.3.5/./libgcc.a when searching for -lgcc /usr/bin/ld: skipping incompatible /usr/lib/gcc-lib/x86_64-linux/3.3.5/libgcc.awhen searching for -lgcc /usr/bin/ld: cannot find -lgcc collect2: ld returned 1 exit status make[3]: *** [memcheck-x86-linux] Error 1 make[3]: Leaving directory `/usr/local/valgrind-3.1.1/memcheck' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/local/valgrind-3.1.1/memcheck' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/valgrind-3.1.1' make: *** [all] Error 2 Does ayone knows what I am missing here. Suggestions are welcome Thanks, Alejandro |
|
From: Sergey V. <vs...@al...> - 2006-03-21 17:00:36
|
On Mon, 20 Mar 2006 19:42:01 -0500 Alejandro wrote:
> I'm having the following problem while trying to compile valgrind-3.1.1 on a
> Debian (sarge) pure amd64 :
>
> /usr/bin/ld: skipping incompatible
> /usr/lib/gcc-lib/x86_64-linux/3.3.5/./libgcc.a when searching for
> -lgcc
> /usr/bin/ld: skipping incompatible
> /usr/lib/gcc-lib/x86_64-linux/3.3.5/libgcc.awhen searching for -lgcc
> /usr/bin/ld: cannot find -lgcc
> collect2: ld returned 1 exit status
> make[3]: *** [memcheck-x86-linux] Error 1
> make[3]: Leaving directory `/usr/local/valgrind-3.1.1/memcheck'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/usr/local/valgrind-3.1.1/memcheck'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/usr/local/valgrind-3.1.1'
> make: *** [all] Error 2
>
> Does ayone knows what I am missing here. Suggestions are welcome
Here in ALT Linux we have the same problem - our x86_64 version does not
have 32-bit libraries. I made this quick and dirty patch to work around
this problem:
--- valgrind-3.1.0/tests/cputest.c.alt-x86_64-no-biarch 2005-11-25 15:35:55 +0300
+++ valgrind-3.1.0/tests/cputest.c 2006-01-09 22:35:25 +0300
@@ -45,6 +45,12 @@
static Bool go(char* cpu)
{
+#if defined(__x86_64__)
+ if ( strcmp( cpu, "amd64" ) == 0 )
+ return True;
+ else
+ return False;
+#else
unsigned int level = 0, mask = 0, a, b, c, d;
if ( strcmp( cpu, "x86" ) == 0 ) {
@@ -83,6 +89,7 @@
if ( ( d & mask ) != 0 ) return True;
}
return False;
+#endif
}
#endif // __i386__ || __x86_64__
--- valgrind-3.1.0/configure.in.alt-x86_64-no-biarch 2006-01-09 22:34:10 +0300
+++ valgrind-3.1.0/configure.in 2006-01-09 22:34:13 +0300
@@ -220,7 +220,7 @@
;;
esac
-AM_CONDITIONAL(VG_X86_LINUX, test x$VG_PLATFORM = xx86-linux -o x$VG_PLATFORM = xamd64-linux)
+AM_CONDITIONAL(VG_X86_LINUX, test x$VG_PLATFORM = xx86-linux)
AM_CONDITIONAL(VG_AMD64_LINUX, test x$VG_PLATFORM = xamd64-linux)
AM_CONDITIONAL(VG_PPC32_LINUX, test x$VG_PLATFORM = xppc32-linux)
Obviously, this is not a general solution - the proper way is to add a
test for 32-bit support in configure.in and turn off 32-bit parts only
if that test fails. However, I did not have time to do that yet.
|
|
From: Julian S. <js...@ac...> - 2006-03-21 18:56:41
|
> > Does ayone knows what I am missing here. Suggestions are welcome > > Here in ALT Linux we have the same problem - our x86_64 version does not > have 32-bit libraries. There is no direct fix for 3.1.1. However, using the latest svn sources (which will become 3.2.0) you can configure using --enable-only64bit, which should give you a 64-bit only build. See http://valgrind.org/downloads/repository.html for how to check out / build the svn sources. J |