LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: zhllg

realplayer-10.0.7 compile from source

[复制链接]
发表于 2006-9-8 08:32:09 | 显示全部楼层
Post by VirusCamp
跟免费员工没关系,也不大可能反馈到 helix ,就是自己改一下,编译过去就行,我也不想 patch 。


datatype/image/jpg/import/jpeg-6b/jmorecfg.h:164
common/include/hxtypes.h:111

这两行的
typedef 。。。

改成
#ifndef INT32
#define INT32 ????
#endif

只是需要确定 amd64 中 int 和 long int 那个是 32 位的,用32位的替换????。

这个 hack 非常之 dirty ,只能用于 amd64 。


int int
回复 支持 反对

使用道具 举报

发表于 2006-9-8 09:02:44 | 显示全部楼层
郁闷,又一个错误.
  1. UNIXCompile(datatype/vorbis/renderer): generating makefiles
  2. Warning: Missing BIF dep 'common_dbgtool' (module library ../../../common/dbgtool/rel/debuglib.a)
  3. Warning: Missing BIF dep 'common_system' (module library ../../../common/system/rel/syslib.a)
  4. Warning: Missing BIF dep 'common_container' (module library ../../../common/container/rel/contlib.a)
  5. Warning: Missing BIF dep 'common_util' (module library ../../../common/util/rel/utillib.a)
  6. Warning: Missing BIF dep 'common_runtime' (module library ../../../common/runtime/rel/runtlib.a)
  7. UNIXCompile(datatype/vorbis/renderer): making depend
  8. UNIXCompile(datatype/vorbis/renderer): making copy
  9. ERROR: UNIXCompile(datatype/vorbis/renderer) ERROR: Make failed.
  10. [#-00001510][2006-09-08 08:44:18][47340407962336][ERROR] : --- Build System Error ------------------------------------
  11. You have found a Ribosome bug.
复制代码
  1. # make                    python /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/build/bin/armerge.py -d rel/obj/lib rel/vorbisrend_libs.a /usr/lib/libogg.a /usr/lib/libvorbis.a ../../../common/dbgtool/rel/debuglib.a ../../../common/system/rel/syslib.a ../../../common/container/rel/contlib.a ../../../common/util/rel/utillib.a ../../../common/runtime/rel/runtlib.a
  2. You must set BUILD_ROOT in your environment.
  3. make: *** [rel/vorbisrend.so] 错误 1
  4. root@yangtse:/var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/datatype/vorbis/renderer# BUILD_ROOT="/var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/build" make
  5. python /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/build/bin/armerge.py -d rel/obj/lib rel/vorbisrend_libs.a /usr/lib/libogg.a /usr/lib/libvorbis.a ../../../common/dbgtool/rel/debuglib.a ../../../common/system/rel/syslib.a ../../../common/container/rel/contlib.a ../../../common/util/rel/utillib.a ../../../common/runtime/rel/runtlib.a
  6. [#-00000001][2006-09-08 08:58:19][47848873496688][INFO ] : Ribosome v2.4.1
  7. [#-00000002][2006-09-08 08:58:19][47848873496688][INFO ] : Using Python v2.4.3
  8. [#-00000003][2006-09-08 08:58:19][47848873496688][INFO ] : Log dir: /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/datatype/vorbis/renderer/ribosome_logs
  9. [#-00000005][2006-09-08 08:58:19][47848873496688][INFO ] : Running tool: armerge
  10. g++ -shared vorbisrend.exp -o rel/vorbisrend.so -u RMACreateInstance rel/obj/rvorbis.o rel/obj/queue.o rel/obj/vorbis_depack.o rel/obj/ogg_depack.o rel/obj/aud_strm_hlpr.o  rel/vorbisrend_libs.a -L/usr/X11R6/lib64
  11. /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: rel/vorbisrend_libs.a(libogg.framing.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
  12. rel/vorbisrend_libs.a: could not read symbols: Bad value
  13. collect2: ld 返回 1
  14. make: *** [rel/vorbisrend.so] 错误 1
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-9-8 09:14:44 | 显示全部楼层
兴许是这里mak文件的问题
datatype/vorbis/renderer/make
回复 支持 反对

使用道具 举报

发表于 2006-9-8 09:38:52 | 显示全部楼层
这个是那里的Makefile
  1. root@yangtse:/var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/datatype/vorbis/renderer# cat Makefile
  2. __STANDARD__=YES
  3. SRCROOT=../../..
  4. RM=rm -f
  5. RM_DIR=rm -rf
  6. MAKE_DEP=
  7. MAKE_DEP_FLAGS=$(INCLUDES) $(DEFINES)
  8. MAKE_LIB=python /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/build/bin/pyar.py cr
  9. MAKE_LIB_FLAGS=
  10. RANLIB=ranlib
  11. CP=cp
  12. MAKE=make
  13. CC=gcc
  14. CCFLAGS=-pipe -Wall -Wreturn-type -fno-exceptions -Winline -Wdisabled-optimization -Wno-unused-parameter -Wreturn-type -fmessage-length=0  -m64 -D__amd64__ -O2   $(INCLUDES) $(DEFINES)
  15. CXX=g++
  16. CXXFLAGS=-pipe -Wall -Wreturn-type -Wno-non-virtual-dtor -fno-exceptions --permissive -fno-rtti -Wno-ctor-dtor-privacy -Winline -Wdisabled-optimization -Wno-unused-parameter -Wno-reorder -fmessage-length=0  -m64 -D__amd64__ -O2   $(INCLUDES) $(DEFINES)
  17. SRCS=rvorbis.cpp queue.cpp vorbis_depack.cpp ogg_depack.cpp aud_strm_hlpr.cpp
  18. OBJS=$(COMPILED_OBJS) $(SOURCE_OBJS)
  19. COMPILED_OBJS=rel/obj/rvorbis.o rel/obj/queue.o rel/obj/vorbis_depack.o rel/obj/ogg_depack.o rel/obj/aud_strm_hlpr.o
  20. SOURCE_OBJS=
  21. INCLUDES=-I../../../common/runtime/pub -I/usr/X11R6/include -I/usr/include -I../../../common/include -I../../../common/system/pub -I../../../common/dbgtool/pub -I./pub -I../../../common/container/pub -I../../../common/util/pub
  22. DEFINES=-I. -include rel/datatype_vorbis_renderer_ribodefs.h
  23. STATIC_LIBS=/usr/lib/libogg.a /usr/lib/libvorbis.a ../../../common/dbgtool/rel/debuglib.a ../../../common/system/rel/syslib.a ../../../common/container/rel/contlib.a ../../../common/util/rel/utillib.a ../../../common/runtime/rel/runtlib.a
  24. DYNAMIC_LIBS=
  25. .SUFFIXES: .cpp .so
  26. .c.o:
  27.         $(CC) $(CCFLAGS) -fPIC -DPIC -o  $@ -c $<
  28. .cpp.o:
  29.         $(CXX) $(CXXFLAGS) -fPIC -DPIC -o  $@ -c $<
  30. all: rel/obj rel/vorbisrend.so
  31. rel/obj:
  32.         -@test -d rel || mkdir rel
  33.         -@test -d rel/obj || mkdir rel/obj
  34. all_objects: $(OBJS)
  35. rel/vorbisrend.so: $(OBJS) $(STATIC_LIBS)
  36.         -@test -d rel || mkdir rel
  37.         python /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/build/bin/armerge.py -d rel/obj/lib rel/vorbisrend_libs.a $(STATIC_LIBS)
  38.         g++ -shared vorbisrend.exp -o rel/vorbisrend.so -u RMACreateInstance $(OBJS) rel/vorbisrend_libs.a -L/usr/X11R6/lib64 $(DYNAMIC_LIBS)
  39.         rm rel/vorbisrend_libs.a
  40. rel/obj/rvorbis.o: rvorbis.cpp
  41.         -@test -d rel || mkdir rel
  42.         -@test -d rel/obj || mkdir rel/obj
  43.         $(CXX) $(CXXFLAGS) -fPIC -DPIC -o rel/obj/rvorbis.o -c rvorbis.cpp
  44. rel/obj/queue.o: queue.cpp
  45.         -@test -d rel || mkdir rel
  46.         -@test -d rel/obj || mkdir rel/obj
  47.         $(CXX) $(CXXFLAGS) -fPIC -DPIC -o rel/obj/queue.o -c queue.cpp
  48. rel/obj/vorbis_depack.o: vorbis_depack.cpp
  49.         -@test -d rel || mkdir rel
  50.         -@test -d rel/obj || mkdir rel/obj
  51.         $(CXX) $(CXXFLAGS) -fPIC -DPIC -o rel/obj/vorbis_depack.o -c vorbis_depack.cpp
  52. rel/obj/ogg_depack.o: ogg_depack.cpp
  53.         -@test -d rel || mkdir rel
  54.         -@test -d rel/obj || mkdir rel/obj
  55.         $(CXX) $(CXXFLAGS) -fPIC -DPIC -o rel/obj/ogg_depack.o -c ogg_depack.cpp
  56. rel/obj/aud_strm_hlpr.o: aud_strm_hlpr.cpp
  57.         -@test -d rel || mkdir rel
  58.         -@test -d rel/obj || mkdir rel/obj
  59.         $(CXX) $(CXXFLAGS) -fPIC -DPIC -o rel/obj/aud_strm_hlpr.o -c aud_strm_hlpr.cpp
  60. clean:
  61.         $(RM) rel/vorbisrend.so rel/obj/lib rel/vorbisrend_libs.a rel/obj/rvorbis.o rel/obj/queue.o rel/obj/vorbis_depack.o rel/obj/ogg_depack.o rel/obj/aud_strm_hlpr.o
  62. ../../../release/vorbisrend.so: rel/vorbisrend.so
  63.         -@test -d ../../../release || mkdir ../../../release
  64.         rm -f "../../../release/vorbisrend.so"
  65.         cp "rel/vorbisrend.so" "../../../release/vorbisrend.so"
  66. copy: ../../../release/vorbisrend.so
  67. depend:
  68.         /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/build/bin/mkdepend.py --gnumake -trel/obj -mMakefile $(INCLUDES) $(SRCS)
  69. # DO NOT DELETE -- mkdepend depends on this line
  70. # Dependency magic by $Id: mkdepend_exe.py,v 1.2 2006/07/06 19:28:05 jfinnecy Exp $
  71. ifneq ($MAKECMDGOALS),clean)
  72. -include $(COMPILED_OBJS:.o=.dep)
  73. endif
  74. rel/obj/%.dep: %.cc
  75.         @test -d rel || mkdir rel
  76.         @test -d rel/obj || mkdir rel/obj
  77.         /usr/bin/python /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/build/bin/mkdepend.py --gnumake -trel/obj $?
  78. rel/obj/%.dep: %.c
  79.         @test -d rel || mkdir rel
  80.         @test -d rel/obj || mkdir rel/obj
  81.         /usr/bin/python /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/build/bin/mkdepend.py --gnumake -trel/obj $?
  82. rel/obj/%.dep: %.cxx
  83.         @test -d rel || mkdir rel
  84.         @test -d rel/obj || mkdir rel/obj
  85.         /usr/bin/python /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/build/bin/mkdepend.py --gnumake -trel/obj $?
  86. rel/obj/%.dep: %.cpp
  87.         @test -d rel || mkdir rel
  88.         @test -d rel/obj || mkdir rel/obj
  89.         /usr/bin/python /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/build/bin/mkdepend.py --gnumake -trel/obj $?
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-9-8 19:26:28 | 显示全部楼层
1。可能是这里的问题:
错误信息的一句:recompile with -fPIC

cd /var/tmp/portage/realplayer-10.0.8-r1/work/realplay-10.0.8/datatype/vorbis/renderer

g++ -shared vorbisrend.exp -o rel/vorbisrend.so -u RMACreateInstance rel/obj/rvorbis.o rel/obj/queue.o rel/obj/vorbis_depack.o rel/obj/ogg_depack.o rel/obj/aud_strm_hlpr.o  rel/vorbisrend_libs.a -L/usr/X11R6/lib64 -fPIC

make

第二,
不过,更可能是 rel/vorbisrend_libs.a(libogg.framing.o) ,这个要用 -fPIC 重新编译。

第三,也可能是 makefile ,这里是不是应该用 lib64 ?
STATIC_LIBS=/usr/lib/libogg.a /usr/lib/libvorbis.a ../../../common/dbgtool/rel/debuglib.a ../../../common/system/rel/syslib.a ../../../common/container/rel/contlib.a ../../../common/util/rel/utillib.a ../../../common/runtime/rel/runtlib.a
回复 支持 反对

使用道具 举报

发表于 2006-9-8 22:36:10 | 显示全部楼层
Post by VirusCamp

第三,也可能是 makefile ,这里是不是应该用 lib64 ?


lib64是到lib的连接,这个没问题.
前两个我再看看.
回复 支持 反对

使用道具 举报

发表于 2006-9-16 11:20:14 | 显示全部楼层
编译成功了没?我无法搞定。
回复 支持 反对

使用道具 举报

发表于 2006-9-17 01:44:07 | 显示全部楼层
我觉得没有必要尝试 amd64 了, 因为
- realplayer 根本还没有 amd64 ready, 无数的bug要改
- x86 编译出来的的版本在 amd64 也是一样用

另外不同x86机器上使用相同编译器编译出来的 realplayer 都是一样的, 因为编译参数都是一样的, 编译脚本无视 make.conf 里面 CFLAGS. 所以只要把编译出来的 realplay.tar.bz2 放到一个地方大家共享就可以了,没必要浪费 cpu 时间, 管它什么狗屁 license 呢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表