Is is possible to avoid downloading existing dependencies?
#1
I am setting up to build on OS X and have been running the step to build dependencies needed for building Kodi.

Several of the tools are already installed on my system, most notably Python, both 2.6 and 2.7. Incidentally, why are both versions needed? There are pre-installed versions of these on OS X yet the source for both was downloaded and then compiled taking some considerable time. Is is possible to avoid downloading existing tools?
Reply
#2
The depends build system is not setup to do this, patches are welcome to add such features.

The concept of depends is to use the same versions across all platforms. This minimizes support issues of trying to track down problems across versions and also allows fixes to be done.

You don't have to build depends all the time, only when something in tools/depends changes. I build osx/ios/tvos from the same source directory. Each has it's own independent depends build. I never rebuild depends unless something changes.
MrMC Forums : http://forum.mrmc.tv
Reply
#3
The depends list seems to be out of control. Not only does it download Python 2.6.5 and Python 2.7.11. At a much later point in the depends building process it also downloads Python 2.7.10. It is hard to believe that Python compatibility is so bad that something written for 2.7.10 would not run correctly on 2.7.11.
Reply
#4
depends downloads python 2.7.11 and builds it 2 times (first native, then target). Not sure why you think we are using 2 different versions at the same time. Maybe you looked into the tarballs folder and saw an older tarball of python?
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
#5
(2016-06-20, 07:24)Memphiz Wrote: depends downloads python 2.7.11 and builds it 2 times (first native, then target). Not sure why you think we are using 2 different versions at the same time. Maybe you looked into the tarballs folder and saw an older tarball of python?

When i bumped from 2.7.10 to 2.7.11 i only did native and not the target. wsnipex fixed that last week and now both are at 2.7.11
Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe
Reply
#6
@Memphiz, aren't native and target the same thing when building for OS X?

In any case it is definitely downloading and building both versions of 2.7. I know this because it had already downloaded and built Python 2.7.11 several days ago. Today, following past failures I was trying again to build all the dependencies, after cleaning everything except the existing tarballs and switching to master.
During this I got a download failure (as described in http://forum.kodi.tv/showthread.php?tid=...pid2361153) when Python 2.7.10 was being downloaded. This happened after Python 2.7.11 had been built. I then manually downloaded via my web browser, copying and pasting the URL from the curl command that failed. Below is an ls -l of the tarballs directory showing clearly that the 2.7.10 download happened today. So, @Martijn, it seems something is still requiring 2.7.10.[/code]

Code:
ls -l /Users/Shared/xbmc-depends/tarballs/Python*
-rw-r--r--@ 1 mark  staff    11M Jun  5 13:14 /Users/Shared/xbmc-depends/tarballs/Python-2.6.5.tar.bz2
-rw-r--r--@ 1 mark  staff    12M Jun 20 10:27 /Users/Shared/xbmc-depends/tarballs/Python-2.7.10.tar.xz
-rw-r--r--@ 1 mark  staff    12M Jun  5 12:46 /Users/Shared/xbmc-depends/tarballs/Python-2.7.11.tar.xz
Reply
#7
is your code updated?

https://github.com/xbmc/xbmc/pull/9978
Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe
Reply
#8
That was it. native was Python 2.7.11, target was 2.7.10. Silly me. I had forgotten that I had forked xbmc so "up-to-date with origin" is pretty meaningless. I have now pulled the changes from upstream. Thanks @Martijn.
Reply
#9
target and native can be the same on osx but don't have to (depends on target sdk selection and so on).
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
#10
Target and Native confusion was the very thing that lead to the creation of depends.

If you are self building, they can be the same but when you build something that others can download, you need to be very concerned about not mixing the two. For example, your build box is OSX 10.11.3 but you want the resulting binaries to run on 10.8+. You better be treating target different from native or very bad things will happen.
MrMC Forums : http://forum.mrmc.tv
Reply

Logout Mark Read Team Forum Stats Members Help
Is is possible to avoid downloading existing dependencies?0