Hi

On 2013-05-21 20:49:41, Salvatore Bonaccorso wrote:
> Hi Gregor, hi Michael
> 
> On Sat, May 18, 2013 at 07:14:56PM +0200, gregor herrmann wrote:
> > On Sun, 16 Dec 2012 05:53:22 +0100, Michael Biebl wrote:
> > 
> > > Attached is a build-tested patch.
> > > Please review and apply.
> > 
> > After applying the patch, the build fails for me (tested in an amd64
> > and in 386 sid cowbuilder chroot) with:
> > 
> > Making all in src
> > make[3]: Entering directory `/tmp/buildd/gxine-0.5.907/src'
> >   CC     console_output.o
> > console_output.c: In function 'console_log_captured':
> > console_output.c:152:3: warning: function declared 'noreturn' has a 
> > 'return' statement [enabled by default]
> >   CC     desktop_integration.o
> > In file included from globals.h:38:0,
> >                  from desktop_integration.c:27:
> > script_engine.h:39:1: error: unknown type name 'jsdouble'
> > script_engine.h:251:30: error: unknown type name 'JSInt32'
> > script_engine.h:254:37: error: unknown type name 'JSInt32'
> > script_engine.h:276:3: error: unknown type name 'uintN'
> > script_engine.h:282:37: error: unknown type name 'uintN'
> > script_engine.h:282:50: error: unknown type name 'uintN'
> > desktop_integration.c:187:13: warning: 'di_gnome_vfs_flush' defined but not 
> > used [-Wunused-function]
> > make[3]: *** [desktop_integration.o] Error 1
> > make[3]: Leaving directory `/tmp/buildd/gxine-0.5.907/src'
> > make[2]: *** [all-recursive] Error 1
> > make[2]: Leaving directory `/tmp/buildd/gxine-0.5.907'
> > make[1]: *** [all] Error 2
> > make[1]: Leaving directory `/tmp/buildd/gxine-0.5.907'
> > make: *** [build-stamp] Error 2
> 
> Can confirm, and it builds under jessie with libmozjs 10.0.12esr-1+nmu1. It
> seems related to this typdef changes:
> 
>  [1] https://developer.mozilla.org/en-US/docs/SpiderMonkey/17#typedef_Changes

If I remember correctly, gxine fails due to other API changes later on
even if the types are fixed. Unfortunately I have already deleted my
attemps to get it in a buildable state.

Anyway, gxine come up on #debian-release today and a part of this
discussion was the use of Javascript in gxine:

14:15:26 < ansgar> Sebastinas: Does it only run trusted Javascript? Or more?
14:22:33 < Sebastinas> ansgar: It runs Javascript code provided by the user.
14:23:11 < Sebastinas> One can bind keys to Javascript code that can manipulate 
gxine settings.
14:23:27 < Sebastinas> I don't know if it's used for anything else.
14:23:46 < ansgar> Sebastinas: For that it should be fine to use 
libmozjs185-dev instead of libmozjs-dev.
14:37:31 < Sebastinas> gxine compiles with libmzjs185-dev and then fails to 
link. Looks like a missing -ldl.
14:37:39 < Sebastinas> I'll send the info to the bug.
14:50:27 < Sebastinas> ansgar: Would you mind if I quote you on the 
libmozjs*-dev change?
14:51:00 < ansgar> Sebastinas: Fine with me.

With Michael's patch applied and libmozjs-dev replaced by
libmozjs188-dev, gxine fails to build with:
|   CCLD   gxine
| /usr/bin/ld: desktop_integration.o: undefined reference to symbol 
'dlsym@@GLIBC_2.2.5'
| /lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from 
command line
| collect2: error: ld returned 1 exit status

Attached is a preliminary patch that allows gxine to be built again.

