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