Linux Kodi for Linux 3.1.x porting to ARM Cortex A9 with NEON
#16
Quote:configure: WARNING: boost/shared_ptr.hpp: present but cannot be compiled
configure: WARNING: boost/shared_ptr.hpp: check for missing prerequisite headers?
configure: WARNING: boost/shared_ptr.hpp: see the Autoconf documentation
configure: WARNING: boost/shared_ptr.hpp: section "Present But Cannot Be Compiled"
configure: WARNING: boost/shared_ptr.hpp: proceeding with the compiler's result
configure: WARNING: ## ------------------------------------ ##
configure: WARNING: ## Report this to http://issues.kodi.tv ##
configure: WARNING: ## ------------------------------------ ##
checking for boost/shared_ptr.hpp... no
configure: error: Could not find a required library. Please see the README for your platform.

Your libboost-dev package is outdated. Not sure at all why you want to use Ubuntu 10.04? Are you bound to 5 year old software?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#17
(2014-12-08, 09:31)fritsch Wrote: Your libboost-dev package is outdated. Not sure at all why you want to use Ubuntu 10.04? Are you bound to 5 year old software?

Thanks for your comments.
I already installed the library you mentioned like below.
is there any problem with Ubuntu version?

the reason why I use 10.04 is just because, I just setup this machine years ago.

Quote:wayne@wayne-laptop:~/Work/Src/kodi/xbmc-master$ sudo apt-get install libboost-dev
[sudo] password for wayne:
Reading package lists... Done
Building dependency tree
Reading state information... Done
libboost-dev is already the newest version.
The following packages were automatically installed and are no longer required:
odbcinst unixodbc odbcinst1debian1
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
wayne@wayne-laptop:~/Work/Src/kodi/xbmc-master$
wayne@wayne-laptop:~/Work/Src/kodi/xbmc-master$
Reply
#18
"the newest version" means in that case "the version that was new 5 years ago!".

Besides that I don't think that's the issue here.

Are you really serious about porting software, e.g. implementing something? It's not done with a recompile.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#19
So, are you saying that if I update my Ubuntu version, (such as 12.04 or something?)
then that kind of err would not happen, right?

and here's one more thing.
Quote:It's not done with a recompile
could you be more specific with this?
could you plz give me some guide for doing this?

after cross-compiling xbmc for my target board, then I can run ./xbmc and successfully use it with its magnificent full features.
Am I right?
Reply
#20
Hi guys

I just tried to build xbmc based on my ubuntu 12.04 machine
I think ./configure was fine and the results was like below.
I ran ./configrue with NO option.
Code:
------------------------
  Kodi Configuration:
------------------------
  Debugging:    Yes
  Profiling:    No
  Optimization: Yes
  SWIG Available:       Yes
  JRE Available:        Yes
  Doxygen Available:    Yes
  Crosscomp.:   No
  target ARCH:
  target CPU:
  OpenGL:       Yes
  ALSA:         Yes
  DBUS:         Yes
  VDPAU:        Yes
  VAAPI:        Yes
  VTBDecoder:   No
  OpenMax:      No
  Joystick:     No
  XRandR:       Yes
  Waveform:     Yes
  Spectrum:     Yes
  GOOM:         No
  RSXS:         Yes
  FishBMC:      Yes
  ProjectM:     Yes
  Touch skin:   No
  X11:          Yes
  Wayland:      No
  Bluray:       No
  TexturePacker:Yes
  MID Support:  No
  ccache:       Yes
  ALSA Support: Yes
  PulseAudio:   Yes
  DVDCSS:       Yes
  Google Test Framework Configured:     Yes
  Avahi:        Yes
  mDNSEmbedded: No
  Non-free:     Yes
  ASAP Codec:   No
  MySQL:        Yes
  Webserver:    Yes
  libssh support:       Yes
  libRTMP support:      Yes
  libsmbclient support: Yes
  libnfs client support:No
  libafpclient support: No
  AirPlay support:      Yes
  AirTunes support:     No
  UPnP support:         Yes
  Optical drive:        Yes
  libudev support:      No
  libusb support:       No
  libcec support:       No
  libcap support:       Yes
  additional players:   No
  additional codecs:    No
  PVR add-ons:          No
  prefix:       /usr/local
------------------------

then I ran 'make' following the guide doc.

I faced some err like below.

Code:
CPP     xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecLibMpeg2.o
CPP     xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.o
AR      xbmc/cores/dvdplayer/DVDCodecs/Video/Video.a
CPP     xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.o
DVDDemuxFFmpeg.cpp: In member function ‘virtual void CDVDDemuxFFmpeg::Flush()’:
DVDDemuxFFmpeg.cpp:538:41: error: ‘av_read_frame_flush’ was not declared in this scope
DVDDemuxFFmpeg.cpp: In member function ‘void CDVDDemuxFFmpeg::GetL16Parameters(int&, int&)’:
DVDDemuxFFmpeg.cpp:1705:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
DVDDemuxFFmpeg.cpp:1723:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]


before this, during my './configure' procedure, I faced below errs
Code:
checking for main in -lcap... yes
configure: "FFmpeg installation forced by user - installing our version"
tar: ../ffmpeg-2.4.4-Helix.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
/root/wayne/Work/Src/Kodi/xbmc-master/tools/depends/target/ffmpeg/autobuild.sh: line 128: ./configure: No such file or directory
make: *** No targets specified and no makefile found. Stop.
ERROR: building ffmpeg failed
checking for FFMPEG... no
configure: error: "ffmpeg not found"
root@chic-netbook:~/wayne/Work/Src/Kodi/xbmc-master#

