2019-01-16, 23:18
Hi,
I'm not sure if this is the correct tread so if it needs to be moved please tell me where it went. :-)
I thought I might try Kodi 18.5 and perhaps a bit of add-on development work so;
Rather than replace my existing 17.6, I built a new virtual machine and put the latest Fedora(29) (4.18.16-300.fc29.x86_64) on it.
Yes, I know that Fedora is not supported.
So I found the Wiki page for compiling from source at "https://kodi.wiki/view/HOW-TO:Compile_Kodi_for_Linux" and I'm trying to, loosely, follow it.
I created a directory and did a git pull
HKODI=$HOME/kodi
cd $HKODI
git clone git://github.com/xbmc/xbmc.git
cd $HKODI/xbmc
git clean -xfd
git reset --hard
git pull --rebase
Rather than:
dnf install automake autopoint bison build-essential ccache cmake curl cvs default-jre fp-compiler gawk gdc gettext git-core gperf libasound2-dev libass-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libbluetooth-dev libbluray-dev libbluray1 libboost-dev libboost-thread-dev libbz2-dev libcap-dev libcdio-dev libcec-dev libcec1 libcrystalhd-dev libcrystalhd3 libcurl3 libcurl4-gnutls-dev libcwiid-dev libcwiid1 libdbus-1-dev libenca-dev libflac-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libglew-dev libiso9660-dev libjasper-dev libjpeg-dev libltdl-dev liblzo2-dev libmad0-dev libmicrohttpd-dev libmodplug-dev libmp3lame-dev libmpeg2-4-dev libmpeg3-dev libmysqlclient-dev libnfs-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpostproc-dev libpulse-dev libsamplerate-dev libsdl-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libshairport-dev libsmbclient-dev libsqlite3-dev libssh-dev libssl-dev libswscale-dev libtiff-dev libtinyxml-dev libtool libudev-dev libusb-dev libva-dev libva-egl1 libva-tpi1 libvdpau-dev libvorbisenc2 libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount python-dev python-imaging python-sqlite swig unzip yasm zip zlib1g-dev
I thought I'd try just running make and see which packages were missing.
./bootstrap
./configure --prefix=$HOME/local
make
After changing to the $HKODI/xbmc directory I tried
./bootstrap
No bootstrap.
I looked around and found what appears to be the correct file in HKODI/xbmc/tools/depends
I saw no mention of moving out of the $HKODI/xbmc in the How-To, though it did say that build instructions were now being packaged with the source, but I didn't find that detail in with the source READMEs either and they appear to be written in HTML which may be helpful on a general purpose machine a simple txt file is easier to read in "less"
So after running ./bootstrap and ./configure I discovered that I had needed to install:
m4
autoconf
patch
automake
After running make a couple of times I found that while I had gcc, zlib and curl installed,
I needed c++ and the "devel" packages too (probably for the headers) not unusual for compiling.
gcc-c++
zlib-devel
curl-devel
I have noticed that after running make, it won't just start up where it errored out.
I need to "make clean" and start over from ./bootstrap. Is that normal?
I have used make for years and never had to continually start over. (usually do a make clean and start over after I get a complete build done just to get a nice clean complete build but to have to start from the beginning after make failed seems like make is not working correctly.
Sorry about the long winded preamble but
It seems to build a LOT of stuff and then:
(I substituted XXX for my directory path)
/usr/bin/g++ -DTARGET_POSIX -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -std=c++0x -I/XXX/local/x86_64-linux-gnu-native/include -llzo2 -ljpeg -lgif -L/XXX/local/x86_64-linux-gnu-native/lib -lpng16 -lm -lz -lm -static -L/XXX/local/x86_64-linux-gnu-native/lib -o TexturePacker md5.o XBTFWriter.o TexturePacker.o DecoderManager.o decoder/PNGDecoder.o decoder/JPGDecoder.o decoder/GifHelper.o decoder/GIFDecoder.o XBTF.o -llzo2 -ljpeg -lgif -L/XXX/local/x86_64-linux-gnu-native/lib -lpng16 -lm -lz -lm
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:420: TexturePacker] Error 1
It appears that my loader doesn't like the parms it is being passed.
Is this a "g++" issue or one for "ld"?
Any ideas?
I'm not sure if this is the correct tread so if it needs to be moved please tell me where it went. :-)
I thought I might try Kodi 18.5 and perhaps a bit of add-on development work so;
Rather than replace my existing 17.6, I built a new virtual machine and put the latest Fedora(29) (4.18.16-300.fc29.x86_64) on it.
Yes, I know that Fedora is not supported.
So I found the Wiki page for compiling from source at "https://kodi.wiki/view/HOW-TO:Compile_Kodi_for_Linux" and I'm trying to, loosely, follow it.
I created a directory and did a git pull
HKODI=$HOME/kodi
cd $HKODI
git clone git://github.com/xbmc/xbmc.git
cd $HKODI/xbmc
git clean -xfd
git reset --hard
git pull --rebase
Rather than:
dnf install automake autopoint bison build-essential ccache cmake curl cvs default-jre fp-compiler gawk gdc gettext git-core gperf libasound2-dev libass-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libbluetooth-dev libbluray-dev libbluray1 libboost-dev libboost-thread-dev libbz2-dev libcap-dev libcdio-dev libcec-dev libcec1 libcrystalhd-dev libcrystalhd3 libcurl3 libcurl4-gnutls-dev libcwiid-dev libcwiid1 libdbus-1-dev libenca-dev libflac-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libglew-dev libiso9660-dev libjasper-dev libjpeg-dev libltdl-dev liblzo2-dev libmad0-dev libmicrohttpd-dev libmodplug-dev libmp3lame-dev libmpeg2-4-dev libmpeg3-dev libmysqlclient-dev libnfs-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpostproc-dev libpulse-dev libsamplerate-dev libsdl-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libshairport-dev libsmbclient-dev libsqlite3-dev libssh-dev libssl-dev libswscale-dev libtiff-dev libtinyxml-dev libtool libudev-dev libusb-dev libva-dev libva-egl1 libva-tpi1 libvdpau-dev libvorbisenc2 libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount python-dev python-imaging python-sqlite swig unzip yasm zip zlib1g-dev
I thought I'd try just running make and see which packages were missing.
./bootstrap
./configure --prefix=$HOME/local
make
After changing to the $HKODI/xbmc directory I tried
./bootstrap
No bootstrap.
I looked around and found what appears to be the correct file in HKODI/xbmc/tools/depends
I saw no mention of moving out of the $HKODI/xbmc in the How-To, though it did say that build instructions were now being packaged with the source, but I didn't find that detail in with the source READMEs either and they appear to be written in HTML which may be helpful on a general purpose machine a simple txt file is easier to read in "less"
So after running ./bootstrap and ./configure I discovered that I had needed to install:
m4
autoconf
patch
automake
After running make a couple of times I found that while I had gcc, zlib and curl installed,
I needed c++ and the "devel" packages too (probably for the headers) not unusual for compiling.
gcc-c++
zlib-devel
curl-devel
I have noticed that after running make, it won't just start up where it errored out.
I need to "make clean" and start over from ./bootstrap. Is that normal?
I have used make for years and never had to continually start over. (usually do a make clean and start over after I get a complete build done just to get a nice clean complete build but to have to start from the beginning after make failed seems like make is not working correctly.
Sorry about the long winded preamble but
It seems to build a LOT of stuff and then:
(I substituted XXX for my directory path)
/usr/bin/g++ -DTARGET_POSIX -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -std=c++0x -I/XXX/local/x86_64-linux-gnu-native/include -llzo2 -ljpeg -lgif -L/XXX/local/x86_64-linux-gnu-native/lib -lpng16 -lm -lz -lm -static -L/XXX/local/x86_64-linux-gnu-native/lib -o TexturePacker md5.o XBTFWriter.o TexturePacker.o DecoderManager.o decoder/PNGDecoder.o decoder/JPGDecoder.o decoder/GifHelper.o decoder/GIFDecoder.o XBTF.o -llzo2 -ljpeg -lgif -L/XXX/local/x86_64-linux-gnu-native/lib -lpng16 -lm -lz -lm
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:420: TexturePacker] Error 1
It appears that my loader doesn't like the parms it is being passed.
Is this a "g++" issue or one for "ld"?
Any ideas?