Tue 27 Dec 2005 05:12:11 PM UTC, comment #17:
I think I may make that change, as requiring people to do something extra to find the libraries at runtime is probably a support issue forever... If you don't mind, I'm going to close this bug report.
|
Tue 27 Dec 2005 04:52:55 PM UTC, comment #16:
Okay, all compile issues are fixed, but I suggest putting the libs in $prefix/lib/ instead of $prefix/lib/gnash/ since it will cause problems unless [insert random person here] knows that Gnash puts its libs in $prefix/lib/gnash/
Now onto the actual program...
|
Tue 27 Dec 2005 04:19:40 PM UTC, comment #15:
I just checked in a fix for this problem. The configure test shouldn't be trying to find the XML or Firefox libraries in $prefix. Now $prefix is ignored when configuring, and the regular tests executed to find the libraries.
|
Tue 27 Dec 2005 03:21:34 PM UTC, comment #14:
notroot[0:gnash]& ./configure --prefix=/usr/local
.................
Configurable options are:
Not using POSIX Threads
Not building the web server support.
Not using the Intel 810 LOD bias hack
Not using DMalloc
Adding XML and XMLSocket
XML flags are: -I/usr/local/include
XML libs are: -L${exec_prefix}/lib -lxml2
Building the Firefox plugin
Firefox Cflags are: -I/usr/local/include
Firefox libs are: -L${exec_prefix}/lib
notroot[0:gnash]& firefox-config --cflags --libs
-I/usr/local/include/firefox-1.5 -I/usr/local/include/firefox-1.5/nspr
-L/usr/local/lib/firefox-1.5
Huh?
|
Tue 27 Dec 2005 05:16:36 AM UTC, comment #13:
I'm building out of Firefox CVS, which gives me a firefox-1.6a1. When you install Firefox, you should get a firefox-config script, which I use to get the paths for the headers and library. Configure prints out the values it finds at the end. This looks like firefox-config isn't in your path. Did configure find it ? With Firefox CVS, mine are installed in
/usr/local/include/firefox-1.6a1/plugin.
I've played some with GPLFlash2, it has a long way to go. Most of the ActionScripts are just stubs that print "todo". That was when I decided to make Gnash, as it's much further along.
There are a few options that effect the command loop, which is basically a big polling loop with a delay. A smaller delay (-d) makes the loop go faster. I plan to redo how this command loop works in the future, as it needs to be more event based. But I want to get the plugin working first. Using OpenGL also eats up some extra startup time.
|
Tue 27 Dec 2005 04:30:10 AM UTC, comment #12:
1. I did ln -s /usr/local/lib/gnash/* /usr/local/lib/ to fix the library not found problem. Most Flash video and loading/play screens worked (which GPLFlash never got past), althought they were laggy and there was no antialiasing or sound (IIRC Flash uses MP3 which FFMPEG can be used for).
2. I just checked out CVS and now I get:
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I.. -I. -I/usr/local/include -Wall -DPLUGIN_TRACE -DXP_UNIX -DMOZILLA_VERSION=1.7.12 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1 -DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_CDEFS_H=1 -DHAVE_LIBM=1 -DHAVE_LIBDL=1 -DFUNCPROTO=15 -DHAVE_XSHM=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_RES_NINIT=1 -DHAVE_GNU_GET_LIBC_VERSION=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_I18N_LC_MESSAGES=1 -DMOZ_DEFAULT_TOOLKIT=gtk2 -DMOZ_WIDGET_GTK2=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_X11=1 -DMOZ_APP_NAME=mozilla -DMOZ_ENABLE_XFT=1 -DMOZ_ENABLE_PANGO=1 -DHAVE_LIBPANGOFT2_1_0=1 -DMOZ_ENABLE_COREXFONTS=1 -DMOZ_EXTRA_X11CONVERTERS=1 -DOJI=1 -DMOZ_ENABLE_XINERAMA=1 -DIBMBIDI=1 -DMOZ_VIEW_SOURCE=1 -DACCESSIBILITY=1 -DMOZ_XPINSTALL=1 -DMOZ_JSLOADER=1 -DHAVE_GSSAPI_GSSAPI_H=1 -DHAVE_GSSAPI_GSSAPI_GENERIC_H=1 -DHAVE_GSS_C_NT_HOSTBASED_SERVICE=1 -DMOZ_MATHML=1 -DMOZ_LOGGING=1 -DMOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS=1 -DHAVE___CXA_DEMANGLE=1 -DMOZ_DEFAULT_MOZILLA_FIVE_HOME=/usr/lib/mozilla-1.7.12 -DMOZ_USER_DIR=.mozilla -DMOZ_XUL=1 -DMOZ_PROFILESHARING=1 -DMOZ_PROFILELOCKING=1 -DMOZ_DLL_SUFFIX=.so -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 -DNS_PRINT_PREVIEW=1 -DNS_PRINTING=1 -DMOZ_ACCESSIBILITY_ATK=1 -DMOZILLA_LOCALE_VERSION=1.7 -DMOZILLA_REGION_VERSION=1.7 -DMOZILLA_SKIN_VERSION=1.5 -g -O2 -I.. -I. -I/usr/local/include -g -O2 -MT npn_gate.lo -MD -MP -MF .deps/npn_gate.Tpo -c npn_gate.cpp -fPIC -DPIC -o .libs/npn_gate.o
In file included from npn_gate.cpp:22:
npplat.h:21:19: error: npapi.h: No such file or directory
npplat.h:22:19: error: npupp.h: No such file or directory
npn_gate.cpp:24: error: 'NPNetscapeFuncs' does not name a type
npn_gate.cpp: In function 'void NPN_Version(int, int, int, int)':
npn_gate.cpp:28: error: 'NP_VERSION_MAJOR' was not declared in this scope
npn_gate.cpp:29: error: 'NP_VERSION_MINOR' was not declared in this scope
npn_gate.cpp:30: error: 'NPNFuncs' was not declared in this scope
npn_gate.cpp: At global scope:
npn_gate.cpp:34: error: 'NPError' does not name a type
npn_gate.cpp:47: error: 'NPError' does not name a type
npn_gate.cpp:53: error: 'NPError' does not name a type
npn_gate.cpp:66: error: 'NPError' does not name a type
npn_gate.cpp:72: error: 'NPError' does not name a type
npn_gate.cpp:78: error: 'NPError' does not name a type
npn_gate.cpp:92: error: 'int32' does not name a type
npn_gate.cpp:105: error: 'NPError' does not name a type
npn_gate.cpp:118: error: variable or field 'NPN_Status' declared void
npn_gate.cpp:118: error: 'NPP' was not declared in this scope
npn_gate.cpp:118: error: expected primary-expression before 'const'
npn_gate.cpp:118: error: initializer expression list treated as compound expression
npn_gate.cpp:119: error: expected ',' or ';' before '{' token
npn_gate.cpp:123: error: 'NPP' was not declared in this scope
npn_gate.cpp:124: error: expected ',' or ';' before '{' token
npn_gate.cpp:130: error: 'uint32' was not declared in this scope
npn_gate.cpp:131: error: expected ',' or ';' before '{' token
npn_gate.cpp: In function 'void NPN_MemFree(void*)':
npn_gate.cpp:139: error: 'NPNFuncs' was not declared in this scope
npn_gate.cpp:139: error: 'CallNPN_MemFreeProc' was not declared in this scope
npn_gate.cpp: At global scope:
npn_gate.cpp:142: error: 'uint32' does not name a type
npn_gate.cpp:148: error: variable or field 'NPN_ReloadPlugins' declared void
npn_gate.cpp:148: error: 'NPBool' was not declared in this scope
npn_gate.cpp:149: error: expected ',' or ';' before '{' token
npn_gate.cpp:154: error: expected constructor, destructor, or type conversion before '*' token
npn_gate.cpp:161: error: 'jref' does not name a type
npn_gate.cpp:169: error: 'NPError' does not name a type
npn_gate.cpp:175: error: 'NPError' does not name a type
npn_gate.cpp:181: error: variable or field 'NPN_InvalidateRect' declared void
npn_gate.cpp:181: error: 'NPP' was not declared in this scope
npn_gate.cpp:181: error: 'NPRect' was not declared in this scope
npn_gate.cpp:181: error: 'invalidRect' was not declared in this scope
npn_gate.cpp:181: error: initializer expression list treated as compound expression
npn_gate.cpp:182: error: expected ',' or ';' before '{' token
npn_gate.cpp:186: error: variable or field 'NPN_InvalidateRegion' declared void
npn_gate.cpp:186: error: 'NPP' was not declared in this scope
npn_gate.cpp:186: error: 'NPRegion' was not declared in this scope
npn_gate.cpp:186: error: initializer expression list treated as compound expression
npn_gate.cpp:187: error: expected ',' or ';' before '{' token
npn_gate.cpp:191: error: variable or field 'NPN_ForceRedraw' declared void
npn_gate.cpp:191: error: 'NPP' was not declared in this scope
npn_gate.cpp:192: error: expected ',' or ';' before '{' token
make[2]: *** [npn_gate.lo] Error 1
make[2]: Leaving directory `/home/notroot/gnash/plugin/mozilla-sdk'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/notroot/gnash/plugin'
make: *** [install-recursive] Error 1
I compile Firefox 1.5 from source. The source is still in /usr/local/src/mozilla/ and I installed it to /usr/local/firefox/
|
Tue 27 Dec 2005 03:24:12 AM UTC, comment #11:
The libraries are going in a "gnash" subdirectory of the prefix, so in this case, /usr/local/lib/gnash would have to be added to LD_LIBRARY_PATH. The other way is to add this directory to /etc/ld.so.conf and then run ldconfig. While I like having the libraries in it's own subdirectory, I'll ask on the developers list what people think. I'm flexible on this point.
As far as the other issue, I just checked in a patch that doesn't try to install the unbuilt docs. I'll add more configure tests for fop.sh, (which makes pdf from xml) which most people probably wouldn't have installed. In real releases I plan to include the preformatted versions of the docs so folks don't have to have all the docbook tools installed. I has added the doc directory to SUBDIRS so the "make dist-bzip2" target would work, but then it tries to build them. So now I've discovered DIST_SUBDIRS, which does what I want.
You have to be root to update a scrollkeeper file. Gnash has support for GNOME Help, although the doc is pretty sketchy still. I'll add a test in the Makefile so if you aren't root, it'll print a warning and not try to update the scrollkeeper database, but keep going.
|
Tue 27 Dec 2005 02:37:22 AM UTC, comment #10:
The previous post was from the update after rsavoye's post.
|
Tue 27 Dec 2005 02:36:06 AM UTC, comment #9:
I didn't have pkg-config installed, but I thought I did.
With or without --with-libxml-includes=/usr/include/libxml2 --with-libxml-libraries=/usr/lib, it doesn't find the libraries after compilation. I scrolled up make install and saw:
make[2]: Entering directory `/home/notroot/gnash/utilities'
test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin"
/bin/sh ../libtool --mode=install /usr/bin/install -c 'gparser' '/usr/local/bin/gparser'
libtool: install: warning: `../libbase/libbase.la' has not been installed in `/usr/local/lib'
libtool: install: warning: `../libgeometry/libgeometry.la' has not been installed in `/usr/local/lib'
libtool: install: warning: `../server/libserver.la' has not been installed in `/usr/local/lib'
/usr/bin/install -c .libs/gparser /usr/local/bin/gparser
/bin/sh ../libtool --mode=install /usr/bin/install -c 'gprocessor' '/usr/local/bin/gprocessor'
libtool: install: warning: `../libbase/libbase.la' has not been installed in `/usr/local/lib'
libtool: install: warning: `../libgeometry/libgeometry.la' has not been installed in `/usr/local/lib'
libtool: install: warning: `../server/libserver.la' has not been installed in `/usr/local/lib'
(successful stuff)
Cannot write to log file: /var/log/scrollkeeper.log : Permission denied
I/O warning : failed to load external entity "/usr/local/share/gnash/doc/gnash/C/fdl-appendix.xml"
/usr/local/share/gnash/doc/gnash/C/gnash.xml:629: parser error : Failure to process entity fdl-app
&fdl-app;
^
/usr/local/share/gnash/doc/gnash/C/gnash.xml:629: parser error : Entity 'fdl-app' not defined
&fdl-app;
^
Document is not well-formed XML: /usr/local/share/gnash/doc/gnash/C/gnash.xml
Cannot write to log file: /var/log/scrollkeeper.log : Permission denied
Making HTML from XML source...
Making PDF from XML source...
make[4]: fop.sh: Command not found
make[4]: *** [gnash.pdf] Error 127
make[4]: Leaving directory `/home/notroot/gnash/doc/C'
make[3]: *** [install-data-am] Error 2
make[3]: Leaving directory `/home/notroot/gnash/doc/C'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/notroot/gnash/doc/C'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/notroot/gnash/doc'
make: *** [install-recursive] Error 1
I use the option --prefix=/usr/local on configure.
|
Tue 27 Dec 2005 12:50:49 AM UTC, comment #8:
I just checked in a fix for libXML.m4 that if pkg-config doesn't exist, it looks in the standard locations for the XML2 headers and library. I can't use AC_CHECK_HEADERS() or AC_CHECK_LIB() since libxml2 installs itself in a subdirectory and can't be found in the default compiler path.
|
Mon 26 Dec 2005 11:55:56 PM UTC, comment #7:
Oops, forgot to check in a renamed file. You'll have better luck now. Do you have pkg-config as well as the XML development packages installed ? You can use these configure options to point to where ever you have libxml installed, which doesn't use pkg-config. I'm planning on recoding that configure test, but for now, this should also work. The XML support doesn't do you any good for most all flash movies anyway, as it's a rarely used feature.
--with-libxml-includes=/usr/include/libxml2 --with-libxml-libraries=/usr/lib
|
Mon 26 Dec 2005 08:51:54 PM UTC, comment #6:
I checked out the new fix and now I get:
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I.. -I../server -I../libbase -I../libgeometry -I/usr/include/SDL -Wall -g -O2 -MT sound_handler_sdl.o -MD -MP -MF ".deps/sound_handler_sdl.Tpo" -c -o sound_handler_sdl.o sound_handler_sdl.cpp; \
then mv -f ".deps/sound_handler_sdl.Tpo" ".deps/sound_handler_sdl.Po"; else rm -f ".deps/sound_handler_sdl.Tpo"; exit 1; fi
../server/gnash.h:255: warning: ‘struct gnash::movie_definition::import_visitor’ has virtual functions but non-virtual destructor
make[1]: *** No rule to make target `gnash.cpp', needed by `gnash.o'. Stop.
make[1]: Leaving directory `/home/notroot/gnash/backend'
make: *** [install-recursive] Error 1
notroot[0:gnash]& rpm -q libxml libxml-devel libxml2 libxml2-devel
libxml-1.8.17-13
libxml-devel-1.8.17-13
libxml2-2.6.20-1.FC4
libxml2-devel-2.6.20-1.FC4
|
Mon 26 Dec 2005 04:01:01 PM UTC, comment #5:
I just checked in a further fix, and --disable-xml fully work now. But back to the original issue. the XML configure tests use "pkg-config" to find the XML headers and libraries. Do you have this installed ? As the XML tests are the only ones using pkg-config, I guess I'll reimplement those configure tests to not have this dependency, but I'd like to see why it works on my FC4/GCC4 system and not yours.
|
Mon 26 Dec 2005 06:13:54 AM UTC, comment #4:
Heh, you were talking about the --disable-xml option when you said it was fixed. But now I get:
g++ -g -O2 -o .libs/gnash render_handler_ogl.o sound_handler_sdl.o test_ogl.o ../libbase/.libs/libbase.so -L/usr/lib -L/usr/X11R6/lib ../libgeometry/.libs/libgeometry.so -lGLU ../server/.libs/libserver.so -lGL /usr/lib/libSDL.so -lm -ldl -lX11 -lXext -lpthread -lSDL_mixer /usr/lib/libjpeg.so -lpng
test_ogl.o(.text+0xb5f): In function `main':
/home/notroot/gnash/backend/test_ogl.cpp:835: undefined reference to `gofast'
collect2: ld returned 1 exit status
make[1]: *** [gnash] Error 1
make[1]: Leaving directory `/home/notroot/gnash/backend'
make: *** [install-recursive] Error 1
|
Mon 26 Dec 2005 02:41:13 AM UTC, comment #3:
It still doesn't work.
I do have libxml2-devel installed.
|
Sun 25 Dec 2005 08:42:05 PM UTC, comment #2:
I just checked in a fix. There was a typo in the configure script that kept the tests from finding libxml2. You do need the development package for libxml2 to be installed, as I use pkg-config to find the libxml2 headers and libraries. Let me know if this fixed it for you, and I can close this bug.
|
Sun 25 Dec 2005 08:03:05 PM UTC, comment #1:
Hum, Gnash builds for me on FC4 with GCC 4.x. This looks like configure failed finding libxml2 development headers and libraries. You should be able to force it to not use any XML (for now) using --disable-xml. This looks to me like a problem with configure.
|
Sun 25 Dec 2005 07:51:47 PM UTC, original submission:
g++ -g -O2 -o .libs/gnash render_handler_ogl.o sound_handler_sdl.o test_ogl.o ../libbase/.libs/libbase.so -L/usr/lib -L/usr/X11R6/lib ../libgeometry/.libs/libgeometry.so -lGLU ../server/.libs/libserver.so -lGL /usr/lib/libSDL.so -lm -ldl -lX11 -lXext -lpthread -lSDL_mixer /usr/lib/libjpeg.so -lpng -L/usr/local/lib
../server/.libs/libserver.so: undefined reference to `xmlMemoryDump'
../server/.libs/libserver.so: undefined reference to `xmlFreeDoc'
../server/.libs/libserver.so: undefined reference to `xmlDocGetRootElement'
../server/.libs/libserver.so: undefined reference to `xmlNodeGetContent'
../server/.libs/libserver.so: undefined reference to `xmlParseMemory'
../server/.libs/libserver.so: undefined reference to `xmlParseFile'
../server/.libs/libserver.so: undefined reference to `xmlCleanupParser'
../server/.libs/libserver.so: undefined reference to `xmlInitParser'
../server/.libs/libserver.so: undefined reference to `xmlFree'
collect2: ld returned 1 exit status
make[2]: *** [gnash] Error 1
make[2]: Leaving directory `/home/notroot/.sourceinstall/build/gnash/backend'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/notroot/.sourceinstall/build/gnash'
make: *** [all] Error 2
This is with GCC 4.0.2 on Fedora Core 4.
|