emerge -eav world 1/3 くらいでエラーで停止

  • 勘弁してくれ
  • 333パッケージもありんすよ
i686-pc-linux-gnu-g++ -DPACKAGE_NAME=\"gc\" -DPACKAGE_TARNAME=\"gc\" -DPACKAGE_VERSION=\"6.5\" "-DPACKAGE_STRING=\"gc 6.5\"" -DPACKAGE_BUGREPORT=\"Hans.Boehm@hp.com\" -DGC_VERSION_MAJOR=6 -DGC_VERSION_MINOR=5 -DPACKAGE=\"gc\" -DVERSION=\"6.5\" -DGC_LINUX_THREADS=1 -D_REENTRANT=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -I. -I. -I./include -fexceptions -Os -march=pentium4 -pipe -MT gc_cpp.lo -MD -MP -MF .deps/gc_cpp.Tpo -c gc_cpp.cc  -fPIC -DPIC -o .libs/gc_cpp.lo
./include/gc_cpp.h:183: error: extra qualification 'gc::' on member 'operator delete []'
make[1]: *** [gc_cpp.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
i686-pc-linux-gnu-gcc -shared  allchblk.lo alloc.lo blacklst.lo checksums.lo dbg_mlc.lo dyn_load.lo finalize.lo gc_dlopen.lo gcj_mlc.lo headers.lo malloc.lo mallocx.lo mark.lo mark_rts.lo misc.lo new_hblk.lo obj_map.lo os_dep.lo pcr_interface.lo ptr_chck.lo real_malloc.lo reclaim.lo solaris_pthreads.lo solaris_threads.lo specific.lo stubborn.lo typd_mlc.lo backgraph.lo win32_threads.lo pthread_support.lo pthread_stop_world.lo darwin_stop_world.lo mach_dep.lo  -lpthread -ldl  -Wl,-soname -Wl,libgc.so.1 -o .libs/libgc.so.1.0.2
(cd .libs && rm -f libgc.so.1 && ln -s libgc.so.1.0.2 libgc.so.1)
(cd .libs && rm -f libgc.so && ln -s libgc.so.1.0.2 libgc.so)
i686-pc-linux-gnu-ar cru .libs/libgc.a  allchblk.o alloc.o blacklst.o checksums.o dbg_mlc.o dyn_load.o finalize.o gc_dlopen.o gcj_mlc.o headers.o malloc.o mallocx.o mark.o mark_rts.o misc.o new_hblk.o obj_map.o os_dep.o pcr_interface.o ptr_chck.o real_malloc.o reclaim.o solaris_pthreads.o solaris_threads.o specific.o stubborn.o typd_mlc.o backgraph.o win32_threads.o pthread_support.o pthread_stop_world.o darwin_stop_world.o mach_dep.o
i686-pc-linux-gnu-ranlib .libs/libgc.a
creating libgc.la
(cd .libs && rm -f libgc.la && ln -s ../libgc.la libgc.la)
make[1]: Leaving directory `/var/tmp/portage/boehm-gc-6.5/work/gc6.5'
make: *** [all-recursive] Error 1

!!! ERROR: dev-libs/boehm-gc-6.5 failed.
Call stack:
  ebuild.sh, line 1539:   Called dyn_compile
  ebuild.sh, line 939:   Called src_compile
  boehm-gc-6.5.ebuild, line 43:   Called die

!!! (no error message)
!!! If you need support, post the topmost build error, and the call stack if relevant.
#   ifdef GC_PLACEMENT_DELETE
      inline void operator delete[]( void*, void* );
#   endif
  • ソース書き換えろってか
  • 自分でソース落として make ならいいんだけど portage だと面倒っぽいな
    • 試しにテンポラリディレクトリに展開してあった gc_cpp.h 183 行目編集したけど emerge --resume すると再度展開するから上書きされる
    • そりゃそうだよね
  • 俺俺 ebuild 作るしかないのかな?
  • と思ったけど keyword でマスクされとる 6.7 の本家ソース見たら修正されていたので /etc/portage/package.keywords に追加して再度 emerge -eav world 仕掛けておく
  • 別のところでエラー出そうだなぁ