Hi,
I saw that Gnash was not available for x86_64 in RPMforge and I digged
deeper to try to find why. I came up with a patch to build it.
The gnash-x86_64.patch adds the following changes:
1. Change /lib to /l[i]b in configure where looking for boost code.
This will avoid it being replaced by /lib64 later. In that case, /lib
was being used as the prefix for libraries and not as directory name.
(I know it's a hack, but it works...)
2. Include <feature.h> before Boost's endian.hpp. That is needed
because Boost's endian.hpp will use system's endian.h only if
__GLIBC__ is defined, which is done in feature.h. It would recognize
the arch otherwise, but its list does includes only __i386 and not the
one for 64-bit...
The changes to the specfile includes using the patch above, some
packages that were needed to build it (qt-devel, gstreamer-devel,
giflib-devel and mysql-devel), and running make install-plugin (before
the patch the mozilla-gnash package had only directories and not the
real plug-in .so file).
After that, I could successfully build it in my CentOS 5.3 x86_64
desktop, and use it in Firefox.
Unfortunately I was not able to use it to, for instance, watch a movie
at youtube.com. First try, no audio, no video. After installing
gstreamer-plugins-bad and gstreamer-plugins-ugly, I got audio, but no
video. It was still complaining that gstreamer-ffmpeg still had to be
installed. Any chance such package could be built and installed in
RPMforge?
Unfortunately Flash 10 for Linux x86_64 is also unstable for me. It
was working fine, then I uninstalled it to test the Gnash package I
just built, then when I uninstalled Gnash and reinstalled Flash 10 64
it no longer worked (segmentation faults...). I tried removing
~/.macromedia and restarting X, but no luck... I had to go back to
nspluginwrapper + Flash 9 from RPMforge which seems to be the most
stable setting for me right now...
HTH,
Filipe
--- configure.orig 2009-03-03 11:22:16.000000000 -0500
+++ configure 2009-05-12 19:25:11.000000000 -0400
@@ -53558,7 +53558,7 @@
for j in ${boost_libs}; do
dirs="`ls -dr $i/libboost_${j}*.${shlibext} $i/libboost_${j}*.a 2>/dev/null`"
if test -n "${dirs}"; then
- libname="`echo ${dirs} | sed -e 's:^.*/lib::' -e "s:\.${shlibext}::" -e "s:\.a::"`"
+ libname="`echo ${dirs} | sed -e 's:^.*/l[i]b::' -e "s:\.${shlibext}::" -e "s:\.a::"`"
if test x$dirname = x; then
dirname="`echo ${dirs} | sed -e 's:/libboost.*$::'`"
if test x"${dirname}" != "x/usr/lib"; then
--- libamf/flv.cpp.orig 2009-03-02 10:29:46.000000000 -0500
+++ libamf/flv.cpp 2009-05-12 20:09:12.000000000 -0400
@@ -21,6 +21,7 @@
#include "gnashconfig.h"
#endif
+#include <features.h>
#include <boost/detail/endian.hpp>
#include <boost/shared_ptr.hpp>
#include <string>
--- gnash.spec.orig 2009-05-12 22:04:28.000000000 -0400
+++ gnash.spec 2009-05-12 22:03:04.000000000 -0400
@@ -17,8 +17,16 @@
Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
Source: http://ftp.gnu.org/gnu/gnash/%{version}/gnash-%{version}.tar.bz2
+Patch1: gnash-x86_64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{_arch}-root
+
+BuildRequires: qt-devel
+BuildRequires: gstreamer-devel
+BuildRequires: giflib-devel
+BuildRequires: mysql-devel
+
+
BuildRequires: SDL-devel
BuildRequires: SDL_mixer-devel
BuildRequires: agg-devel
@@ -52,6 +60,7 @@
%prep
%setup
+%patch1 -p0
%{__perl} -pi.orig -e 's|/lib\b|/%{_lib}|g;' configure
%{__perl} -pi.orig -e 's|spx_uint32_t|uint32_t|g;' libmedia/AudioDecoderSpeex.cpp
@@ -80,8 +89,8 @@
%install
%{__rm} -rf %{buildroot}
source %{_sysconfdir}/profile.d/qt.sh
-%{__install} -d -m0755 %{buildroot}%{_libdir}/mozilla/plugins/
%{__make} install DESTDIR="%{buildroot}"
+%{__make} install-plugin DESTDIR="%{buildroot}"
%find_lang %{name}
### Clean up buildroot
_______________________________________________
users mailing list
[email protected]
http://lists.rpmforge.net/mailman/listinfo/users