Linux Reasons of Java in git ?
#1
Hi,

I'm interessed to know why java is now requied for compil XBMC from git

Thank you so much
Reply
#2
http://forum.xbmc.org/showthread.php?tid=140361

seems doxygen is now used to build the documentation
Reply
#3
wonderfull

Thank for your answer it's just amasing to have to buid 20 packages ( cups include ) just for build icedtea
Reply
#4
Its needed for the api binding (making hooks to python "automatically"). There is no requirement on it at runtime, just at compile time. i.e. its just a host/build requirement.
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#5
Additional 156 MB for compiling XBMC in Debian. Nice work!
Reply
#6
(2012-09-27, 00:53)MindTooth Wrote: Additional 156 MB for compiling XBMC in Debian. Nice work!

OMG OMG OMG its going to completely overwhelm any less than 20year old computer surely!

Get of your horse, who cares that if it takes 156mb more to BUILD it, it will not take it to RUN it.

For those 156mb we get
  • Much stabler binding code
  • Clean seperation of binding code and real API code
  • Easier to add new bindings
  • The ability to have a single api which works cross all bindings

IF you really can't spare the 156mb on your build machine, just get the darn .debs which will not depend on those extra 156 mb.
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#7
if you dont have 156mb to spare, you should stay away from xbmc. after all that is about the same size as a unstripped xbmc.bin
Reply
#8
I tent do add some 500MB of porn images after frodo. Issue?
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
#9
156 MB of extra space is felt to the bone. It surely will hurt my system to its knees..

On-topic: If it proves to make XBMC better, I'll have to forfeit my rights to lash out Tongue
Reply
#10
(2012-09-15, 10:32)topfs2 Wrote: Its needed for the api binding (making hooks to python "automatically"). There is no requirement on it at runtime, just at compile time. i.e. its just a host/build requirement.

I have issues making java run on x86 uclibc with grsec kernel (my dev box). I can also say that bootstrapping java is a real pain so this will make it harder to build your own xbmc distro from scratch. (I know most ppl don't do it but java is a pain for us who does).

Would it be hard to rewrite that python binding tool in other language? maybe python or perl?

Thanks!
Reply
#11
(2012-11-28, 17:53)ncopa Wrote:
(2012-09-15, 10:32)topfs2 Wrote: Its needed for the api binding (making hooks to python "automatically"). There is no requirement on it at runtime, just at compile time. i.e. its just a host/build requirement.

I have issues making java run on x86 uclibc with grsec kernel (my dev box). I can also say that bootstrapping java is a real pain so this will make it harder to build your own xbmc distro from scratch. (I know most ppl don't do it but java is a pain for us who does).

Would it be hard to rewrite that python binding tool in other language? maybe python or perl?

Thanks!

Why are you using uclibc on your dev box? I understand it on the target machine but dev? Have you considered cross compiling? its not like we enforce java on iOS to be compiling for it.

Anyways, there are ways, or are talks of ways, to run the java bindings tools pre build so that they can be distributed. This would be beneficial for some distro packagings afaik, as these bindings could be run and included in the tarball. It would also be beneficial on initial ports where cross building is not possible (perhaps this is your use case?)

To answer your question directly, there is no reason why we would want to rewrite them. We see no reason to put in the manhours for it. If you provide patches then we will look at them however.

If you explain more why you cannot run java perhaps we can suggest proper alternatives.

Cheers,
Tobias
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#12
(2012-11-28, 19:12)topfs2 Wrote: Why are you using uclibc on your dev box? I understand it on the target machine but dev?

Because I build a complete native uclibc distro, Alpine Linux and I eat my own dogfood. I can build most applications (kernels, xfce, firefox, qemu, libvirt, inkscape) just fine natively and I use it as my main desktop and on all build servers. We also use Alpine Linux for the infra (main website, bugtracker, git, wiki and all).

Quote:Have you considered cross compiling? its not like we enforce java on iOS to be compiling for it.

If xbmc was the only application in the distro then sure... That would probably be a good idea. Unfortunally, xbmc is just a nice/fun to thing to provide for our users.

Quote:Anyways, there are ways, or are talks of ways, to run the java bindings tools pre build so that they can be distributed. This would be beneficial for some distro packagings afaik, as these bindings could be run and included in the tarball. It would also be beneficial on initial ports where cross building is not possible (perhaps this is your use case?)

If you mean that you ship the pregenerated stuff in the tarball, then yes, that would be helpful.

Quote:To answer your question directly, there is no reason why we would want to rewrite them. We see no reason to put in the manhours for it. If you provide patches then we will look at them however.

We have spent many man hours to get openjdk bootstapped and built but it is a pain to maintain it.

I have spent some man hours now to find a workaround.

Quote:If you explain more why you cannot run java perhaps we can suggest proper alternatives.

It has issues with our default kernel, which uses PaX. Basically, the memory protections does not allow you to have both write and execute permissions at same time. This breaks the JIT in java.

I got it running now, but learned from experience, chances that it breaks in next openjdk release is big.

Avoiding java would be nice.

Thanks!
Reply
#13
(2013-01-31, 11:38)ncopa Wrote: Avoiding java would be nice.

Thanks!


Or at least make it optional
Reply
#14
it is, if you bootstrap on another machine first.
Reply

Logout Mark Read Team Forum Stats Members Help
Reasons of Java in git ?0