From nhart at real.com  Thu Oct  7 10:45:24 2004
From: nhart at real.com (Nicholas Hart)
Date: Thu Oct  7 10:45:28 2004
Subject: [Porting-amd64] Wrote:
	/usr/src/RPM/RPMS/amd64/HelixPlayer-1.0.gold-3.amd64.rpm
In-Reply-To: <200409241615.39913.jareguero@telefonica.net>
References: 
	<200409241615.39913.jareguero@telefonica.net>
Message-ID: <1097171123.14273.48.camel@linicks.dev.prognet.com>

Sorry, I meant to respond to this sooner but have been bogged down.

We should be getting a linux/AMD64 machine soon and will be able to
provide distlibs for this platform.  I'm still waiting for some info on
when it will be ready, but I believe it will be no more than a week or
so.


On Fri, 2004-09-24 at 07:15, Jose Alberto Reguero wrote:
> With the atached patch the player start but i don't now if it works, because i 
> don't now which formats they can play.
> How I can get the distribution libs for amd64?
> Thanks
> Jose Alberto
> 
> > Hi,
> >
> >   After some tweaking and brute-force hacking i managed to build
> >   a 64bit clean x86_64/amd64 RPM for Mandrake 10.0 amd64.
> >   Here's how i did it, which code changes i needed and which already
> >   installed library RPMS needed to be rebuild. Who said again that a
> >   clean build doesn't mean anything? Well thats right, because the
> >   x86_64 source/binaries contain some errors.
> >
> > HOWTO BUILD a X86_64/AMD64/Opteron HelixPlayer amd64.rpm :
> > ==========================================================
> >
> > 1.  I downloaded the following SRPM from the Fedora DEV page :
> >
> > http://redhat.secsup.org/fedora/core/development/x86_64/SRPMS/HelixPlayer-1
> >.0.gold-3.src.rpm
> >
> > 2. Just install/unpack it on disk :
> >
> >    # rpm -i HelixPlayer-1.0.gold-3.src.rpm
> >
> > 3. Adjust the HelixPlayer .spec file :
> >
> >    # vi /usr/src/RPM/SPECS/HelixPlayer.spec
> >
> >    and make the following adjustments :
> >
> > #ExcludeArch: ppc64 x86_64 ppc s390 s390x ia64 <=== allow x86_64/amd64 to
> > build ExcludeArch: ppc64 i586 ppc s390 s390x ia64 <=== exclude i586 to
> > build
> >
> >
> > #%patch3 -p1 -b filechooser <=== Comment out if you don't have Gtk2.2
> >
> >    add :
> >
> > Patch5: helix-amd64-platform.patch.bz2 <== add this as extra patch.
> >
> > %patch5 -p1 -b amd64   <== execute Patch5 during a RPM build
> >
> > 4. Build the binary amd64 RPM :
> >
> >    # cd /usr/src/RPM/SPECS
> >    # rpm -v -ba HelixPlayer.spec
> >
> >    ....
> >    Wrote: /usr/src/RPM/SRPMS/HelixPlayer-1.0.gold-3.src.rpm
> >    Wrote: /usr/src/RPM/RPMS/amd64/HelixPlayer-1.0.gold-3.amd64.rpm
> >    Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.53193
> >
> >
> >    However when trying to execute/run it i get this :
> >
> >    $  hxplay
> >    HX_ASSERT failed: (GetSize() == ulLength)... File hxbuffer.cpp, Line 309
> >    Aborted
> >    $
> >    $ export HX_DEBUGLEVEL=2
> >    $ hxplay
> >    HX_ASSERT failed: (GetSize() == ulLength)... File hxbuffer.cpp, Line 309
> >    HX_ASSERT failed: (GetSize() == ulLength)... File hxbuffer.cpp, Line 309
> >
> >    GLib-ERROR **: gmem.c:140: failed to allocate 17149707381026848842 bytes
> >    aborting...
> >    Aborted
> >    $
> >
> > NOTES on HOWTO BUILD a AMD64 RPM :
> > ==================================
> >
> > A. Sometimes the following error is occuring during compiling :
> >
> > UNIXCompile(datatype/text/realtext/renderer): making copy
> > leaving directory
> > /usr/src/RPM/BUILD/hxplay-1.0.0.298/./datatype/text/realtext/renderer from
> > directory /usr/src/RPM/BUILD/hxplay-1.0.0.298
> > entering directory datatype/ogg/fileformat
> > UNIXCompile(datatype/ogg/fileformat): generating makefiles
> > UMAKE: Umakefil -> Makefile in datatype/ogg/fileformat
> > UMAKE: Applying profile
> > /usr/src/RPM/BUILD/hxplay-1.0.0.298/build/umakepf/helix-client-all-defines-
> >free.pf UNIXCompile(datatype/ogg/fileformat): making depend
> > UNIXCompile(datatype/ogg/fileformat): making all
> > ERROR: UNIXCompile(datatype/ogg/fileformat) ERROR: Make failed.
> >
> > --- Build System Error ------------------------------------
> > Make failed.
> > -----------------------------------------------------------
> >
> >    From /usr/src/RPM/BUILD/hxplay-1.0.0.298/build.out we see this make
> > error :
> >
> > g++ -shared oggfformat.exp -o dbg/oggfformat.so -u RMACreateInstance
> > dbg/obj/oggfformat.o dbg/obj/ogg_page_reader.o dbg/obj/page2packet.o
> > dbg/obj/vorbis_page2pkt.o dbg/obj/theora_page2pkt.o dbg/obj/base_page2pkt.o
> > dbg/obj/strm_group.o dbg/obj/oggutil.o  dbg/oggfformat_libs.a -L/usr/lib64
> > -L/usr/X11R6/lib64 -lstdc++ /usr/bin/ld:
> > dbg/oggfformat_libs.a(libogg.framing.o): relocation R_X86_64_32S can not be
> > used when making a shared object; recompile with -fPIC
> > dbg/oggfformat_libs.a: could not read symbols: Bad value
> > collect2: ld returned 1 exit status
> > make: *** [dbg/oggfformat.so] Error 1
> > Time used: 1.18 seconds
> > ERROR: UNIXCompile(datatype/ogg/fileformat) ERROR: Make failed.
> >
> > --- Build System Error ------------------------------------
> > Make failed.
> > -----------------------------------------------------------
> >
> >    It seems that /usr/lib64/libogg.a (framing.o) is somehow being detected
> >    as a 32bit object file. But thats of course not the case. Just make
> > sure, as is correctly suggested above, that everyting is compiled with
> > -fPIC. To do that inside a RPM .SPEC file one can add this line inside
> > libogg.spec :
> >
> > %define optflags -O2 -pipe %{debugcflags} -fPIC -DPIC
> >
> >    This was for me also needed for libvorbis.spec. It turns out that X86_64
> >    wants for all its dynamic libraries a global ofset, needed when linking
> >    64bit binaries :
> >
> > # nm /usr/lib64/libvorbis.a | more
> >
> > mdct.o:
> >                  U free
> >                  U _GLOBAL_OFFSET_TABLE_     <== needed for linking on
> > amd64 0000000000000000 r .LC1
> > 0000000000000018 r .LC10
> > 0000000000000020 r .LC11
> > 0000000000000010 r .LC12
> > 0000000000000014 r .LC13
> > 0000000000000018 r .LC14
> >
> >    The vanilla installed ogg and vorbis libs on mandrake am64 didn't have a
> >    _GLOBAL_OFFSET_TABLE_ inside. Recompiling your SRPM with -fPIC -DPIC
> > thus indeed gets rid of the "relocation R_X86_64_32S can not be used"
> > error.
> >
> > B. Some remarks are to be made about the helix-amd64-platform.patch.bz2
> >    which was created through trial and error.
> >    the common/import/gecko-sdk/nspr/include/prcpucfg.h diff was retrieved
> >    from CVS somehow. Google found that one for me. And of course
> >    common/include/atomicbase.h needs still to be checked so i read on the
> >    Helix website. The %rax pointer seems to be not quite ok. AMD64 assembly
> >    seems straight forward, but i have my doubts .
> >
> > C. The adjustments ( helix-amd64-platform.patch.bz2 ) as well as the binary
> >    and source RPM's can be be found on :
> >
> >    http://crashrecovery.org/helixp/
> >
> > Thanks
> > best regards,
> >
> > Robert
> 
> ______________________________________________________________________
> _______________________________________________
> Porting-amd64 mailing list
> Porting-amd64@lists.helixcommunity.org
> http://lists.helixcommunity.org/mailman/listinfo/porting-amd64
-- 
Nicholas Hart
nhart@real.com
Technical Lead, Helix Player
https://player.helixcommunity.org
http://www.real.com


