On 13/11/11 22:10, Vincent Torri wrote:
>
>
> On Sun, 13 Nov 2011, Jochen Schröder wrote:
>
>> On 13/11/11 20:14, Vincent Torri wrote:
>>>
>>>
>>> On Sun, 13 Nov 2011, Jochen Schröder wrote:
>>>
>>>> On 13/11/11 18:39, Vincent Torri wrote:
>>>>>
>>>>>
>>>>> On Sun, 13 Nov 2011, Jochen Schröder wrote:
>>>>>
>>>>>> On 12/11/11 22:43, Vincent Torri wrote:
>>>>>>>
>>>>>>> Hey,
>>>>>>>
>>>>>>> On Sat, 12 Nov 2011, Vincent Torri wrote:
>>>>>>>
>>>>>>>> Hi all,
>>>>>>>>
>>>>>>>> I was trying to dig deeper into a problem where I get a
>>>>>>>> corruption in
>>>>>>>> e_fm when mounting and removing a usb disk (see
>>>>>>>> here:http://marc.info/?l=enlightenment-devel&m=132014458110340&w=2
>>>>>>>> for
>>>>>>>> details). I found a couple of problems when trying to build e with
>>>>>>>> different e_fm options.
>>>>>>>>
>>>>>>>> 1. when efl is installed in /opt/ for example eeze_mount is always
>>>>>>>> disabled because the configure test fails because of a missing
>>>>>>>> -L/opt/e17 in the compile.
>>>>>>>
>>>>>>> i don't have libmount, so I can't test it. Can you paste
>>>>>>> config.log of
>>>>>>> eeze, please ?
>>>>>>>
>>>>>>
>>>>>> Sorry I didn't make myself clear, this is compiling E, not eeze. Eeze
>>>>>> compiled fine with libmount support. However when I compile E and do
>>>>>> configure it fails the check, the relevant lines of E's config.log
>>>>>> are
>>>>>> below
>>>>>>
>>>>>> configure:15678: checking for eeze_disk_function in -leeze
>>>>>> configure:15703: gcc -std=gnu99 -o conftest -g -O2 conftest.c -leeze
>>>>>> -lpam >&5
>>>>>> /usr/bin/ld: cannot find -leeze
>>>>>
>>>>> that is strange: the eeze.pc file should have -L/opt/e17/lib -leeze in
>>>>> the Libs entry.
>>>>>
>>>>> One possible reason to not have -L***: you have previously installed
>>>>> eeze in /usr, removed the files manually except
>>>>> /usr/lib/pkgconfig/eeze.pc. Then installed eeze in /opt/e17, without
>>>>> updating PKG_CONFIG_PATH. So it's the eeze.pc in /usr/lib/pkgconfig
>>>>> which is used.
>>>>>
>>>>> So verify first that there is not an eeze.pc file somewhere else
>>>>>
>>>>> Vincent
>>>>>
>>>>
>>>> eeze.pc is fine, and eeze gets detected by pkgconfig and the
>>>> -L{library_path} is present. The problem is to enable eeze mounting
>>>> there is a check in configure.ac to test the presence of
>>>> eeze_disk_function using AC_CHECK_LIB (see line 397-411 in
>>>> configure.ac). The way I understand from just reading up on autoconf.
>>>> AC_CHECK_LIB only uses the default library paths, and there is nothing
>>>> to include the additional paths in the test and unfortunately I don't
>>>> know how to put them there either.
>>>
>>> in e_fm/Makefile.am:
>>>
>>> if HAVE_EEZE_MOUNT
>>> AM_CFLAGS += @EET_CFLAGS@
>>> LIBS += @EET_LIBS@
>>>
>>> here, there is maybe a missing libs. Try
>>>
>>> AM_CFLAGS += @EEZE_CFLAGS@ @EET_CFLAGS@
>>> LIBS += @EEZE_LIBS@ @EET_LIBS@
>>>
>>> It's not my code. Honestly, i would have not done that that way. Mike
>>> should look at that patch first before I commit (if it works)
>>>
>>> Vincent
>>
>> Thanks for taking time to debug this. I think you misunderstand me
>> though. The problem is not building e_fm it is configuring E to build
>> with eeze mount. Eeze is installed in /opt/e17/lib linked to to
>> libmount. Now if I run autogen.sh in e's src directory e_mount support
>> is never enabled. The reason is that the configure test fails with
>> /usr/bin/ld: cannot find -leeze.
>>
>> The offending code from e/configure.ac is (line 397-414):
>>
>> eeze_mount=
>> EEZE_MOUNT_CONFIG=0
>> if test "x$e_cv_want_mount_eeze" != "xno" ; then
>> AC_CHECK_LIB([eeze], [eeze_disk_function],
>> [
>> eeze_mount="eeze >= 1.0.999 ecore-con >= 1.0.999"
>> EEZE_MOUNT_CONFIG=1
>> AC_DEFINE_UNQUOTED([HAVE_EEZE_MOUNT], [1], [enable eeze
>> mounting])
>> AC_MSG_NOTICE([eeze mounting enabled])
>> ],
>> [
>> AC_MSG_NOTICE([eeze mounting disabled])
>> e_cv_want_mount_eeze=no
>> ]
>> )
>> else
>> AC_MSG_NOTICE([eeze mounting disabled])
>> fi
>>
>> (note that the presence of eeze + flags, has been determined earlier via
>> pkgconfig tests).
>
>> As I understand this and the autoconf documentation, this is a bit of a
>> hack to see if libeeze was compiled with mount support by checking if
>> libeeze contains the eeze_disk_function. The problem seems to be that
>> AC_CHECK_LIB only uses the standard library path, so if eeze is
>> installed in /opt/ the test always fails.
>
> according to the autoconf manual, about AC_CHECK_LIB:
>
> the default action prepends -llibrary to LIBS and defines
> 'HAVE_LIBlibrary' (in all capitals)
>
> Which means that one add to LIBS the flag -leeze. That's all. No -Lfoo.
> That's a mistake. Hence there is a bug in the above Makefile.am.
>
> Now, about the configure check, there is indeed something missing:
>
> CPPFLAGS_save="$CPPFLAGS"
> LIBS_save="$LIBS"
> CPPFLAGS="$EEZE_CFLAGS $CPPFLAGS"
> LIBS="$EEZE_LIBS $LIBS"
>
> AC_CHECK_LIB([eeze], [eeze_disk_function], ***)
>
> CPPFLAGS="$CPPFLAGS_save"
> LIBS="$LIBS_save"
>
> Vincent

