On 7/19/19 6:34 AM, Carsten Haitzler (The Rasterman) wrote:
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.
Great! Everything, efl, enlightenment, ephoto, rage, terminology
compiled and installed successfully! What I was doing wrong: while I did
set the PATH, LD_LIBRARY_PATH, and PKG_CONFIG_PATH variables, I did not
export them. So I think they were not set for processes started from the
current shell. After exporting the settings everything compile and
installed. I learn. I will also set those permanently by adding those to
my .bashrc.
Thank you everyone for your help and patience!
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users