Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 598058

Summary: media-tv/kodi-16.1 JsonSchemaBuilder: Command not found
Product: Gentoo Linux Reporter: Frank Krömmelbein <kroemmelbein>
Component: Current packagesAssignee: SpanKY <vapier>
Status: RESOLVED FIXED    
Severity: normal CC: bkohler, bugs.gentoo.org, candrews, emily, fturco, gentoo-bugzilla, gentoo, kirill, klaus818, leho, liron-bugzilla, mark+gentoobugs, me, Sergiy.Borodych, tesoro302, vapier, xaviermiller
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log
emerge-info.txt
config.log
emerge-history.txt
environment
media-tv:kodi-16.1:20161025-132911.log.bz2
kodi-16.1-generated-addons.tar.xz
Kodi-16.1.ebuild

Description Frank Krömmelbein 2016-10-25 09:20:09 UTC
Created attachment 451400 [details]
build.log

[ebuild     U ~] media-tv/kodi-16.1::gentoo [16.0::gentoo] USE="X alsa bluetooth bluray cec css dbus joystick mysql nfs opengl samba sftp texturepacker upnp usb vaapi vdpau webserver zeroconf -airplay -caps -debug -gles -java -midi (-profile) -pulseaudio -rtmp {-test} -udisks -upower" PYTHON_TARGETS="python2_7" 0 KiB

x86_64-pc-linux-gnu-ar crs interfaces.a AnnouncementManager.o    
make[1]: Leaving directory '/var/tmp/portage/media-tv/kodi-16.1/work/xbmc-16.1-Jarvis/xbmc/interfaces'
make[1]: Entering directory '/var/tmp/portage/media-tv/kodi-16.1/work/xbmc-16.1-Jarvis/xbmc/interfaces/json-rpc'
which: no JsonSchemaBuilder in (/var/tmp/portage/media-tv/kodi-16.1/temp/python2.7/bin:/usr/lib/portage/python2.7/ebuild-helpers/xattr:/usr/lib/portage/python2.7/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.9.3:/opt/nvidia-cg-toolkit/bin)
../../../tools/depends/native/JsonSchemaBuilder/bin/JsonSchemaBuilder schema/version.txt schema/license.txt schema/methods.json schema/types.json schema/notifications.json
make[1]: ../../../tools/depends/native/JsonSchemaBuilder/bin/JsonSchemaBuilder: Command not found
Makefile:39: recipe for target 'ServiceDescription.h' failed
make[1]: *** [ServiceDescription.h] Error 127
Comment 1 Frank Krömmelbein 2016-10-25 09:20:22 UTC
emerge --info kodi
Portage 2.3.0 (python 2.7.10-final-0, hardened/linux/amd64, gcc-4.9.3, glibc-2.22-r4, 4.4.8-hardened-r1 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.4.8-hardened-r1-x86_64-Intel-R-_Core-TM-_i7-2630QM_CPU_@_2.00GHz-with-gentoo-2.2
KiB Mem:    20537296 total,   6890604 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Tue, 25 Oct 2016 08:25:22 +0000
sh bash 4.3_p48
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p48::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.22.2::gentoo
dev-lang/python:          2.7.10-r1::gentoo, 3.4.3-r1::gentoo
dev-util/cmake:           3.5.2-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.21.7::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.12.6::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r4::gentoo
Repositories:

gentoo
    location: /mnt/sda7/portage
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo
    priority: -1000

steam-overlay
    location: /var/lib/layman/steam-overlay
    masters: gentoo
    priority: 0

mylocal
    location: /usr/local/portage
    masters: gentoo
    priority: 1

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=corei7 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=corei7 -O2 -pipe"
DISTDIR="/mnt/sdb1/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac aacs acl acpi alsa amd64 amr berkdb bluetooth bluray btrfs bzip2 cdda cddb cec chipcard clamav cli color-management consolekit cracklib crypt cryptsetup css cups cxx dbus declarative device-mapper djvu dmraid dri dts dvb dvd ebook encode epub exif ext4 f2fs faac fat ffmpeg flac fuse gdbm geoip gif gimp glamor google googledrive gpg gphoto2 gpm hardened hbci http2 iconv id3tag infinality ipv6 jfs joystick jpeg justify kde kipi ladspa lame lcms lensfun libsamplerate lirc lm_sensors lvm lz4 lzma mad matroska mdadm mjpeg mmx mmxext mng mobi modemmanager modules mp3 mpeg mtp multilib mysql ncurses networkmanager nfs nls nptl ntfs nvenc ogg opencl opengl openmp opus pam pax_kernel pcre pdf phonon pie plasma plymouth pm-utils png policykit postscript ppp pvr qml qt3support qt5 rar raw rdesktop rdp readline reiser4 reiserfs s3tc samba scanner seccomp semantic-desktop session sftp share smartcard smp sndfile sox squashfs sse sse2 ssl ssp svg tcpd tiff truetype twolame udev unicode upnp urandom usb v4l vaapi vcd vdpau vnc vorbis vpx webp widgets wifi wps x264 x265 xattr xcb xcomposite xfs xinerama xkb xscreensaver xtpax xv xvid xvmc zeroconf zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="author braindump flow karbon plan sheets stage words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev keyboard joystick mouse synaptics" KERNEL="linux" L10N="de en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver" LINGUAS="de en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="intel fbdev vesa nouveau nvidia radeon radeonsi amdgpu dummy virtualbox" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

media-tv/kodi-16.0::gentoo was built with the following:
USE="X alsa bluetooth bluray cec css dbus joystick mysql nfs opengl samba sftp texturepacker upnp usb vaapi vdpau webserver zeroconf -airplay -caps -debug -gles -java -midi (-profile) -pulseaudio -rtmp -test -udisks -upower" ABI_X86="64" PYTHON_TARGETS="python2_7"
Comment 2 Toralf Förster gentoo-dev 2016-10-25 13:57:20 UTC
Created attachment 451426 [details]
emerge-info.txt

same at a tinderbox image
Comment 3 Toralf Förster gentoo-dev 2016-10-25 13:57:26 UTC
Created attachment 451428 [details]
config.log
Comment 4 Toralf Förster gentoo-dev 2016-10-25 13:57:29 UTC
Created attachment 451430 [details]
emerge-history.txt
Comment 5 Toralf Förster gentoo-dev 2016-10-25 13:57:31 UTC
Created attachment 451432 [details]
environment
Comment 6 Toralf Förster gentoo-dev 2016-10-25 13:57:34 UTC
Created attachment 451434 [details]
media-tv:kodi-16.1:20161025-132911.log.bz2
Comment 7 Craig Andrews gentoo-dev 2016-10-26 20:08:04 UTC
I notice you have USE="-java" which causes the tool to not be built.

According to https://bugs.gentoo.org/show_bug.cgi?id=558798#c4 it shouldn't need to be built... but I'm questioning that.

SpanKY, what do you think?
Comment 8 Jory A. Pratt gentoo-dev 2016-10-26 23:23:12 UTC
(In reply to candrews from comment #7)
> I notice you have USE="-java" which causes the tool to not be built.
> 
> According to https://bugs.gentoo.org/show_bug.cgi?id=558798#c4 it shouldn't
> need to be built... but I'm questioning that.
> 
> SpanKY, what do you think?

[01m[Kx86_64-pc-linux-gnu-g++:[m[K [01;31m[Kerror: [m[K/var/tmp/tmpfs/portage/media-tv/kodi-16.1/work/xbmc-16.1-Jarvis/xbmc/interfaces/python/generated/AddonModuleXbmc.cpp: No such file or directory
[01m[Kx86_64-pc-linux-gnu-g++:[m[K [01;31m[Kfatal error: [m[Kno input files
compilation terminated.

so even if it was built we still have issues with build.
Comment 9 Jory A. Pratt gentoo-dev 2016-10-27 01:29:48 UTC
Just to note 17.0_beta4 compiles just fine with ffmpeg-3 so is solution I will use thank you.
Comment 10 Ben Kohler gentoo-dev 2016-10-27 14:27:31 UTC
Looks to me like this missing piece is supposed to be part of the generated-addons tarball that USE=-java users get, right?
Comment 11 Shiba 2016-10-28 10:45:14 UTC
With USE="java" builds fine.
Comment 12 Kajzer 2016-10-28 15:27:36 UTC
Okay, so java use flag is a must now ?
Comment 13 Ben Kohler gentoo-dev 2016-10-28 16:12:20 UTC
USE=java works around this bug, so it appears to be a "must" until this bug is fixed.  With -java, the build relies on several prebuilt pieces from kodi-16.1-generated-addons.tar.xz (all the things that would require java @ build time).  This generated tarball appears to be missing a piece or 2.
Comment 14 Kajzer 2016-10-28 18:06:42 UTC
I see, and how about 17.0_beta4 ?
Is this bug present only in 16.1 ?
Comment 15 A. Person 2016-10-28 18:13:18 UTC
I have this problem on 16.1 but not on 16.0 or 17.
Comment 16 Jory A. Pratt gentoo-dev 2016-10-29 01:07:55 UTC
*** Bug 598316 has been marked as a duplicate of this bug. ***
Comment 17 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2016-11-02 09:24:42 UTC
*** Bug 598230 has been marked as a duplicate of this bug. ***
Comment 18 René 2016-11-04 19:20:05 UTC
Created attachment 452392 [details]
kodi-16.1-generated-addons.tar.xz

with the attached kodi-16.1-generated-addons.tar.xz (created with generate.sh) kodi builds with -java and is running fine
Comment 19 Craig Andrews gentoo-dev 2016-11-04 19:23:08 UTC
(In reply to gentoo-bugzilla from comment #18)
> Created attachment 452392 [details]
> kodi-16.1-generated-addons.tar.xz
> 
> with the attached kodi-16.1-generated-addons.tar.xz (created with
> generate.sh) kodi builds with -java and is running fine

Can you give me the exact "generate.sh" command you ran? Also, did you change anything (perhaps in generate.sh)?

All I do is run:
"./generate.sh 16.1" and the output of that is what the current ebuild in portage uses.
Comment 20 René 2016-11-04 19:42:21 UTC
I ran basically the same only from my home directory with sudo (because it writes to /usr/portage/distfiles):

sudo /usr/portage/media-tv/kodi/files/generate.sh 16.1
Comment 21 Kajzer 2016-11-09 13:32:38 UTC
(In reply to gentoo-bugzilla from comment #18)
> Created attachment 452392 [details]
> kodi-16.1-generated-addons.tar.xz
> 
> with the attached kodi-16.1-generated-addons.tar.xz (created with
> generate.sh) kodi builds with -java and is running fine

How to use it ?
I tried copying attached file to /usr/portage/distfiles/ but compile failed again, with the same error message.
Comment 22 René 2016-11-09 15:45:24 UTC
You would have to create a local overlay and copy the kodi ebuild (incl. patches) to it. From that you can generate a new Manifest with the kodi-16.1-generated-addons.tar.xz from here.
When you just copy the file to the distfiles-dir it gets overridden with the original file because the checksum doesn't match.
Comment 23 Kajzer 2016-11-09 17:02:53 UTC
Yeah, was wondering if there was maybe something I didn't knew (to bypass checksum check or something) , thanks for the generated file, I'll try it in local overlay.
Comment 24 Kajzer 2016-11-09 17:50:36 UTC
Compiled and working fine :)
Comment 25 Martin Cyr 2016-11-14 21:11:46 UTC
For the missing add-ons, the generated-addons tarball gets unpacked in workdir, not in source. 
The tar could wrap the 'xbmc-16.1-Jarvis' dir, so the unpack would behave as expected.
Alternatively, unpack could extract it in the proper location (not possible afaik), or we could move it afterward.
In the ebuild src_prepare, this should suffice as a simple fix.

if [ -d "${WORKDIR}/xbmc" ]; then
  cp -r "${WORKDIR}/xbmc" "${S}/"
fi

As for the JsonSchemaBuilder:
As previously reported, this helper doesn't get built, with or without USE=java. (see bug 558798)
This can be fixed by adding in src_compile 
  emake -C tools/depends/native/JsonSchemaBuilder/

With these, kodi-16.1 build successfully without USE=java.

Also, I was surprised to see this module pull pre-built bits from 
https://github.com/candrews/gentoo-kodi
This is where the tarball should be fixed IMHO. I've opened an issue to @candrews, hopefully it gets fixed there.

I included my diff in case anyone wants to get this working right now.
It does however assume that $WORKDIR/xbmc belongs in $S.

As for the proposed kodi-16.1-generated-addons.tar.xz, I don't feel it is necessary to include ServiceDescription.h. 
Also, both signatures doesn't seem to match for xbmc/interfaces/python/generated, candrews version is 845k and this one is 970k. 
Which one is right; I don't know.


Cheers
Comment 26 Martin Cyr 2016-11-14 21:15:02 UTC
Created attachment 453336 [details, diff]
Kodi-16.1.ebuild
Comment 27 Mark (voidzero) 2016-11-15 20:30:11 UTC
The latest patch for Kodi-16.1.ebuild works for me. Thank you, Martin Cyr.
Comment 28 Craig Andrews gentoo-dev 2016-11-21 03:01:27 UTC
Here's a pull request with the fix: https://github.com/gentoo/gentoo/pull/2875

I'm not sure what I did wrong when I generated kodi-16.1-generated-addons.tar.xz but I generated it again, checked that the contents, made sure it matched the working kodi-16.0-generated-addons.tar.xz among other tests, and am confident that this new version of the generated addons (which I've called generated kodi-16.1-generated-addons-r1.tar.xz) fixes the problem.

This issue only seems to have impacted kodi-16.1-generated-addons.tar.xz (all of the 17.0 versions seem fine).
Comment 29 David Seifert gentoo-dev 2016-11-21 19:10:10 UTC
commit 3787d2c2339c8dc4a363c2a1eb3262d30e9aec23
Author: Craig Andrews <candrews@integralblue.com>
Date:   Sun Nov 20 21:51:30 2016 -0500

    media-tv/kodi-16.1: Fix USE=-java
    
    kodi-16.1-generated-addons.tar.xz is missing the parent directory and
    xbmc/interfaces/json-rpc/ServiceDescription.h, breaking USE=-java.
    
    kodi-16.1-generated-addons-r1.tar.xz fixes those problems.
    
    Gentoo-bug: 598058