Linuxsir.org

                登录 注册 

 

返回列表
上一主题 下一主题

使用glibc 2.4,mozilla-firefox不能通过编译的请看![转贴]

用户头衔:注册会员

状态:我不在线

楼主
发表于 2006-03-14 13:51:44 |只看该作者 |倒序浏览
转贴自:
http://forums.gentoo.org/viewtopic-t-430818-highlight-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.60KB
暂时不签名了。

用户头衔:注册会员

状态:我不在线

沙发
发表于 2006-03-14 14:49:41 |只看该作者 |倒序浏览
整了半天,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) {

暂时不签名了。

用户头衔:注册会员

状态:我不在线

板凳
发表于 2006-03-14 15:45:51 |只看该作者 |倒序浏览
正在用gcc4.1.0 emerge -e world
glibc2.4 已经成功编译过去了 希望firefox不要出问题
os gentoo amd64<br /> Win2003 sp1<br /> cpu semporn2500 KST512m*2 <br /> samsung sataII 200g<br /> seagate sata 120g

用户头衔:注册会员

状态:我不在线

4 楼
发表于 2006-03-14 17:26:30 |只看该作者 |倒序浏览
按我上面给的连接所说,你用glibc2.4后编译firefox不用那个补丁会出问题的。mozilla也会遇到同样的问题。
因为mozilla出问题,所以gnome中一些依赖于mozilla的也编译不过。
暂时不签名了。

用户头衔:注册会员

状态:我不在线

5 楼
发表于 2006-03-15 20:36:06 |只看该作者 |倒序浏览
已经成功 emerge -e world 成功 没有所说的问题
gentoo 2006.0 amd64 gcc4.1.0 glibc2.4 firefox1.5.0.1 成功编译 中间没有问题
os gentoo amd64<br /> Win2003 sp1<br /> cpu semporn2500 KST512m*2 <br /> samsung sataII 200g<br /> seagate sata 120g

用户头衔:注册会员

状态:我不在线

6 楼
发表于 2006-03-15 23:50:28 |只看该作者 |倒序浏览
是吗?我是编译的32位系统;难道32位的和64位的不同?
暂时不签名了。
返回列表
Processed in : 0.337000 second(s) ©2013LinuxSir - 服务条款 - 免责声明 - 闽ICP备06025536号
回顶部