On 12/11/17 9:11 AM, Massimo Maiurana wrote:
mh ha scritto il 11/12/2017 alle 13:52:
On 12/11/17 6:35 AM, Massimo Maiurana wrote:
Carsten Haitzler ha scritto il 11/12/2017 alle 01:00:
On Sun, 10 Dec 2017 17:43:55 +0100 Massimo Maiurana
<maiur...@gmail.com> said:

marcel-hollerb...@t-online.de ha scritto il 10/12/2017 alle 11:30:
Hello,

On Sun, Dec 10, 2017 at 10:20:22AM +0100, Massimo Maiurana wrote:
Massimo Maiurana ha scritto il 10/12/2017 alle 09:41:
Carsten Haitzler ha scritto il 10/12/2017 alle 02:02:
On Sat, 9 Dec 2017 18:06:49 +0100 Massimo Maiurana
<maiur...@gmail.com>
said:

I have a different problem with the prefix.

I build E using this command:
meson --prefix=/opt/e17 . build

But both modules and pkgconfig files are not installed in
/opt/e17/lib
as I would expect, they are installed in
/opt/e17/lib/x86_64-linux-gnu,
so E doesn't find any module at startup and additional modules
can't be
built as at configuration stage they can't find
enlightenment.pc. I have
to move all directories by hand.

Is there a way to make it install these files in the right
directories?
odd. they don't do that for me on arch. they install in the
usual old
school places. PREFIX/lib/enligntenment/... for modules,
PREFIX/lib/pkgconfig/... for pc files...

has your meson been patched by your distro?
It could be, I'm on debian buster. The current shipped version is
0.42.1
and I see in changelog that something has changed to solve some
problems
with multiarch and cross builds:
http://metadata.ftp-master.debian.org/changelogs/main/m/meson/meson_0.42.1-1_changelog

Uhm, it appears that this is the only patch in debian package and it
looks unrelated to this issue:
https://sources.debian.org/patches/meson/0.42.1-1/1-disable-openmpi.patch/


Maybe the problem is the meson version, 0.42.1 in buster but
0.43.0 in
Arch?

0.43.0 has not been ported to debian due to compilation problems:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879976

I'll try do downgrade meson to see if the issue has been
introduced at
some point.
There aren't other versions available in buster :(

Can you check the output of mesonconf ?

I think you have your libdir variable set to lib/x86_64-linux-gnu/ no
idea why, but debian & ubuntu default theire lib directory in meson to
that value ...
Looks like they do it in order to avoid conflict in multiarch systems,
see here: https://wiki.debian.org/Multiarch/Implementation

Maybe $prefix/lib/<triplet> should be included in the search path? This
way a default installation would work in any system, as even installing
in standard prefixes would end having libraries in the triplet subdir.
then something isn't setting PACKAGE_LIB_DIR (and other defines)
correctly...
because this is what lets the lib or app find its modules at runtime.
in rage i
put:

dir_lib    = join_paths(dir_prefix, get_option('libdir'))
...
cfg.set_quoted('PACKAGE_LIB_DIR'         , dir_lib)

so it SHOULD be set right... so i am guessing e isn't setting these
right so
that it can then know the libdir is actually a 2 level thing (and
what it is ->
lib/x86... from prefix)
Well, I found out that E didn't do it at that time because I just
restarted it after building with the usual "killall -HUP enlightenment".
For some reason the fresh installed E did keep looking at /opt/e17/lib
to load its modules and didn't found them.

Today I rebooted and now it looked at /opt/e17/lib/x86_64-linux-gnu, but
as I moved them all it again didn't found them. For now I solved with a
simple symlink, but at least now I know it does the right thing, though
it didn't after SIGHUP :)

You can change that with `meson --libdir=lib [whatever option] ..`


Greetings,
     bu5hm4n

Massimo

Daniel Kasak ha scritto il 29/11/2017 alle 04:14:
I'm having a small issue with meson and enlightenment. It's
ignoring my
'prefix' option. I'm building like this:

---

export LIBRAW_CFLAGS=-I/usr/include/libraw
export PKG_CONFIG_PATH=/opt/e22/lib/pkgconfig
export CFLAGS="-O3 -g3 -march=skylake -ffast-math -W -Wall
-Wextra
-Wshadow -Wstrict-prototypes"

rm -rf build

meson . build

meson configure build \
   -Dprefix=/opt/e22 \
   -Dincludedir=/opt/e22 \
   -Dwayland=True

ninja -C build
ninja -C build install

---

If I cd into the enlightenment source and go:

   meson configure build

   ... it says it's recognised the 'prefix':

Directories:
    Option         Current Value Description
    ------         ------------- -----------
    prefix         /opt/e22      Installation prefix.

But when I do:

   ninja -C build install

   ... it installs into /usr/local/

If I do:

   DESTDIR=/opt/e22 ninja -C build install

   ... it puts things in /opt/e22/usr/local/ ... etc

I guess I'm doing something wrong. Any hints?

Dan
------------------------------------------------------------------------------

Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

--
Massimo Maiurana
Ragusa (RG)

------------------------------------------------------------------------------

Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

--
Massimo Maiurana
Ragusa (RG)

------------------------------------------------------------------------------

Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users
------------------------------------------------------------------------------

Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

--
Massimo Maiurana
Ragusa (RG)

------------------------------------------------------------------------------

Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users
I'm not sure if this will help or not.
No need to help, the problem arise because I did not reboot after
building and E did keep searching modules in the wrong dir :)

I'm using meson and ninja to
install enlightenment, ephoto, rage and terminology into /opt/e on a
Debian system without problems. In my /etc/ld.so.conf.d directory I have
a file enlightenment.conf. That file has one line: /opt/e/lib , along
with a comment that states it installs enlightenment into /opt/e.
That is also my case, but it's better to add a line also for
/opt/e/lib/x86_64-linux-gnu in that file, or whatever is your arch,
because if efl will switch to meson your ld.so won't find its libs ;)

After building with meson I install with ninja -v, then ninja install.


ok and thanks for the tip!

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to