I thought this came from ffmpeg things, so I googled and found this site: http://ffmpeg.org/releases/
I downloaded same version which is "ffmpeg-2.4.4.tar.gz"
and I place it ./tools/depends/target/ffmpeg/
and rename it as "ffmpeg-2.4.4-Helix.tar.gz"
after this ./configure conducted well.

but I faced a err while the 'make' runs.

I grepped this 'av_read_frame_flush' to make sure whether this is declared or not.
but there isn't.
maybe I put wrong file in it from the ffmpeg.org site.
Code:
root@chic-netbook:~/wayne/Work/Src/Kodi/xbmc-master# grep -rn av_read_frame_flush .
./xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp:538:    av_read_frame_flush(m_pFormatContext);
root@chic-netbook:~/wayne/Work/Src/Kodi/xbmc-master#

could you plz give me some guide ?
Reply
#21
you want the right tarball:

https://github.com/xbmc/FFmpeg/releases/tag/2.4.4-Helix
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#22
the configure script will download the correct ffmpeg tarball automatically.
If it doesn't then you either don't have internet access on that machine, or something else is wrong.
whats the output of

ls -la /root/wayne/Work/Src/Kodi/xbmc-master/tools/depends/target/ffmpeg/
Reply
#23
Thanks guys for correcting me.
you're right.
I downloaded from where Memphiz mentioned.
and I placed that in tools/depends/tarfet/ffmpeg/
and rename it as ffmpeg-2.4.4-Helix.tar.gz, cuz its original name was FFmpeg~, and it didn't work.

finally, I could proceed the 'make' procedure,
and I faced another err like below.

Quote:xbmc/music/tags/musictags.a(TagLibVFSStream.o): In function `TagLibVFSStream':
/root/wayne/Work/Src/Kodi/xbmc-master_svn/xbmc/music/tags/TagLibVFSStream.cpp:40: undefined reference to `TagLib::IOStream::IOStream()'
/root/wayne/Work/Src/Kodi/xbmc-master_svn/xbmc/music/tags/TagLibVFSStream.cpp:40: undefined reference to `TagLib::IOStream::~IOStream()'
xbmc/music/tags/musictags.a(TagLibVFSStream.o)Sad.data.rel.ro._ZTIN10MUSIC_INFO15TagLibVFSStreamE[typeinfo for MUSIC_INFO::TagLibVFSStream]+0x10): undefined reference to `typeinfo for TagLib::IOStream'
collect2: ld returned 1 exit status
make: *** [kodi.bin] 오류 1
root@chic-netbook:~/wayne/Work/Src/Kodi/xbmc-master_svn#

and I think this is highly related with taglib something.
so I have to tell what I did during './configure'

I faced below err during './configure'
Quote:checking for FREETYPE2... yes
checking for TAGLIB... no
configure: error: Could not find a required library. Please see the README for your platform.

and there's no recommended lib pkg written in kodi.wiki site,
so I googled and found some tar ball in here > https://github.com/taglib/taglib/downloads

I downloaded taglib-1.8.tar.gz
and I did below
Quote:cd taglib-1.8/build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_STATIC=1
cd ../..
make -C taglib-1.8/build install

did I something wrong?
did I get the src from wrong place? like I did before?
Reply
#24
I really wonder why we have a readme in the tree - did you even read it?

https://github.com/xbmc/xbmc/blob/master...ubuntu#L95
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#25
Thank you Memphiz.
That's very kind of you to say.

what happened in my machine was
the downloading was not good during the 'make', that was kind of html file even if the file name was right one.
so I download it manually, did some additional work manually following the Makefile contents
untar, mkdir, cmake, and then make install.

now I finally have right kodi executable file on my ubuntu machine.
and now I have to get back to cross-compiling work again.
Reply
#26
Just out of curiousity, to double check you are not reinventing the wheel, or to safe you from dissapointment.

Which SoC are we talking about?
Reply
#27
Thanks for your comments.

I was talking about Mstar Soc which is arm cortex a9 in it.
it has 3D GPU and various hardware implemented video/audio codecs.

so I thought it can be cross-compiled on my machine if I put the right argument when I do it.

So, I tried to cross-compile based on same source.

1) ./bootstrap
2) ./configure --host=arm-none-linux-gnueabi --build=arm-none-linux-gnu
during this, I was encountered this kind of err.

Quote:checking for boost/shared_ptr.hpp... no
configure: error: Could not find a required library.

"apt-get install libboost-dev " is not the solution in this case, I guess.
cuz that is a library based on ubuntu machine.
the relevant library they should refer is Mstar's one. am I right?

So, I thought, should I add some additional arguments when I run the './configure'?
like LDFLAGS, or CFLAGS, or something?
Reply
#28
its not even remotely as simple as that. You need to cross compile _all dependencies_ as well. Or use a proper buildroot.
Reply
#29
Thanks for your comments wsnipex.
what kind of buildroot do you mean?

I saw there's some USE_BUILDROOT terms in pkg, especially for the rbp.
and I could download the buildroot pkg from the site of "https://github.com/huceke/buildroot-rbp"
and I got this one: buildroot-rbp-master.zip

I read the README file in this pkg.
the outputs of this pkg are some kind of binary files which is start code and boot loader things for the rbp board, I guess.

But I already have all the rootfs and boot code things for my board,
so I don't need to 'make' this pkg. am I right?
and I have to edit the "tools/rbp/setup-sdk.sh" and run.??

could you be more specific for the usage of this?
Thanks in advance
Reply
#30
With buildroot he means an ARM based rootfs, in this case.

If you already have "all the rootfs and boot code things" for your board, maybe the sunxi wiki could get you on the way.

Have a look here;
http://linux-sunxi.org/XBMC#Cross_Compile_of_XBMC
Reply

Logout Mark Read Team Forum Stats Members Help
Kodi for Linux 3.1.x porting to ARM Cortex A9 with NEON0