From jareguero at telefonica.net  Fri Oct 22 02:35:34 2004
From: jareguero at telefonica.net (Jose Alberto Reguero)
Date: Fri Oct 22 02:35:13 2004
Subject: [Porting-amd64] Wrote:
	/usr/src/RPM/RPMS/amd64/HelixPlayer-1.0.gold-3.amd64.rpm
In-Reply-To: <1097171123.14273.48.camel@linicks.dev.prognet.com>
References: 
	<200409241615.39913.jareguero@telefonica.net>
	<1097171123.14273.48.camel@linicks.dev.prognet.com>
Message-ID: <200410221135.34558.jareguero@telefonica.net>

Any news about distlibs for amd64?
Thanks.
Jose Alberto

El Jueves, 7 de Octubre de 2004 19:45, escribi?:
> Sorry, I meant to respond to this sooner but have been bogged down.
>
> We should be getting a linux/AMD64 machine soon and will be able to
> provide distlibs for this platform.  I'm still waiting for some info on
> when it will be ready, but I believe it will be no more than a week or
> so.
>
> On Fri, 2004-09-24 at 07:15, Jose Alberto Reguero wrote:
> > With the atached patch the player start but i don't now if it works,
> > because i don't now which formats they can play.
> > How I can get the distribution libs for amd64?
> > Thanks
> > Jose Alberto
> >
> > > Hi,
> > >
> > >   After some tweaking and brute-force hacking i managed to build
> > >   a 64bit clean x86_64/amd64 RPM for Mandrake 10.0 amd64.
> > >   Here's how i did it, which code changes i needed and which already
> > >   installed library RPMS needed to be rebuild. Who said again that a
> > >   clean build doesn't mean anything? Well thats right, because the
> > >   x86_64 source/binaries contain some errors.
> > >
> > > HOWTO BUILD a X86_64/AMD64/Opteron HelixPlayer amd64.rpm :
> > > ==========================================================
> > >
> > > 1.  I downloaded the following SRPM from the Fedora DEV page :
> > >
> > > http://redhat.secsup.org/fedora/core/development/x86_64/SRPMS/HelixPlay
> > >er-1 .0.gold-3.src.rpm
> > >
> > > 2. Just install/unpack it on disk :
> > >
> > >    # rpm -i HelixPlayer-1.0.gold-3.src.rpm
> > >
> > > 3. Adjust the HelixPlayer .spec file :
> > >
> > >    # vi /usr/src/RPM/SPECS/HelixPlayer.spec
> > >
> > >    and make the following adjustments :
> > >
> > > #ExcludeArch: ppc64 x86_64 ppc s390 s390x ia64 <=== allow x86_64/amd64
> > > to build ExcludeArch: ppc64 i586 ppc s390 s390x ia64 <=== exclude i586
> > > to build
> > >
> > >
> > > #%patch3 -p1 -b filechooser <=== Comment out if you don't have Gtk2.2
> > >
> > >    add :
> > >
> > > Patch5: helix-amd64-platform.patch.bz2 <== add this as extra patch.
> > >
> > > %patch5 -p1 -b amd64   <== execute Patch5 during a RPM build
> > >
> > > 4. Build the binary amd64 RPM :
> > >
> > >    # cd /usr/src/RPM/SPECS
> > >    # rpm -v -ba HelixPlayer.spec
> > >
> > >    ....
> > >    Wrote: /usr/src/RPM/SRPMS/HelixPlayer-1.0.gold-3.src.rpm
> > >    Wrote: /usr/src/RPM/RPMS/amd64/HelixPlayer-1.0.gold-3.amd64.rpm
> > >    Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.53193
> > >
> > >
> > >    However when trying to execute/run it i get this :
> > >
> > >    $  hxplay
> > >    HX_ASSERT failed: (GetSize() == ulLength)... File hxbuffer.cpp, Line
> > > 309 Aborted
> > >    $
> > >    $ export HX_DEBUGLEVEL=2
> > >    $ hxplay
> > >    HX_ASSERT failed: (GetSize() == ulLength)... File hxbuffer.cpp, Line
> > > 309 HX_ASSERT failed: (GetSize() == ulLength)... File hxbuffer.cpp,
> > > Line 309
> > >
> > >    GLib-ERROR **: gmem.c:140: failed to allocate 17149707381026848842
> > > bytes aborting...
> > >    Aborted
> > >    $
> > >
> > > NOTES on HOWTO BUILD a AMD64 RPM :
> > > ==================================
> > >
> > > A. Sometimes the following error is occuring during compiling :
> > >
> > > UNIXCompile(datatype/text/realtext/renderer): making copy
> > > leaving directory
> > > /usr/src/RPM/BUILD/hxplay-1.0.0.298/./datatype/text/realtext/renderer
> > > from directory /usr/src/RPM/BUILD/hxplay-1.0.0.298
> > > entering directory datatype/ogg/fileformat
> > > UNIXCompile(datatype/ogg/fileformat): generating makefiles
> > > UMAKE: Umakefil -> Makefile in datatype/ogg/fileformat
> > > UMAKE: Applying profile
> > > /usr/src/RPM/BUILD/hxplay-1.0.0.298/build/umakepf/helix-client-all-defi
> > >nes- free.pf UNIXCompile(datatype/ogg/fileformat): making depend
> > > UNIXCompile(datatype/ogg/fileformat): making all
> > > ERROR: UNIXCompile(datatype/ogg/fileformat) ERROR: Make failed.
> > >
> > > --- Build System Error ------------------------------------
> > > Make failed.
> > > -----------------------------------------------------------
> > >
> > >    From /usr/src/RPM/BUILD/hxplay-1.0.0.298/build.out we see this make
> > > error :
> > >
> > > g++ -shared oggfformat.exp -o dbg/oggfformat.so -u RMACreateInstance
> > > dbg/obj/oggfformat.o dbg/obj/ogg_page_reader.o dbg/obj/page2packet.o
> > > dbg/obj/vorbis_page2pkt.o dbg/obj/theora_page2pkt.o
> > > dbg/obj/base_page2pkt.o dbg/obj/strm_group.o dbg/obj/oggutil.o 
> > > dbg/oggfformat_libs.a -L/usr/lib64 -L/usr/X11R6/lib64 -lstdc++
> > > /usr/bin/ld:
> > > dbg/oggfformat_libs.a(libogg.framing.o): relocation R_X86_64_32S can
> > > not be used when making a shared object; recompile with -fPIC
> > > dbg/oggfformat_libs.a: could not read symbols: Bad value
> > > collect2: ld returned 1 exit status
> > > make: *** [dbg/oggfformat.so] Error 1
> > > Time used: 1.18 seconds
> > > ERROR: UNIXCompile(datatype/ogg/fileformat) ERROR: Make failed.
> > >
> > > --- Build System Error ------------------------------------
> > > Make failed.
> > > -----------------------------------------------------------
> > >
> > >    It seems that /usr/lib64/libogg.a (framing.o) is somehow being
> > > detected as a 32bit object file. But thats of course not the case. Just
> > > make sure, as is correctly suggested above, that everyting is compiled
> > > with -fPIC. To do that inside a RPM .SPEC file one can add this line
> > > inside libogg.spec :
> > >
> > > %define optflags -O2 -pipe %{debugcflags} -fPIC -DPIC
> > >
> > >    This was for me also needed for libvorbis.spec. It turns out that
> > > X86_64 wants for all its dynamic libraries a global ofset, needed when
> > > linking 64bit binaries :
> > >
> > > # nm /usr/lib64/libvorbis.a | more
> > >
> > > mdct.o:
> > >                  U free
> > >                  U _GLOBAL_OFFSET_TABLE_     <== needed for linking on
> > > amd64 0000000000000000 r .LC1
> > > 0000000000000018 r .LC10
> > > 0000000000000020 r .LC11
> > > 0000000000000010 r .LC12
> > > 0000000000000014 r .LC13
> > > 0000000000000018 r .LC14
> > >
> > >    The vanilla installed ogg and vorbis libs on mandrake am64 didn't
> > > have a _GLOBAL_OFFSET_TABLE_ inside. Recompiling your SRPM with -fPIC
> > > -DPIC thus indeed gets rid of the "relocation R_X86_64_32S can not be
> > > used" error.
> > >
> > > B. Some remarks are to be made about the helix-amd64-platform.patch.bz2
> > >    which was created through trial and error.
> > >    the common/import/gecko-sdk/nspr/include/prcpucfg.h diff was
> > > retrieved from CVS somehow. Google found that one for me. And of course
> > > common/include/atomicbase.h needs still to be checked so i read on the
> > > Helix website. The %rax pointer seems to be not quite ok. AMD64
> > > assembly seems straight forward, but i have my doubts .
> > >
> > > C. The adjustments ( helix-amd64-platform.patch.bz2 ) as well as the
> > > binary and source RPM's can be be found on :
> > >
> > >    http://crashrecovery.org/helixp/
> > >
> > > Thanks
> > > best regards,
> > >
> > > Robert
> >
> > ______________________________________________________________________
> > _______________________________________________
> > Porting-amd64 mailing list
> > Porting-amd64@lists.helixcommunity.org
> > http://lists.helixcommunity.org/mailman/listinfo/porting-amd64

 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.