On Tue, Jan 8, 2013 at 2:18 AM, Gustavo Sverzut Barbieri
<barbi...@profusion.mobi> wrote:
> On Mon, Jan 7, 2013 at 9:14 AM, Arvind R <arvin...@gmail.com> wrote:
>
>> Hi all,
>>
>> After getting xine backend working in emotion, tried generic (vlc)
>> backend. Nope - doesn't work -:(
>>
>> Problem 1: Using the example source, now need to add:
>> emotion_object_module_option_set(em, "player", "vlc");
>>
>> It does not fall-back to the default generic player.
>>
>> Problem 2:
>> em_player_vlc cannot be found, because generic_module_init() fails to
>> set the prefixes proper.
>>
>> So put printf() and recompiled. (Is there is a small howto on the eina
>> logging system?) Output:
>>
>> evas engine: <auto>
>> emotion backend: generic
>> vis: 0
>> geometry: 0 0 960x540
>> generic_module_init: initing libdir to /usr/lib/x86_64-linux-gnu
>>
>
> this seems wrong already, is it PACKAGE_LIB_DIR? why does it contain
> x86_64-linux-gnu? in Makefile.am it's just $(libdir), did you specify
> something with --libdir?
>
Yes. '$prefix/lib/$DEB_ARCH. The x86_64-linux-gnu is correct.
>
>
>> generic_module_init: got libdir /usr/lib/lib
>>
>
> yet another very weird result. double "lib" in the path? Where are you
> installing these things?
>
> eina_prefix_new() will use the given symbol (emotion_object_add) and dladdr
> to know which file it came from. Should be the libemotion.so. Then it gets
> the directory where libemotion.so is contained, should be /usr/lib if it's
> /usr/lib/libemotion.so. Then it will remove the "lib" part to get the
> prefix, later adding this again (this is what it should do, did not test to
> see if it's correct).
>
Ah-ah! The logic is IMHO, wrong! My installation is a multiarch debian
install. The x86_64 libdir is '/usr/lib/x86_64-linux-gnu' and 32-bit
version in 'usr/lib32' on a x86_64-linux-gnu system and '/usr/lib/' on
a 'x86-linux-gnu' system. The modules get installed in sub-dirs of the
library, e.g. libemotion.so gets installed in
'/usr/lib/x86_64-linux-gnu/' and emotion modules in
'/usr/lib/x86_64-linux-gnu/emotion/'.
This makes the 'MODULE_ARCH' variable in autoconf files unnecessary;
and, as I have on my system (untested -:(), a lib32 AND a x86_64
installation possible. This will conform to most packaging systems
AFAIK, and definitely to Debian.
If the logic is modified to scan from right to left the absence of
'^lib' substring to get the prefix, and later add ALL the subsequent
parts, all will be fine. Better still, have eina_prefix_new take the
$PREFIX value too to enable a left-to-right scan.
>
>
>> ERR<3392>:emotion-generic emotion_generic.c:105 _get_player() Trying
>> generic player '/usr/lib/lib/emotion/utils/em_generic_vlc'
>>
>
> likely the double "lib" is the problem?
Of course. If a soft-link is setup for /usr/lib/lib to point to
/usr/lib/x86_64-linux-gnu,
everything works!
>
> Also, please see your eina/config.h if HAVE_DLADDR is defined, it will
> impact eina_prefix work.
>
Yes, it is defined.

Regards,
Arvind

------------------------------------------------------------------------------
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to