From: Jochen S. <cyc...@gm...> - 2011-11-12 07:20:49
|
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. 2. configure help says enable hal device backend is disabled by default, however I always have it enabled after configure 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 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). 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 |
From: Vincent T. <vt...@un...> - 2011-11-12 11:43:40
|
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 ? > > 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 > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > -- > Cedric BAIL > |
From: Vincent T. <vt...@un...> - 2011-11-12 12:03:15
|
On Sat, 12 Nov 2011, 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 ? > >> >> 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 try the patch below: Index: configure.ac =================================================================== --- configure.ac (revision 65096) +++ configure.ac (working copy) @@ -462,6 +462,7 @@ ecore-ipc >= 1.0.999 \ eet >= 1.4.0 \ efreet >= 1.0.999 \ +edbus >= 1.0.999 \ eina >= 1.0.999" efm_requires+=" $eeze_mount $dbus_mount $hal_mount $udisks_mount" Vincent |
From: Jochen S. <cyc...@gm...> - 2011-11-13 05:52:50
|
On 12/11/11 23:03, Vincent Torri wrote: > > > On Sat, 12 Nov 2011, 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 ? >> >>> >>> 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 > > try the patch below: > > Index: configure.ac > =================================================================== > --- configure.ac (revision 65096) > +++ configure.ac (working copy) > @@ -462,6 +462,7 @@ > ecore-ipc>= 1.0.999 \ > eet>= 1.4.0 \ > efreet>= 1.0.999 \ > +edbus>= 1.0.999 \ > eina>= 1.0.999" > efm_requires+=" $eeze_mount $dbus_mount $hal_mount $udisks_mount" > > > Vincent > This fixes the above compilation error. Cheers Jochen > ------------------------------------------------------------------------------ > RSA(R) Conference 2012 > Save $700 by Nov 18 > Register now > http://p.sf.net/sfu/rsa-sfdev2dev1 > _______________________________________________ > enlightenment-devel mailing list > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel |
From: Jochen S. <cyc...@gm...> - 2011-11-13 06:33:28
|
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 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 >> enl...@li... >> 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 > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel |
From: Vincent T. <vt...@un...> - 2011-11-13 07:40:05
|
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 > > 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 >>> enl...@li... >>> 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 >> enl...@li... >> 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 > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > |
From: Jochen S. <cyc...@gm...> - 2011-11-13 09:03:04
|
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. >> >> 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 >>>> enl...@li... >>>> 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 >>> enl...@li... >>> 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 >> enl...@li... >> 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 > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel |
From: Vincent T. <vt...@un...> - 2011-11-13 09:14:54
|
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 > > >>> >>> 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 >>>>> enl...@li... >>>>> 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 >>>> enl...@li... >>>> 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 >>> enl...@li... >>> 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 >> enl...@li... >> 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 > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > |
From: Jochen S. <cyc...@gm...> - 2011-11-13 11:00:52
|
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. 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 >>>>>> enl...@li... >>>>>> 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 >>>>> enl...@li... >>>>> 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 >>>> enl...@li... >>>> 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 >>> enl...@li... >>> 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 >> enl...@li... >> 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 > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel |
From: Vincent T. <vt...@un...> - 2011-11-13 11:10:20
|
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 > > 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 >>>>>>> enl...@li... >>>>>>> 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 >>>>>> enl...@li... >>>>>> 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 >>>>> enl...@li... >>>>> 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 >>>> enl...@li... >>>> 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 >>> enl...@li... >>> 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 >> enl...@li... >> 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 > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > |
From: Jochen S. <cyc...@gm...> - 2011-11-17 21:43:53
|
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 >>>>>>>> enl...@li... >>>>>>>> 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 >>>>>>> enl...@li... >>>>>>> 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 >>>>>> enl...@li... >>>>>> 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 >>>>> enl...@li... >>>>> 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 >>>> enl...@li... >>>> 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 >>> enl...@li... >>> 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 >> enl...@li... >> 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 > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel |
From: Vincent T. <vt...@un...> - 2011-11-18 06:57:35
|
On Fri, 18 Nov 2011, Jochen Schröder wrote: > 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. shoud be fixed in svn, tell me if there are still problems Vincent |