Sorry for replying late, didn't really have time to check this. Putting 
this into configure.ac fixes the EEZE mount detection.

Thanks

Jochen

>
>>
>> Cheers
>> Jochen
>>
>>
>>
>>
>>>
>>>>
>>>>
>>>>>>
>>>>>> This is because I have eeze installed in /opt/e17 which is not in the
>>>>>> library path and therefore the linker fails. Adding -L/opt/e17/lib to
>>>>>> configure or export LIBRARY_PATH=/opt/e17/lib fixes this and
>>>>>> eeze_mount
>>>>>> is enabled. I have not figured out a way of making AC_CHECK_LIB
>>>>>> actually
>>>>>> use a non-default library path (mind you as I said earlier I don't
>>>>>> really know anything about autofoo)
>>>>>>
>>>>>> Hope this makes it clearer.
>>>>>>
>>>>>> Cheers
>>>>>> Jochen
>>>>>>
>>>>>>
>>>>>>>>
>>>>>>>> 2. configure help says enable hal device backend is disabled by
>>>>>>>> default,
>>>>>>>> however I always have it enabled after configure
>>>>>>>
>>>>>>> there is indeed a problem with hal device *backend* (which is
>>>>>>> actually not
>>>>>>> disabled by default), but the variable e_cv_want_device_hal is
>>>>>>> anyway
>>>>>>> not
>>>>>>> used at all. So I'm wondering why that part of code is still in
>>>>>>> configure.ac
>>>>>>>
>>>>>>> hal *mount* is enabled by default, and that's what is displayed
>>>>>>> in the
>>>>>>> configure output:
>>>>>>>
>>>>>>> Preferred Backends:
>>>>>>> * device..........: eeze
>>>>>>> * hal_mount...........: enabled
>>>>>>> * udisks_mount........: enabled
>>>>>>> * eeze_mount..........:
>>>>>>>
>>>>>>> I think i've fixed that in svn. Tell me if there's something wrong.
>>>>>>>
>>>>>>>> 3. when I pass --disable-mount-hal to configure the build of
>>>>>>>> e_fm_main_udisks fails with the following error:
>>>>>>>>
>>>>>>>> /usr/bin/ld: e_fm_main_udisks.o: undefined reference to symbol
>>>>>>>> 'e_dbus_method_call_send'
>>>>>>>> /usr/bin/ld: note: 'e_dbus_method_call_send' is defined in DSO
>>>>>>>> /opt/e17/lib/libedbus.so.1 so try adding it to the linker command
>>>>>>>> line
>>>>>>>> /opt/e17/lib/libedbus.so.1: could not read symbols: Invalid
>>>>>>>> operation
>>>>>>>
>>>>>>> no problem here. The symbol e_dbus_method_call_send is in my
>>>>>>> libedbus. I
>>>>>>> don't know what the problem could be. That symbol exists since
>>>>>>> e_dbus
>>>>>>> 1.0.
>>>>>>>
>>>>>>> Note that the EFL are not in /opt/ in my case.
>>>>>>>
>>>>>>>> collect2: ld returned 1 exit status
>>>>>>>> make[4]: *** [enlightenment_fm] Error 1
>>>>>>>> make[4]: Leaving directory
>>>>>>>> `/home/jschrod/Downloads/Enlightenment/e17_src/e/src/bin/e_fm'
>>>>>>>> make[3]: *** [all-recursive] Error 1
>>>>>>>> make[3]: Leaving directory
>>>>>>>> `/home/jschrod/Downloads/Enlightenment/e17_src/e/src/bin'
>>>>>>>> make[2]: *** [all-recursive] Error 1
>>>>>>>> make[2]: Leaving directory
>>>>>>>> `/home/jschrod/Downloads/Enlightenment/e17_src/e/src'
>>>>>>>> make[1]: *** [all-recursive] Error 1
>>>>>>>> make[1]: Leaving directory
>>>>>>>> `/home/jschrod/Downloads/Enlightenment/e17_src/e'
>>>>>>>> make: *** [all] Error 2
>>>>>>>> /usr/bin/ld: e_fm_main_udisks.o: undefined reference to symbol
>>>>>>>> 'e_dbus_method_call_send'
>>>>>>>> /usr/bin/ld: note: 'e_dbus_method_call_send' is defined in DSO
>>>>>>>> /opt/e17/lib/libedbus.so.1 so try adding it to the linker command
>>>>>>>> line
>>>>>>>> /opt/e17/lib/libedbus.so.1: could not read symbols: Invalid
>>>>>>>> operation
>>>>>>>> collect2: ld returned 1 exit status
>>>>>>>> make[4]: *** [enlightenment_fm] Error 1
>>>>>>>> make[4]: Leaving directory
>>>>>>>> `/home/jschrod/Downloads/Enlightenment/e17_src/e/src/bin/e_fm'
>>>>>>>> make[3]: *** [all-recursive] Error 1
>>>>>>>> make[3]: Leaving directory
>>>>>>>> `/home/jschrod/Downloads/Enlightenment/e17_src/e/src/bin'
>>>>>>>> make[2]: *** [all-recursive] Error 1
>>>>>>>> make[2]: Leaving directory
>>>>>>>> `/home/jschrod/Downloads/Enlightenment/e17_src/e/src'
>>>>>>>> make[1]: *** [all-recursive] Error 1
>>>>>>>> make[1]: Leaving directory
>>>>>>>> `/home/jschrod/Downloads/Enlightenment/e17_src/e'
>>>>>>>> make: *** [all] Error 2
>>>>>>>>
>>>>>>>> 4. building after configure with --disable-mount-hal and
>>>>>>>> --disable-mount-udisks works (after fixing 1 by exporting
>>>>>>>> LIBRARY_PATH).
>>>>>>>> However the icons for usb-disks never show up on the screen
>>>>>>>> although
>>>>>>>> they are detected by eeze (messages about detected devices show
>>>>>>>> up in
>>>>>>>> xsession-errors).
>>>>>>>
>>>>>>> as I do not have eeze_mount, I think that I can't test that. Maybe
>>>>>>> Mike
>>>>>>> could look at that
>>>>>>>
>>>>>>> Vincent
>>>>>>>
>>>>>>>> Unfortunately I don't know anything about autofoo, otherwise I
>>>>>>>> would
>>>>>>>> have sent some patches for 1,2 and 3. If I can do anything else let
>>>>>>>> me know.
>>>>>>>>
>>>>>>>> Cheers
>>>>>>>> Jochen
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> RSA(R) Conference 2012
>>>>>>>> Save $700 by Nov 18
>>>>>>>> Register now
>>>>>>>> http://p.sf.net/sfu/rsa-sfdev2dev1
>>>>>>>> _______________________________________________
>>>>>>>> enlightenment-devel mailing list
>>>>>>>> enlightenment-devel@lists.sourceforge.net
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Cedric BAIL
>>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> RSA(R) Conference 2012
>>>>>>> Save $700 by Nov 18
>>>>>>> Register now
>>>>>>> http://p.sf.net/sfu/rsa-sfdev2dev1
>>>>>>> _______________________________________________
>>>>>>> enlightenment-devel mailing list
>>>>>>> enlightenment-devel@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>>
>>>>>>
>>>>>>
>>>>>> RSA(R) Conference 2012
>>>>>> Save $700 by Nov 18
>>>>>> Register now
>>>>>> http://p.sf.net/sfu/rsa-sfdev2dev1
>>>>>> _______________________________________________
>>>>>> enlightenment-devel mailing list
>>>>>> enlightenment-devel@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>>
>>>>>
>>>>> RSA(R) Conference 2012
>>>>> Save $700 by Nov 18
>>>>> Register now
>>>>> http://p.sf.net/sfu/rsa-sfdev2dev1
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> enlightenment-devel mailing list
>>>>> enlightenment-devel@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>>
>>>>
>>>> RSA(R) Conference 2012
>>>> Save $700 by Nov 18
>>>> Register now
>>>> http://p.sf.net/sfu/rsa-sfdev2dev1
>>>> _______________________________________________
>>>> enlightenment-devel mailing list
>>>> enlightenment-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>>>
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>>
>>> RSA(R) Conference 2012
>>> Save $700 by Nov 18
>>> Register now
>>> http://p.sf.net/sfu/rsa-sfdev2dev1
>>>
>>>
>>>
>>> _______________________________________________
>>> enlightenment-devel mailing list
>>> enlightenment-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>>
>> ------------------------------------------------------------------------------
>>
>> RSA(R) Conference 2012
>> Save $700 by Nov 18
>> Register now
>> http://p.sf.net/sfu/rsa-sfdev2dev1
>> _______________________________________________
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>>
>
>
> ------------------------------------------------------------------------------
> RSA(R) Conference 2012
> Save $700 by Nov 18
> Register now
> http://p.sf.net/sfu/rsa-sfdev2dev1
>
>
>
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to