Re: [yoshimi-user] Strange install path for LV2 plugin on 64bit?

  • From: Edgar Aichinger <edogawa@xxxxxx>
  • To: yoshimi-user@xxxxxxxxxxxxxxxxxxxxx
  • Date: Tue, 14 Jul 2015 15:43:41 +0200

Hi Frank,

Am Sonntag, 12. Juli 2015, 14:41:14 schrieb Frank Neumann:


Hi list,

today I noticed that when installing a freshly built yoshimi-git, the LV2
plugin gets installed to an "unusual" install path where hosts typically
won't find it:

$ sudo make install
[...]
-- Installing: /usr/local/lib/x86_64-linux-gnu/lv2/yoshimi.lv2/yoshimi_lv2.so
-- Up-to-date: /usr/local/lib/x86_64-linux-gnu/lv2/yoshimi.lv2/manifest.ttl
-- Up-to-date: /usr/local/lib/x86_64-linux-gnu/lv2/yoshimi.lv2/yoshimi.ttl

This is happening on LinuxMint 17 (Qiana) on a pure x86_64 system.
I would be happy if the install path is either /usr/local/lib/lv2 or even
/usr/local/lib64/lv2, but this is..weird. I only noticed now by chance
that the LV2 plugin I was using in qtractor was a rather old one (from
December
2014 :-) since that one still happened to be around in the standard
/usr/local/lib/lv2
path.

I find this in src/CMakeLists.txt, line 465:
set(LV2_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/lv2 CACHE PATH "Specifies where
the LV2 libraries should be installed")

but my CMake knowledge is rather thin, so I cannot see from where
CMAKE_INSTALL_LIBDIR
gets set. However, there is a commit 95a4a01cc18c745e06dfdfacd251b8734f51260c
from
Andrew Deryabin (Jan 1st, 2015) that touches these lines:

----
Commit msg: Corrected lv2 lib path detection for i686 arch

-get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
+include(GNUInstallDirs)

-if ("${LIB64}" STREQUAL "TRUE")
- set(LIBSUFFIX 64)
-else()
- set(LIBSUFFIX "")
-endif()
-
-set(LV2_INSTALL_DIR lib${LIBSUFFIX}/lv2 CACHE PATH "Specifies where the LV2
libraries should be installed")
+set(LV2_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/lv2 CACHE PATH "Specifies where
the LV2 libraries should be installed")
----

Maybe this broke things for 64bit (or maybe it's just me? :-)

Not that I claim to be a cmake or FHS guru or something, but at least i've
managed to make it install the LV2 bundle to /usr/lib/lv2 (which i recall to be
the correct location regardless of architecture), by passing variables to cmake
in the rpm specfile. Have a look at
https://build.opensuse.org/package/view_file/home:edogawa/yoshimi/yoshimi.spec?expand=1
to see how i did it, in different ways for Fedora and openSUSE. BTW i'm
circumventing ccmake and manually passing build flags for each architecture to
cmake instead, because the rpm on OBS has to be built without user interaction.

Hope this helps, Edgar


Thanks,
Frank

PS: Will, congrats on that nice demo video :-)

------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
yoshimi-user mailing list
yoshimi-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/yoshimi-user



Other related posts: