https://pastebin.com/yuYaxVLa
The above is my output whilst trying to build Kodi Leia on Debian Stretch. In an effort to use Debian, yet still maintain a supported version I am attempting to backport from the PPA. I avoid make / make install routines like the plague, only as a last resort. I've successfully done the dependencies. This is where it stops for the time being though. Any help would be appreciated.
This is being done inside a clean chroot on my laptop built with debootstrap. May be missing a package that is normally installed or something? Guessing of course.
/usr/bin/ld.gold: error: cannot find -lpthreads
you miss pthreads dependency
Code:
root@homewrecker:/# dpkg -S libpthread
libpthread-stubs0-dev:amd64: /usr/share/doc/libpthread-stubs0-dev/README
libpthread-stubs0-dev:amd64: /usr/share/doc/libpthread-stubs0-dev
libc6-dev:amd64: /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a
libc6:amd64: /lib/x86_64-linux-gnu/libpthread-2.24.so
libpthread-stubs0-dev:amd64: /usr/share/doc/libpthread-stubs0-dev/copyright
libpthread-stubs0-dev:amd64: /usr/share/doc/libpthread-stubs0-dev/changelog.Debian.gz
libc6:amd64: /lib/x86_64-linux-gnu/libpthread.so.0
libc6-dev:amd64: /usr/lib/x86_64-linux-gnu/libpthread.so
libc6-dev:amd64: /usr/lib/x86_64-linux-gnu/libpthread.a
Not sure what is missing here. I've tried everything I could find by searching pthreads.
Installed individually and tested building with everything found here
https://packages.debian.org/search?lang=...ds=pthread . Still error.
*EDIT* Eliminated the chroot as being a possible issue. Same error compiling on my laptop in my normal installation.
libpthreads (note the "s") is not present on linux.
However for a reason that I don't understand cmake checks for both libpthread and libpthreads to know which it should use,
libpthreads test should _always_ fail on modern linux, this is not the actual error.
You are looking at the wrong place.
Post the actual error you see at console first.
Ok made a clean chroot and redid the build outputting to a file and posted to pastebin.
https://pastebin.com/TPK6gmrg
I think all of it went to the file that is on the paste. This is what I could see in the terminal.
https://pastebin.com/a457cvV9
Cmake Error log
https://pastebin.com/xsYkMbSk
Cmake Output Log
https://pastebin.com/nEU6SFF9
This is suspect I suppose. Not sure what to do about it though. At the bottom of the Found / Not Found it says configuring incomplete errors occured.
Code:
grep "Could NOT" kodibuildfail
-- Could NOT find CAP (missing: CAP_LIBRARY CAP_INCLUDE_DIR)
-- Could NOT find CCache (missing: CCACHE_PROGRAM)
-- Could NOT find MDNS (missing: MDNS_LIBRARY MDNS_INCLUDE_DIR)
-- Could NOT find Sndio (missing: SNDIO_LIBRARY SNDIO_INCLUDE_DIR)
The existing, but empty (not valid), '.git' folder is causing the errors in cmake/scripts/common/Macros.cmake line 656 and 657. You are missing libfmt3-dev dependency, which causes the other error.
(2019-03-06, 03:16)jmgibson1981 Wrote: [ -> ]Code:
grep "Could NOT" kodibuildfail
-- Could NOT find CAP (missing: CAP_LIBRARY CAP_INCLUDE_DIR)
-- Could NOT find CCache (missing: CCACHE_PROGRAM)
-- Could NOT find MDNS (missing: MDNS_LIBRARY MDNS_INCLUDE_DIR)
-- Could NOT find Sndio (missing: SNDIO_LIBRARY SNDIO_INCLUDE_DIR)
Those are optional dependencies, it's okay if they are not found.
Code:
# apt policy libfmt3-dev
libfmt3-dev:
Installed: 3.0.1+ds-1
Candidate: 3.0.1+ds-1
Version table:
*** 3.0.1+ds-1 500
500 http://deb.debian.org/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
I installed the dependencies with mk-build-deps. It installed everything in the build-depends. Removed the .git folders/files. Still no bueno.
For what its worth I tried building the same way in Ubuntu. It couldn't even find the libfmt3-dev dependency anywhere. So that is as far as I got was installing the deps.
In newer Ubuntu and Debian versions libfmt3-dev is named libfmt-dev.
Remove the following lines,
https://github.com/xbmc/xbmc/blob/master...ke#L60-L65
If it still doesn't work, post your new build output and please do not split stdout and stderr into separate pastes. It's hard to read that way.
Sorry was unsure how to do that at the time. I have a new log of a failed build after commenting out the above lines as requested.
Possibly obvious, for anyone looking to pipe all output to a log file run as so.
Code:
dpkg-buildpackage -us -uc &> output.logfile
https://pastebin.com/MhNPjYaF
Should be the whole thing.
You are still only excluding the content of the .git folder, while keeping an empty .git folder (--tar-ignore=.git/*). You also have to exclude the empty .git folder.
For the still occurring fmt find error, additionally remove FMT_VERSION from
https://github.com/xbmc/xbmc/blob/master....cmake#L87.
the empty .git folder is there again. I'm guessing you're trying to build the source package from our ppa? If yes, then you just found a packaging bug on my end. The contents of .git are skipped during tarball generation, but not the folder itself.
I'll fix that with the next nightly build.
A little grep and I found what I think you are looking for. My apologies, I'm very out of my element here. Definitely a user, not a packager :/ I've changed it to below. Learning, slowly.
Code:
cat ./options
tar-ignore = ".git"
tar-ignore = "build/*"
tar-ignore = "kodi_build*/*"
I currenty have the above change as well as commented out both recommendations in cmake/modules/FindFmt.cmake. Here is where I sit.
https://pastebin.com/xKuJ8XNK
I do notice that my log is getting smaller, assuming eliminating errors and issues.
You have to provide all needed dependencies:
CMake Error at cmake/modules/FindRapidJSON.cmake:67 (find_package):
Could not find a package configuration file provided by "RapidJSON"
(requested version 1.1.0) with any of the following names: