使用glibc 2.4,mozilla-firefox不能通过编译的请看![转贴]
时间:2006-03-14
来源:互联网
转贴自:
http://forums.gentoo.org/viewtopic-t...t-mozilla.html
如果你使用glibc2.4可能会遇到以下的问题:
试试这个:
http://forums.gentoo.org/viewtopic-t...t-mozilla.html
如果你使用glibc2.4可能会遇到以下的问题:
代码:
i686-pc-linux-gnu-g++ -o nsStackFrameUnix.o -c -I../../dist/include/system_wrappers -include ../../config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DBUILD_ID=2006020611 -D_IMPL_NS_COM -I../../dist/include/string -I../../dist/include/xpcom -I../../dist/include -I/usr/include/nspr -I/usr/X11R6/include -fPIC -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\" -I/usr/X11R6/include -fno-rtti -fno-handle-exceptions -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -march=pentium4 -pipe -Wno-return-type -w -freorder-blocks -fno-reorder-functions -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -O2 -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\" -I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../mozilla-config.h -Wp,-MD,.deps/nsStackFrameUnix.pp nsStackFrameUnix.cpp nsIConsoleListener.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIConsoleListener nsIConsoleListener.idl nsIConsoleMessage.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIConsoleMessage nsIConsoleMessage.idl nsIConsoleService.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIConsoleService nsIConsoleService.idl nsIErrorService.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIErrorService nsIErrorService.idl nsIException.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIException nsIException.idl nsIExceptionService.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIExceptionService nsIExceptionService.idl nsIVersionComparator.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIVersionComparator nsIVersionComparator.idl nsIDebug.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIDebug nsIDebug.idl nsIInterfaceRequestor.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIInterfaceRequestor nsIInterfaceRequestor.idl nsIMemory.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIMemory nsIMemory.idl nsIProgrammingLanguage.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIProgrammingLanguage nsIProgrammingLanguage.idl nsISupports.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsISupports nsISupports.idl nsITraceRefcnt.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsITraceRefcnt nsITraceRefcnt.idl nsIWeakReference.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsIWeakReference nsIWeakReference.idl nsrootidl.idl ../../dist/bin/xpidl -m typelib -w -I ../../dist/idl -I. -o _xpidlgen/nsrootidl nsrootidl.idl ../../dist/bin/xpt_link _xpidlgen/xpcom_base.xpt _xpidlgen/nsIConsoleListener.xpt _xpidlgen/nsIConsoleMessage.xpt _xpidlgen/nsIConsoleService.xpt _xpidlgen/nsIErrorService.xpt _xpidlgen/nsIException.xpt _xpidlgen/nsIExceptionService.xpt _xpidlgen/nsIVersionComparator.xpt _xpidlgen/nsIDebug.xpt _xpidlgen/nsIInterfaceRequestor.xpt _xpidlgen/nsIMemory.xpt _xpidlgen/nsIProgrammingLanguage.xpt _xpidlgen/nsISupports.xpt _xpidlgen/nsITraceRefcnt.xpt _xpidlgen/nsIWeakReference.xpt _xpidlgen/nsrootidl.xpt nsStackFrameUnix.cpp: In function 'void DumpStackToFile(FILE*)': nsStackFrameUnix.cpp:101: error: 'JB_BP' was not declared in this scope gmake[3]: *** [nsStackFrameUnix.o] Error 1 gmake[3]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5-r11/work/mozilla/xpcom/base' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5-r11/work/mozilla/xpcom' gmake[1]: *** [tier_2] Error 2 gmake[1]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5-r11/work/mozilla' make: *** [default] Error 2 !!! ERROR: www-client/mozilla-firefox-1.5-r11 failed. Call stack: ebuild.sh, line 1894: Called dyn_compile ebuild.sh, line 941: Called src_compile !!! (no error message) !!! If you need support, post the topmost build error, and the call stack if relevant.
上传的附件
mozilla-firefox-1.5.0.1-overlay.tar.bz2 (19.6 KB, 20 次查看) |
作者: ifree 发布时间: 2006-03-14
整了半天,mozilla的两个类似补丁打不上。有没有人可以写个overlay出来呢?
下面附上补丁:
下面附上补丁:
代码:
--- xpcom/base/nsTraceRefcntImpl.cpp 2004-02-11 07:16:10.000000000 +0000 +++ xpcom/base/nsTraceRefcntImpl.cpp 2006-03-13 05:56:48.810241000 +0000 @@ -50,19 +50,6 @@ #if defined(_WIN32) #include <windows.h> -#elif defined(linux) && defined(__GLIBC__) && (defined(__i386) || defined(PPC)) -#include <setjmp.h> - -// -// On glibc 2.1, the Dl_info api defined in <dlfcn.h> is only exposed -// if __USE_GNU is defined. I suppose its some kind of standards -// adherence thing. -// -#if (__GLIBC_MINOR__ >= 1) && !defined(__USE_GNU) -#define __USE_GNU -#endif - -#include <dlfcn.h> #endif #ifdef HAVE_LIBDL @@ -484,7 +471,7 @@ #endif /* NS_BUILD_REFCNT_LOGGING */ -nsresult +NS_COM nsresult nsTraceRefcntImpl::DumpStatistics(StatisticsType type, FILE* out) { nsresult rv = NS_OK; @@ -561,7 +548,7 @@ return rv; } -void +NS_COM void nsTraceRefcntImpl::ResetStatistics() { #ifdef NS_BUILD_REFCNT_LOGGING @@ -850,7 +837,7 @@ #if defined(_WIN32) && defined(_M_IX86) // WIN32 x86 stack walking code #include "nsStackFrameWin.h" -void +NS_COM void nsTraceRefcntImpl::WalkTheStack(FILE* aStream) { DumpStackToFile(aStream); @@ -858,9 +845,9 @@ // WIN32 x86 stack walking code // i386 or PPC Linux stackwalking code or Solaris -#elif (defined(linux) && defined(__GLIBC__) && (defined(__i386) || defined(PPC))) || (defined(__sun) && (defined(__sparc) || defined(sparc) || defined(__i386) || defined(i386))) +#elif (defined(linux) && defined(__GNUC__) && (defined(__i386) || defined(PPC))) || (defined(__sun) && (defined(__sparc) || defined(sparc) || defined(__i386) || defined(i386))) #include "nsStackFrameUnix.h" -void +NS_COM void nsTraceRefcntImpl::WalkTheStack(FILE* aStream) { DumpStackToFile(aStream); @@ -960,7 +947,7 @@ #else // unsupported platform. -void +NS_COM void nsTraceRefcntImpl::WalkTheStack(FILE* aStream) { fprintf(aStream, "write me, dammit!\n");
代码:
---xpcom/base/nsStackFrameUnix.cpp 2004-03-08 07:47:44.000000000 +0000 +++ xpcom/base/nsStackFrameUnix.cpp 2006-03-13 05:56:48.866244500 +0000 @@ -78,25 +78,15 @@ } -#if defined(linux) && defined(__GLIBC__) && (defined(__i386) || defined(PPC)) // i386 or PPC Linux stackwalking code +#if defined(linux) && defined(__GNUC__) && (defined(__i386) || defined(PPC)) // i386 or PPC Linux stackwalking code -#include <setjmp.h> -// void DumpStackToFile(FILE* aStream) { - jmp_buf jb; - setjmp(jb); - // Stack walking code courtesy Kipp's "leaky". - // Get the frame pointer out of the jmp_buf - void **bp = (void**) -#if defined(__i386) - (jb[0].__jmpbuf[JB_BP]); -#elif defined(PPC) - (jb[0].__jmpbuf[JB_GPR1]); -#endif + // Get the frame pointer + void **bp = (void**) __builtin_frame_address(0); int skip = 2; for ( ; (void**)*bp > bp; bp = (void**)*bp) {
作者: ifree 发布时间: 2006-03-14
正在用gcc4.1.0 emerge -e world
glibc2.4 已经成功编译过去了 希望firefox不要出问题
glibc2.4 已经成功编译过去了 希望firefox不要出问题
作者: fakeid 发布时间: 2006-03-14
按我上面给的连接所说,你用glibc2.4后编译firefox不用那个补丁会出问题的。mozilla也会遇到同样的问题。
因为mozilla出问题,所以gnome中一些依赖于mozilla的也编译不过。
因为mozilla出问题,所以gnome中一些依赖于mozilla的也编译不过。
作者: ifree 发布时间: 2006-03-14
已经成功 emerge -e world 成功 没有所说的问题
gentoo 2006.0 amd64 gcc4.1.0 glibc2.4 firefox1.5.0.1 成功编译 中间没有问题
gentoo 2006.0 amd64 gcc4.1.0 glibc2.4 firefox1.5.0.1 成功编译 中间没有问题
作者: fakeid 发布时间: 2006-03-16
是吗?我是编译的32位系统;难道32位的和64位的不同?
作者: ifree 发布时间: 2006-03-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28