Comments (2)
On 29 October 2013 12:59, sejerpz [email protected] wrote:
I use gmrender with my old chumby that has glib 2.18.
Every time I need to recompile I've to apply a simple patch in order to
support old way of initializing thread in glib
What is happening with the old glib ? Does it not have the symbols, or does
the code break ?
In general, sounds good, I'll have see that I can get that applied later
tonight.
It looks like you're comparing against a particular version of glib, this
should probably be a less-than/larger-than thing ? Can you figure out the
exact cut-off version for me ?
Thanks,
Henner.
Here the snippet if you really want I can do a merge request:
Thanks for the software.
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/46
.
from gmrender-resurrect.
It doesn't have the 'g_thread_get_initialized' function (introduced in glib 2.20) but only the g_thread_supported () [1]
According to the docs g_thread_init wasn't necessary anymore from 2.32 [2]
Regarding the check the name of the macro is a bit measleading but the docs says:
TRUE if the version of the GLib header files is the same as or newer than the passed-in version.
Last but not least, I had to move function call at the beginning of the main function to prevent some gstreamer 0.10 warning (or error? I don't remember exactly) even when just parsing the options without threads initialized.
[1] https://developer.gnome.org/glib/2.38/glib-Deprecated-Thread-APIs.html#g-thread-supported
[2] https://developer.gnome.org/glib/2.38/glib-Deprecated-Thread-APIs.html#g-thread-init
[3] https://developer.gnome.org/glib/2.38/glib-Version-Information.html#GLIB-CHECK-VERSION:CAPS
Here my compilation log:
andrea@rosso:~/Devel/3rdy/chumby/gmrender-resurrect$ sb2 make
make all-recursive
make[1]: Entering directory /home/andrea/Devel/3rdy/chumby/gmrender-resurrect' Making all in src make[2]: Entering directory
/home/andrea/Devel/3rdy/chumby/gmrender-resurrect/src'
(echo "#define GM_COMPILE_VERSION "2013-10-27_1dfa850"" > git-version.h-new;
cmp -s git-version.h git-version.h-new || cp git-version.h-new git-version.h;
rm git-version.h-new)
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -pthread -I/mnt/usb/usr/include/glib-2.0 -I/mnt/usb/usr/lib/glib-2.0/include -pthread -I/mnt/usb/usr/include/gstreamer-0.10 -I/mnt/usb/usr/include/glib-2.0 -I/mnt/usb/usr/lib/glib-2.0/include -I/mnt/usb/usr/include/libxml2 -pthread -I/mnt/usb/usr/include/upnp -DPKG_DATADIR="/mnt/usb/usr/share/gmediarender" -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations -Wwrite-strings -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
main.c: In function 'main':
main.c:242: warning: implicit declaration of function 'g_thread_get_initialized'
mv -f .deps/main.Tpo .deps/main.Po
gcc -std=gnu99 -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations -Wwrite-strings -o gmediarender main.o upnp.o upnp_control.o upnp_connmgr.o upnp_transport.o song-meta-data.o variable-container.o upnp_device.o upnp_renderer.o webserver.o output.o logging.o xmldoc.o xmlescape.o output_gstreamer.o -pthread -L/mnt/usb/usr/lib -lgthread-2.0 -lrt -lglib-2.0 -pthread -L/mnt/usb/usr/lib -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0 -pthread -L/mnt/usb/usr/lib -lupnp -lthreadutil -lixml -lm
main.o: In function main': main.c:(.text+0x458): undefined reference to
g_thread_get_initialized'
collect2: ld returned 1 exit status
make[2]: *** [gmediarender] Error 1
make[2]: Leaving directory /home/andrea/Devel/3rdy/chumby/gmrender-resurrect/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory
/home/andrea/Devel/3rdy/chumby/gmrender-resurrect'
make: *** [all] Error 2
from gmrender-resurrect.
Related Issues (20)
- How to set pulsesink server ? HOT 2
- Slow subscribe events HOT 3
- Audio seek subscription HOT 3
- View connected users HOT 10
- gmrender-resurrect not building with pupnp 1.14.13 HOT 2
- Documentation of --gstout-audiodevice is incorrect
- Enhancement: Support external volume control
- daemon starts with Error: UPNP_E_INVALID_INTERFACE HOT 3
- Cut 0.1 release HOT 2
- DSD Native HOT 6
- disconnected client but device audio is still not relased HOT 6
- Compile errors with libupnp 1.14.13
- [Debian PowerPC G3] error in stdout when trying to play m3u8 stream HOT 2
- hi-fi cast on android shows only one of multiple gmediarender on intranet [v0.1] HOT 3
- Issues Volume Control with Replay Gain HOT 17
- Home asistant and youtube music unable play HOT 3
- Scrobbling HOT 4
- Wrong link to wiki compatibility page HOT 1
- Trouble working with Pipewire HOT 1
- Convolution with Filter possible? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gmrender-resurrect.