On Thu, 18 Jul 2019 16:30:37 -0400 mh <mhe...@member.fsf.org> said: > > On 7/18/19 12:22 PM, Massimo Maiurana wrote: > > mh ha scritto il 18/07/19 alle 17:32: > >> On 7/18/19 5:38 AM, Marcel Hollerbach wrote: > >>> Hi, > >>> > >>> On 7/17/19 11:40 PM, mh wrote: > >>>> On 7/17/19 5:20 PM, Massimo Maiurana wrote: > >>>>> mh ha scritto il 17/07/19 alle 23:05: > >>>>>> On 7/17/19 12:04 PM, Massimo Maiurana wrote: > >>>>>> > >>>>>>> mh ha scritto il 17/07/19 alle 15:16: > >>>>>>>> On 7/17/19 12:50 AM, Vincent Torri wrote: > >>>>>>>> > >>>>>>>>> On Wed, Jul 17, 2019 at 12:25 AM mh<mhe...@member.fsf.org> wrote: > >>>>>>>>>> On 7/16/19 5:39 PM, Vincent Torri wrote: > >>>>>>>>>> > >>>>>>>>>>> On Tue, Jul 16, 2019 at 10:32 PM mh<mhe...@member.fsf.org> > >>>>>>>>>>> wrote: > >>>>>>>>>>>> I am trying to build/install E into /opt/e. I have my PATH, > >>>>>>>>>>>> LD_LIBRARY_PATH, and PKG_CONFIG_PATH set to include /opt/e. EFL > >>>>>>>>>>>> builds > >>>>>>>>>>>> and install properly to /opt/e. Enlightenment meson build fails > >>>>>>>>>>>> with: > >>>>>>>>>>>> meson.build:225:11: ERROR: Dependency "eeze" not found, tried > >>>>>>>>>>>> pkgconfig > >>>>>>>>>>>> and cmake > >>>>>>>>>>>> > >>>>>>>>>>>> The end of the enlightenment/build/meson-logs/meson-log.txt > >>>>>>>>>>>> (below) > >>>>>>>>>>>> shows that it appears to see the correct PKG_CONFIG_PATH, but > >>>>>>>>>>>> still > >>>>>>>>>>>> fails. What is happening? When autoconf was still possible with > >>>>>>>>>>>> efl I > >>>>>>>>>>>> could install to /opt/e with that and then build the > >>>>>>>>>>>> enlightenment, > >>>>>>>>>>>> ephoto, terminology with their respective meson/ninja methods. > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> CMake binary for MachineChoice.HOST is not cached > >>>>>>>>>>>> CMake binary missing from cross or native file, or env var > >>>>>>>>>>>> undefined. > >>>>>>>>>>>> Trying a default CMake fallback at cmake > >>>>>>>>>>>> Trying CMake binary cmake for machine MachineChoice.HOST at > >>>>>>>>>>>> ['/usr/bin/cmake'] > >>>>>>>>>>>> Found CMake: /usr/bin/cmake (3.13.4) > >>>>>>>>>>>> Extracting basic cmake information > >>>>>>>>>>>> Try CMake generator: auto > >>>>>>>>>>>> Called `/usr/bin/cmake --trace-expand .` in > >>>>>>>>>>>> /home/michael/e-git-script/enlightenment/build/meson-private/cmake_bluez > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> -> 0 > >>>>>>>>>>>> -- Module search paths: ['/', '/opt', '/usr', '/usr/local'] > >>>>>>>>>>>> -- CMake root: /usr/share/cmake-3.13 > >>>>>>>>>>>> -- CMake architectures: ['i386-linux-gnu', 'x86_64-linux-gnu'] > >>>>>>>>>>>> -- CMake lib search paths: ['lib', 'lib32', 'lib64', 'libx32', > >>>>>>>>>>>> 'share', 'lib/i386-linux-gnu', 'lib/x86_64-linux-gnu'] > >>>>>>>>>>>> Run-time dependency bluez found: NO (tried pkgconfig and cmake) > >>>>>>>>>>>> Pkg-config binary for MachineChoice.HOST is cached. > >>>>>>>>>>>> Determining dependency 'systemd' with pkg-config executable > >>>>>>>>>>>> '/usr/bin/pkg-config' > >>>>>>>>>>>> PKG_CONFIG_PATH: /opt/e/lib/pkgconfig: > >>>>>>>>>>>> Called `/usr/bin/pkg-config --modversion systemd` -> 0 > >>>>>>>>>>>> 241 > >>>>>>>>>>>> PKG_CONFIG_PATH: /opt/e/lib/pkgconfig: > >>>>>>>>>>>> Called `/usr/bin/pkg-config --cflags systemd` -> 0 > >>>>>>>>>>>> > >>>>>>>>>>>> PKG_CONFIG_PATH: /opt/e/lib/pkgconfig: > >>>>>>>>>>>> Called `/usr/bin/pkg-config systemd --libs` -> 0 > >>>>>>>>>>>> > >>>>>>>>>>>> PKG_CONFIG_PATH: /opt/e/lib/pkgconfig: > >>>>>>>>>>>> Called `/usr/bin/pkg-config systemd --libs` -> 0 > >>>>>>>>>>>> > >>>>>>>>>>>> Run-time dependency systemd found: YES 241 > >>>>>>>>>>>> PKG_CONFIG_PATH: /opt/e/lib/pkgconfig: > >>>>>>>>>>>> Called `/usr/bin/pkg-config --variable=systemduserunitdir > >>>>>>>>>>>> systemd` > >>>>>>>>>>>> -> 0 > >>>>>>>>>>>> /usr/lib/systemd/user > >>>>>>>>>>>> Got pkgconfig variable systemduserunitdir : > >>>>>>>>>>>> /usr/lib/systemd/user > >>>>>>>>>>>> Pkg-config binary for MachineChoice.HOST is cached. > >>>>>>>>>>>> Determining dependency 'eeze' with pkg-config executable > >>>>>>>>>>>> '/usr/bin/pkg-config' > >>>>>>>>>>>> PKG_CONFIG_PATH: /opt/e/lib/pkgconfig: > >>>>>>>>>>>> Called `/usr/bin/pkg-config --modversion eeze` -> 1 > >>>>>>>>>>>> > >>>>>>>>>>>> CMake binary for MachineChoice.HOST is cached. > >>>>>>>>>>>> Run-time dependency eeze found: NO (tried pkgconfig and cmake) > >>>>>>>>>>>> > >>>>>>>>>>>> meson.build:225:11: ERROR: Dependency "eeze" not found, tried > >>>>>>>>>>>> pkgconfig > >>>>>>>>>>>> and cmake > >>>>>>>>>>> the error is that eeze is not found. > >>>>>>>>>>> > >>>>>>>>>>> Either : > >>>>>>>>>>> > >>>>>>>>>>> 1) build the efl with eeze support (iirc, libmount is > >>>>>>>>>>> necessary for > >>>>>>>>>>> eeze). Verify that eeze.pc is available where you installed > >>>>>>>>>>> the EFL > >>>>>>>>>>> > >>>>>>>>>>> or : > >>>>>>>>>>> > >>>>>>>>>>> 2) build E without eeze support (it's disabled by default) > >>>>>>>>>>> > >>>>>>>>>>> Vincent > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> _______________________________________________ > >>>>>>>>>>> enlightenment-users mailing list > >>>>>>>>>>> enlightenment-users@lists.sourceforge.net > >>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-users > >>>>>>>>>> yes, but it really is installed: > >>>>>>>>>> > >>>>>>>>>> $:/mnt/opt/e$ ls bin > >>>>>>>>>> > >>>>>>>>>> diffeet edje_inspector eetpack efl_debug > >>>>>>>>>> elementary_codegen elm_prefs_cc eolian_cxx > >>>>>>>>>> ecore_evas_convert edje_pick eeze_disk_ls efl_debugd > >>>>>>>>>> elementary_config elua eolian_gen > >>>>>>>>>> edje_cc edje_player eeze_mount efreetd > >>>>>>>>>> elementary_perf embryo_cc ethumb > >>>>>>>>>> edje_codegen edje_recc eeze_scanner eina_btlog > >>>>>>>>>> elementary_quicklaunch emotion_test ethumbd > >>>>>>>>>> edje_decc edje_watch eeze_scanner_monitor > >>>>>>>>>> eina_modinfo elementary_run emotion_test-eo > >>>>>>>>>> ethumbd_client > >>>>>>>>>> edje_external_inspector eet eeze_umount > >>>>>>>>>> eldbus-codegen > >>>>>>>>>> elementary_test eo_debug vieet > >>>>>>>>>> > >>>>>>>>>> and > >>>>>>>>>> > >>>>>>>>>> $:/mnt/opt/e/lib/x86_64-linux-gnu$ ls > >>>>>>>>>> > >>>>>>>>>> cmake libecore_imf.so > >>>>>>>>>> libefl.so.1 libembryo.so.1.22.99 > >>>>>>>>>> ecore libecore_imf.so.1 > >>>>>>>>>> libefl.so.1.22.99 libemile.so > >>>>>>>>>> ecore_con libecore_imf.so.1.22.99 > >>>>>>>>>> libefreet_mime.so libemile.so.1 > >>>>>>>>>> ecore_evas libecore_input_evas.so > >>>>>>>>>> libefreet_mime.so.1 libemile.so.1.22.99 > >>>>>>>>>> ecore_imf libecore_input_evas.so.1 > >>>>>>>>>> libefreet_mime.so.1.22.99 libemotion.so > >>>>>>>>>> edje libecore_input_evas.so.1.22.99 > >>>>>>>>>> libefreet.so libemotion.so.1 > >>>>>>>>>> eeze libecore_input.so > >>>>>>>>>> libefreet.so.1 libemotion.so.1.22.99 > >>>>>>>>>> efreet libecore_input.so.1 > >>>>>>>>>> libefreet.so.1.22.99 libeo_dbg.so > >>>>>>>>>> elementary libecore_input.so.1.22.99 > >>>>>>>>>> libefreet_trash.so libeo_dbg.so.1 > >>>>>>>>>> emotion libecore_ipc.so > >>>>>>>>>> libefreet_trash.so.1 libeo_dbg.so.1.22.99 > >>>>>>>>>> ethumb libecore_ipc.so.1 > >>>>>>>>>> libefreet_trash.so.1.22.99 libeolian.so > >>>>>>>>>> ethumb_client libecore_ipc.so.1.22.99 > >>>>>>>>>> libeina.so libeolian.so.1 > >>>>>>>>>> evas > >>>>>>>>>> > >>>>>>>>> and in /opt/e/lib/pkgconfig , is there an eeze.pc ? > >>>>>>>> Thanks, and sorry for not reading your reply all the way through. > >>>>>>>> no, > >>>>>>>> there is no eeze.pc there. there is nothing in /opt/e/lib except a > >>>>>>>> directory called x86_64-linux-gnu, which does seem to have all the > >>>>>>>> expected efl lib files and directories, including > >>>>>>>> pkgconfig/eeze.pc. In > >>>>>>>> /etc/ld.so.conf.d there is an enlightenment.conf file containing two > >>>>>>>> lines: > >>>>>>>> > >>>>>>>> # enlightenment install into /opt/e > >>>>>>>> # added x86_64-linux-gnu as recommendation for multi-arch from e > >>>>>>>> list. > >>>>>>>> /opt/e/lib > >>>>>>>> /opt/e/lib/x86_64_linux-gnu > >>>>>>>> > >>>>>>>> I tried deleting /opt/e, commenting out /opt/e/lib/x86_64_linux-gnu > >>>>>>>> from /etc/ld.so.conf.d/enlightenment.conf, rebooting and rebuilding > >>>>>>>> efl, but /opt/e/lib looked the same, empty but with a populated > >>>>>>>> x86_64_linux-gnu directory. > >>>>>>>> > >>>>>>>> When I ran the efl autogen script, before meson, /opt/e/lib would > >>>>>>>> populate, and /opt/e/lib/x86_64_linuxgnu would also populate. Not > >>>>>>>> sure > >>>>>>>> why /opt/e/lib is a problem now. > >>>>>>> Can't you just tweak PKG_CONFIG_PATH and LD_LIBRARY_PATH accordingly, > >>>>>>> i.e. adding the x86_64_linuxgnu dir? > >>>>>>> > >>>>>> when I did set PKG_CONFIG_PATH and LD_LIBRARY_PATH like that, building > >>>>>> enlightenment still said it couldn't find eeze. I looked in > >>>>>> /opt/e/lib/x85_64_libux-gnu/pkgconfig and eeze.pc was there, along > >>>>>> with > >>>>>> the rest of the efl lib .pc files. I checked the > >>>>>> enlighenment/build/meson-logs/meson-log.txt and saw the same error > >>>>>> that > >>>>>> I initially reported. I checked and the above PATHs were still set to > >>>>>> the x86_64_linux-gnu directory. > >>>>> Clean sources? Or configured sources? In the latter case it could be > >>>>> that all was cached and changing the environment is useless. > >>>> I deleted efl and enlightenment sources, fresh download, same results. > >>>> Besides /etc/ld.so.conf or /etc/ld.so.conf.d, is there any other place > >>>> where that /lib/x86_64_linux-gnu could be getting set? I wonder if > >>>> that's what's causing the problem. > >>>> > >>> I cannot tell you why, but this is the standard value of meson on some > >>> systems. > >>> You can look at the standard directories of meson if you go to the build > >>> directory of efl and run "meson configure" > >>> The specific directories can then be changed via "meson --libdir <asdf>" > >>> or --datadir or --bindir (meson setup --help will tell you all of them). > >>> > >>> I hope i could help you, > >>> bu5hm4n > >> I ran meson configure from the efl directory and saw the following, > >> which I think looks correct: > >> > >> Directories: > >> Option Current Value Description > >> ------ ------------- ----------- > >> bindir bin Executable directory > >> datadir share Data file directory > >> includedir include Header file directory > >> infodir share/info Info page directory > >> libdir lib/x86_64-linux-gnu Library directory > >> libexecdir libexec Library executable directo > >> localedir share/locale Locale data directory > >> localstatedir var Localstate data directory > >> mandir share/man Manual page directory > >> prefix /opt/e Installation prefix > >> sbindir sbin System executable directory > >> sharedstatedir com Architecture-independent data > >> directory > >> sysconfdir etc Sysconf data directory > >> > >> > >> I wonder if anyone else has been able to install into something other > >> than /usr/local? If so the problem is definitely with my > >> system/configuration, which is Debian/sid. > > I'm on buster and i always install in /opt/e17. Well, not so frequently, > > the last time was about a month ago :) > > > > I remember that I faced the same issue some time ago, i see that in the > > script i use there is still this line but commented out because at some > > point i didn't need it anymore: > > #cp -av $TARGET/lib/x86_64-linux-gnu/* $TARGET/lib > > > > $TARGET is of course /opt/e17 and as a workaround i just did moved all > > the stuff installed in x86_64-linux-gnu in the parent dir. Then, at some > > point something changed and the issue disappeared, but note that this > > affected only enlightenment. Efl didn't use meson at that time and the > > last time i still built it with autotools. > > > yes, that's why I like to install into a separate directory in opt. When > I want to install the latest version, I just rename /opt/e to > /opt/e/the-date. The last time I built e successfully was on 2019-5-19. > Then I also had to build efl with autotools, but e, ephoto, rage, > terminology worked with meson/ninja. But now autotools for efl is no > more. I also tried copying /opt/e/lib/x86_64-linux-gnu contents into > /opt/e/lib, but enlightenment still failed to see eeze. > > Thanks for everyone's suggestions and help. I'll keep trying, maybe get > it figured out.
ld.so.conf and ldconifg are for RUNTIME (ld.so) usage. not compile time. a compile time ldconfig/ld.so.conf are not relevant unless something RUNS that needs those libs. what you need to ensure it your PKG_CONFIG_PATH has all the relevant locations in it. like: $ echo $PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/lib/i386-linux-gnu/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig for example. it's a search path. the pkgconfig dirs - wherever they are, should be in it. if you install in "non standard locations" whihc the default search path doesn't look in (like /opt/...) then it's up to you to set your PKG_CONFIG_PATH like you would set PATH and so on. so set this before beginning your build and you should be fine. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- Carsten Haitzler - ras...@rasterman.com _______________________________________________ enlightenment-users mailing list enlightenment-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-users