After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 707146 - [PATCH] Fixes crosscompiling/linking witth Android's NDK r8e toolchain (possibly others)
[PATCH] Fixes crosscompiling/linking witth Android's NDK r8e toolchain (possi...
Status: RESOLVED FIXED
Product: rygel
Classification: Applications
Component: general
git master
Other All
: Normal normal
: ---
Assigned To: rygel-maint
rygel-maint
Depends on:
Blocks:
 
 
Reported: 2013-08-30 18:16 UTC by Reynaldo H. Verdejo Pinochet
Modified: 2013-09-02 18:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (1.03 KB, patch)
2013-08-30 18:16 UTC, Reynaldo H. Verdejo Pinochet
committed Details | Review

Description Reynaldo H. Verdejo Pinochet 2013-08-30 18:16:59 UTC
Created attachment 253642 [details] [review]
patch

When building with this toolchain I was bitten by a libtool
'can not build a shared library error' at media-engines-simple
linking time. Tracing that up I found out the problem laid on
these harcoded flags in configure.ac, -shared was the one to
blame but -fPIC should neither be there.

Args passed to configure were:

--with-media-engine=simple --without-ui --disable-tracker-plugin --disable-silent-rules --disable-external-plugin --disable-mpris-plugin

And the error:

libtool: compile:  arm-linux-androideabi-gcc -DHAVE_CONFIG_H -I. -I../../.. -D_REENTRANT -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/gupnp-1.0 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/gssdp-1.0 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/libxml2 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/libsoup-2.4 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/glib-2.0 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/lib/glib-2.0/include -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/gee-0.8 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/gupnp-av-1.0 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/uuid -DDATA_DIR=\"/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/share/rygel\" -include config.h -I../../../src/librygel-core -I../../../src/librygel-core -I../../../src/librygel-server -I../../../src/librygel-server -DG_LOG_DOMAIN=\"MediaEngine-Simple\" -w -MT librygel_media_engine_simple_la-rygel-simple-media-engine.lo -MD -MP -MF .deps/librygel_media_engine_simple_la-rygel-simple-media-engine.Tpo -c rygel-simple-media-engine.c -o librygel_media_engine_simple_la-rygel-simple-media-engine.o
mv -f .deps/librygel_media_engine_simple_la-rygel-simple-media-engine.Tpo .deps/librygel_media_engine_simple_la-rygel-simple-media-engine.Plo
mv -f .deps/librygel_media_engine_simple_la-rygel-simple-data-source.Tpo .deps/librygel_media_engine_simple_la-rygel-simple-data-source.Plo
/bin/bash ../../../libtool  --tag=CC   --mode=link arm-linux-androideabi-gcc -D_REENTRANT -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/gupnp-1.0 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/gssdp-1.0 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/libxml2 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/libsoup-2.4 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/glib-2.0 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/lib/glib-2.0/include -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/gee-0.8 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/gupnp-av-1.0 -I/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/include/uuid   -DDATA_DIR='"/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/share/rygel"' -include config.h -I../../../src/librygel-core -I../../../src/librygel-core -I../../../src/librygel-server -I../../../src/librygel-server -DG_LOG_DOMAIN='"MediaEngine-Simple"' -w -shared -fPIC -module -avoid-version -Wl,-z,defs -L/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/lib  -o librygel-media-engine-simple.la -rpath /home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/lib/rygel-2.0/engines librygel_media_engine_simple_la-rygel-simple-media-engine.lo librygel_media_engine_simple_la-rygel-simple-data-source.lo -Wl,--export-dynamic -L/home/reynaldo/devel/Collabora/Intel_dLeyna/github/dleyna-collabora-android/NativeLibs/install-armeabi-android-14/lib -lgupnp-1.0 -lgee-0.8 -lgupnp-av-1.0 -luuid -lgssdp-1.0 -lgmodule-2.0 -lxml2 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -liconv   ../../../src/librygel-core/librygel-core-2.0.la ../../../src/librygel-server/librygel-server-2.0.la 
libtool: link: can not build a shared library
libtool: link: See the libtool documentation for more information.
libtool: link: Fatal configuration error.
make[4]: *** [librygel-media-engine-simple.la] Error 1

To give you more context; Intel's OTC is working on bringing an opensource
DLNA stack to Android. This small fix and other changes to Rygel (and other
related projects) are part of that effort.