Kodi 17 - Finished projectM build but no projectM.vis in result

  Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
smoothifier Offline
Junior Member
Posts: 36
Joined: Jan 2011
Reputation: 0
Post: #1
I have successfully built the projectM plugin with this command line:

Code:
cmake . -DCMAKE_BUILD_TYPE=Release -DPACKAGE_ZIP=1 -DPROJECT_INCLUDE_DIRS=/usr/local/include/libprojectM -DPROJECTM_LIBRARIES=/usr/local/lib/libprojectM.a

make
make package

The zip file was successfully installed in Kodi 17.0b4 but does not work. Kodi wants to find projectM.vis but is unable to find it.

Here is a directory listing for the plugin. The "resources" directory is fully populated with the presets, etc. The key here is that there is no projectM.vis in this tree to be found, which Kodi seems to want when I install this addon.

Code:
total 784
-rw-r--r-- 1 root root  34282 Oct 25 16:51 addon.xml
-rw-r--r-- 1 root root  11675 Oct 25 16:51 icon.png
drwxr-xr-x 4 root root   4096 Oct 25 20:14 resources
lrwxrwxrwx 1 root root     30 Oct 25 20:14 visualization.projectm.so -> visualization.projectm.so.17.0
-rwxr-xr-x 1 root root 748384 Oct 25 19:08 visualization.projectm.so.1.0.17
lrwxrwxrwx 1 root root     32 Oct 25 20:14 visualization.projectm.so.17.0 -> visualization.projectm.so.1.0.17

Kodi 17.0b4 and Kodi Platform have both been built with a prefix of /usr/local.

I'm sure I'm doing something fundamentally wrong here. Can someone help me out? I worked on this for about eight hours yesterday, so as you can tell, I'm not a natural. Smile I finally found that I was doing the process totally wrong. I think I'm on the right track, but I'm still not there yet.

Thanks very much!
(This post was last modified: 2016-10-26 12:19 by smoothifier.)
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,341
Joined: Nov 2013
Reputation: 65
Post: #2
the .vis nonsense is dead. it was always just a renamed shared object. that's is exactly what you are supposed to have. some language string needs an update!

you are NOT supposed to use PACKAGE_ZIP on linux. do NOT set that and use the normal installation target,
1) cmake -DCMAKE_INSTALL_PREFIX=<same prefix as kodi uses!>
2) make
3) make install.

data files go to prefix/share/kodi/addons/<id>
binary files go to prefix/lib/kodi/addons/<id>

the unix way.
find quote
smoothifier Offline
Junior Member
Posts: 36
Joined: Jan 2011
Reputation: 0
Post: #3
Thanks! I got rid of PACKAGE_ZIP.

I finally got this working. I didn't have libprojectM and libprojectM-devel installed (I'm on Fedora if that matters). I had compiled projectM from source and installed that in /usr/local, and I was having issues. After I changed the projectM include and library paths in the command line, everything worked as it should. I probably could have gotten it working but I'm glad that it works now with an RPM as that's my preferred method of handling files and updates in Fedora.

I had been installing and removing the addon and also deleting the addon outside of Kodi so that may be why it was looking for projectM.vis. I had some old files that carried over from Kodi 15.2. Also, I got up early this morning, before sunrise, and that probably has something to do with it as well. Smile

Interestingly, when I finally got this working, the shared object file size dropped to 29576 bytes.

One thing I found that helped with some of the compilation for projectM, if anyone goes that route, was this patch.

Thanks again ironic_monkey!
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,341
Joined: Nov 2013
Reputation: 65
Post: #4
The binary size dropped since you now link to the shared system lib rather than the static lib you built yourself i believe.
find quote