Regards
-- 
Sebastian Ramacher
diff -Nru gxine-0.5.907/debian/changelog gxine-0.5.907/debian/changelog
--- gxine-0.5.907/debian/changelog	2012-06-08 18:57:10.000000000 +0200
+++ gxine-0.5.907/debian/changelog	2013-08-06 15:30:09.000000000 +0200
@@ -1,3 +1,15 @@
+gxine (0.5.907-2.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * debian/patches:
+    - glib.patch: Fix building with newer glib. Thanks to Micheal Biebl for
+      the patch. (Closes: #665555)
+    - underlinkage.patch: Link with -ldl and -lm to fix unresolved symbols.
+  * debian/control: Replace libmozjs-dev with libmozjs185-dev since gxine
+    doesn't build with libmozjs-dev from iceweasel 17.
+
+ -- Sebastian Ramacher <sramac...@debian.org>  Tue, 06 Aug 2013 15:04:12 +0200
+
 gxine (0.5.907-2) unstable; urgency=low
 
   * Switched source maintenance to mercurial-buildpackage.
diff -Nru gxine-0.5.907/debian/control gxine-0.5.907/debian/control
--- gxine-0.5.907/debian/control	2012-06-08 18:56:59.000000000 +0200
+++ gxine-0.5.907/debian/control	2013-08-06 15:06:02.000000000 +0200
@@ -6,7 +6,7 @@
 Build-Depends: debhelper (>> 5.0.0),
 	libxine2-dev, libxine2-misc-plugins,
 	libgtk2.0-dev (>= 2.8.0),
-	libmozjs-dev, liblircclient-dev,
+	libmozjs185-dev, liblircclient-dev,
 	libdbus-glib-1-dev,
 	libgudev-1.0-dev [linux-any], libhal-dev [!linux-any],
 	libxcb1-dev | x11-common (<< 1:7.2),
diff -Nru gxine-0.5.907/debian/patches/glib.patch gxine-0.5.907/debian/patches/glib.patch
--- gxine-0.5.907/debian/patches/glib.patch	1970-01-01 01:00:00.000000000 +0100
+++ gxine-0.5.907/debian/patches/glib.patch	2013-08-06 15:34:33.000000000 +0200
@@ -0,0 +1,42 @@
+Description: Replace include of individual glib headers with #include <glib.h>
+Author: Michael Biebl <bi...@debian.org>
+Last-Update: 2013-08-06
+
+Index: gxine-0.5.907/src/console_output.h
+===================================================================
+--- gxine-0.5.907.orig/src/console_output.h	2010-04-11 16:46:54.000000000 +0200
++++ gxine-0.5.907/src/console_output.h	2012-12-16 05:51:59.294513288 +0100
+@@ -21,7 +21,7 @@
+ #ifndef GXINE_CONSOLE_OUTPUT_H
+ #define GXINE_CONSOLE_OUTPUT_H
+ 
+-#include <glib/gmessages.h>
++#include <glib.h>
+ 
+ void console_output_init (void);
+ 
+Index: gxine-0.5.907/src/engine.c
+===================================================================
+--- gxine-0.5.907.orig/src/engine.c	2011-10-12 00:47:52.000000000 +0200
++++ gxine-0.5.907/src/engine.c	2012-12-16 05:51:59.134511591 +0100
+@@ -30,7 +30,7 @@
+ #include <errno.h>
+ #include <unistd.h>
+ 
+-#include <glib/gthread.h>
++#include <glib.h>
+ 
+ #include "engine.h"
+ #include "ui.h"
+Index: gxine-0.5.907/src/main.c
+===================================================================
+--- gxine-0.5.907.orig/src/main.c	2010-12-05 12:38:44.000000000 +0100
++++ gxine-0.5.907/src/main.c	2012-12-16 05:51:59.226512567 +0100
+@@ -46,7 +46,6 @@
+ #include <gdk/gdk.h>
+ #include <gdk/gdkkeysyms.h>
+ #include <glib.h>
+-#include <glib/gmessages.h>
+ 
+ #include "desktop_integration.h"
+ #include "engine.h"
diff -Nru gxine-0.5.907/debian/patches/series gxine-0.5.907/debian/patches/series
--- gxine-0.5.907/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ gxine-0.5.907/debian/patches/series	2013-08-06 15:18:51.000000000 +0200
@@ -0,0 +1,2 @@
+glib.patch
+underlinkage.patch
diff -Nru gxine-0.5.907/debian/patches/underlinkage.patch gxine-0.5.907/debian/patches/underlinkage.patch
--- gxine-0.5.907/debian/patches/underlinkage.patch	1970-01-01 01:00:00.000000000 +0100
+++ gxine-0.5.907/debian/patches/underlinkage.patch	2013-08-06 15:35:06.000000000 +0200
@@ -0,0 +1,26 @@
+Description: Link with -ldl and -lm
+Author: Sebastian Ramacher <sramac...@debian.org>
+Last-Update: 2013-08-06
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -53,7 +53,7 @@
+ gxine_LDADD = $(XINE_LIBS) $(GTK2_LIBS) $(GTHREAD2_LIBS) \
+ 	      $(JS_LIBS) $(HAL_LIBS) $(UDEV_LIBS) $(DBUS_LIBS) $(LIRC_LIBS) \
+ 	      $(X_LIBS) $(X_EXTRA_LIBS) $(XEXT_LIBS) $(XTEST_LIBS) \
+-	      $(XINERAMA_LIBS) $(XRANDR_LIBS) $(XCB_LIBS)
++	      $(XINERAMA_LIBS) $(XRANDR_LIBS) $(XCB_LIBS) -ldl -lm
+ 
+ gxine_client_SOURCES = client.c console_output.c
+ 
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -377,7 +377,7 @@
+ gxine_LDADD = $(XINE_LIBS) $(GTK2_LIBS) $(GTHREAD2_LIBS) \
+ 	      $(JS_LIBS) $(HAL_LIBS) $(UDEV_LIBS) $(DBUS_LIBS) $(LIRC_LIBS) \
+ 	      $(X_LIBS) $(X_EXTRA_LIBS) $(XEXT_LIBS) $(XTEST_LIBS) \
+-	      $(XINERAMA_LIBS) $(XRANDR_LIBS) $(XCB_LIBS)
++	      $(XINERAMA_LIBS) $(XRANDR_LIBS) $(XCB_LIBS) -ldl -lm
+ 
+ gxine_client_SOURCES = client.c console_output.c
+ gxine_client_CFLAGS = $(AM_CFLAGS) -DGXINE_CLIENT

Attachment: signature.asc
Description: Digital signature

Reply via email to