Help compiling gnash 0.8.10 on gcc4hybrid nightlies

I’m not usually one to compile things myself, so I’m surprised I got this far, but now I’m in a bit over my head. A long story of obtaining and/or compiling various dependencies has gotten me to here:

~/Desktop/gnash-0.8.10> ./configure --enable-media=ffmpeg --enable-gui=qt4 --without-gconf --with-boost-incl=/boot/usr/local/include --with-boost-lib=/boot/usr/local/lib --enable-renderer=opengl --disable-plugins --with-gif-incl=/boot/home/Desktop/giflib-5.0.4/lib

... (many warnings and a few recommendations, but I managed to get it not to give errors anymore, so I'm told I should be able to make it now.)

~/Desktop/gnash-0.8.10> make
make  all-recursive
make[1]: Entering directory `/boot/home/Desktop/gnash-0.8.10'
Making all in desktop
make[2]: Entering directory `/boot/home/Desktop/gnash-0.8.10/desktop'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/boot/home/Desktop/gnash-0.8.10/desktop'
Making all in libdevice
make[2]: Entering directory `/boot/home/Desktop/gnash-0.8.10/libdevice'
  CXX    libgnashdevice_la-DeviceGlue.lo
make[2]: Leaving directory `/boot/home/Desktop/gnash-0.8.10/libdevice'
Making all in libbase
make[2]: Entering directory `/boot/home/Desktop/gnash-0.8.10/libbase'
  CXX    libgnashbase_la-AMF.lo
  CXX    libgnashbase_la-arg_parser.lo
  CXX    libgnashbase_la-BitsReader.lo
  CXX    libgnashbase_la-ClockTime.lo
  CXX    libgnashbase_la-curl_adapter.lo
In file included from curl_adapter.cpp:30:0:
utility.h:66:8: error: using typedef-name 'std::wstring' after 'class'
In file included from /boot/develop/abi/x86/gcc4/tools/gcc-4.7.3-haiku-130513/lib/gcc/i586-pc-haiku/4.7.3/../../../../include/c++/4.7.3/string:41:0,
                 from NetworkAdapter.h:26,
                 from curl_adapter.cpp:29:
/boot/develop/abi/x86/gcc4/tools/gcc-4.7.3-haiku-130513/lib/gcc/i586-pc-haiku/4.7.3/../../../../include/c++/4.7.3/bits/stringfwd.h:70:33: note: 'std::wstring' has a previous declaration here
In file included from curl_adapter.cpp:34:0:
GnashSleep.h: In function 'void gnash::gnashSleep(size_t)':
GnashSleep.h:41:69: warning: narrowing conversion of '(useconds / 1000000ul)' from 'size_t {aka long unsigned int}' to 'time_t {aka long int}' inside { } is ill-formed in C++11 [-Wnarrowing]
GnashSleep.h:41:69: warning: narrowing conversion of '((useconds % 1000000ul) * 1000ul)' from 'long unsigned int' to 'long int' inside { } is ill-formed in C++11 [-Wnarrowing]
In file included from /boot/usr/local/include/boost/system/system_error.hpp:14:0,
                 from /boot/usr/local/include/boost/thread/exceptions.hpp:22,
                 from /boot/usr/local/include/boost/thread/pthread/mutex.hpp:11,
                 from /boot/usr/local/include/boost/thread/mutex.hpp:16,
                 from log.h:30,
                 from curl_adapter.cpp:31:
/boot/usr/local/include/boost/system/error_code.hpp: At global scope:
/boot/usr/local/include/boost/system/error_code.hpp:214:36: warning: 'boost::system::posix_category' defined but not used [-Wunused-variable]
/boot/usr/local/include/boost/system/error_code.hpp:215:36: warning: 'boost::system::errno_ecat' defined but not used [-Wunused-variable]
/boot/usr/local/include/boost/system/error_code.hpp:216:36: warning: 'boost::system::native_ecat' defined but not used [-Wunused-variable]
make[2]: *** [libgnashbase_la-curl_adapter.lo] Error 1
make[2]: Leaving directory `/boot/home/Desktop/gnash-0.8.10/libbase'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/boot/home/Desktop/gnash-0.8.10'
make: *** [all] Error 2

At this point, I need some guru and/or developer help. This is on hrev45710gcc4hybrid. My end goal is to try playing the newly released Word Realms on Haiku. (It works on XBMCbuntu and Windows 7 with Adobe Flash Player SA (standalone), and the original kickstarter for it claimed it would be able to work with gnash, so I’d like to try that on Haiku, even if that’s no longer the preferred/advertised method of playing on *nix, because…I don’t see any other options. :slight_smile: )

Thanks for any pointers,

Hi Kev,

On haikuports seems that there is a patch available:
Try to apply and try again :slight_smile:

Thanks for the idea, but maybe it’s not meant for 0.8.10…

~/Desktop/gnash-0.8.10> patch -p1 < gnash-0.8.4-haiku.patch
patching file adipe.h
can’t find file to patch at input line 23
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:

|diff -Naur -x ‘Makefile*’ -x ‘.m4’ -x ‘autom4te.cache’ -x '.rej’ -x config.guess -x config.sub -x configure -x ‘.1’ -x '.diff’ -x libltdl -x clean-gn084/backend/render_handler_agg.cpp cp-gn084/backend/render_handler_agg.cpp
|— clean-gn084/backend/render_handler_agg.cpp 2009-03-13 18:18:09.000000000 +0000

+++ cp-gn084/backend/render_handler_agg.cpp 2009-03-13 18:10:21.000000000 +0000

File to patch:

In anyway there are at least two mistakes:

–with-boost-incl=/boot/usr/local/include --with-boost-lib=/boot/usr/local/lib

The “usr/local” folders doesn’t exist by default in Haiku :slight_smile:
Must be: --with-boost-incl=/boot/common/include --with-boost-lib=/boot/commonl/lib.
In anyway if you have the “dev” version of boost (eg installed using Haikuporter) shouldn’t be necessary to Specify boost’s path.

I have also noticed this:


This should point to include files, not libraries. Properly Install giflib on your system and all should be ok. And remember to take a look to patch :slight_smile:

EDIT: i have seen just now that the patch doesn’t work for you. But is certainly a good start point. Try to take a look to the whole patch!

Thanks for your help, but…

I know, but when I built Boost, that’s where it put them.

According to ./configure --help, --with-gif-incl is “directory where gif_lib.h is”, and I just checked that dir, even though it says ‘lib’, that’s where the gif_lib.h lives.

Also it doesn’t complain about Boost or giflib being missing anymore, I already got those errors sorted out.

The patch is way over my head.