Symbian developer community

 
wiki

How to Download a PDK

From Symbian Developer Community

Jump to: navigation, search

The Symbian PDKs contain a large volume of files, grouped into many separately-downloadable zip files. This page describes a Python utility (downloadkit.py) which downloads and extracts the kit archives for you.


Warning
The recent rehosting of the developer website has exposed a problem with downloadkit.py, which causes a complete failure to download the PDK and a message
*** ERROR: no version information in the download page

The workaround for this is to add

--webhost developer-secure.symbian.org
to the command line.

For more details of the "no version information" problem, see Bug 3627.

Contents

Overview

The installation of a full Symbian PDK is really fairly simple, but it involves downloading and unzipping more than 25 zip files. The downloadkit.py script automates this process: it downloads the archive files for a specified build in order, unzipping them in a separate thread (in parallel).

It works by opening the appropriate download page on the Developer Website, then reading the code for the web page to find the downloadable files and the URLs for each download. Once it has that list, it will work through the items in sequence, downloading each file and then running a separate thread to unzip the file while downloading the next one.

To access the download pages it needs to ask for your developer.symbian.org user id and password, so that it can log in to the website and get access to the right download pages. It's been tested with both member and non-member accounts, for PDKs since 2.0.0, 3.0.b, and 3.0.e.

Warning
A few of the files have click-through licenses - for example the (non essential) rnd*.zip archives. The script won't accept click-through licenses on your behalf; if you attempt to access these files without first accepting the agreements you will get error messages like this:
 
Downloading src_rndonly_samsung.zip
*** src_rndonly_samsung.zip is subject to the SYMBIAN FOUNDATION
RESEARCH & DEVELOPMENT LICENSE which you have not yet accepted
 
The solution is to try downloading one of them manually through the website, accept the click-through license agreement, then run the script again.

Installing the utility

downloadkit.py is supplied in the "utilities" repository, so the best way to get the latest version is to pull it from our Mercurial server. As a bonus, this will also get you the latest "clone_all_packages" script used to get the platform source code from Mercurial.

If this is the very first time, we suggest that you type these commands:

mkdir c:\Symbian
hg clone https://developer.symbian.org/oss/MCL/sftools/fbf/utilities c:\Symbian\utilities

If you've done it before, then you just need to pull with an update

hg pull --update -R c:\Symbian\utilities

You will need to download and install Python to run the script, and 7-zip, because WinZip cannot cope with the large numbers of files in some of the zip files.

What if I don't have Mercurial?

You really should consider installing Mercurial (we recommend using TortoiseHg, which includes Mercurial). However, if that's not for you, then you can still get the utility directly from our Mercurial server as a zip file.

  1. Download the zip file from http://developer.symbian.org/oss/MCL/sftools/fbf/utilities/archive/tip.zip - it will be called something like "utilities-c63eca238256.zip".
  2. Unpack the file into c:\Symbian - it will create a directory with the same name as the zip file.
  3. Rename c:\Symbian\utilities-* to c:\Symbian\utilities

You'll still need to install Python (version 2.6.3 or later) and 7-zip though, because they are used by downloadkit.py.

Downloading a PDK

To download and extract a kit you simply create an empty directory in which to store it, navigate to that directory, and run the script with the kit version number as an argument. Note that downloadkit.py is a Python script - so you will need to already have Python 2.6 installed on your computer.

For example, to download and extract PDK 3.0.0 into g:\PDK\3.0.0, use these commands:

g:
mkdir \PDK\3.0.0
cd \PDK\3.0.0
c:\Symbian\utilities\downloadkit\downloadkit.py 3.0.0

The script will prompt you for your developer.symbian.org user id and password, then download/extract the kit.

Tip
Downloading large files can take a long time, during which the script may appear to be frozen; you can use the --progress option to get a progress notification every 20 seconds during file download.

There are a number of other command line options, as listed below:

Usage: downloadkit.py [options] version
 
--version show program's version number and exit
-h, --help show this help message and exit
-n, --dryrun print the files to be downloaded, the 7z commands, and
the recommended deletions
--nosrc Don't download any of the source code available
directly from Mercurial
--nowinscw Don't download the winscw emulator
--noarmv5 Don't download the armv5 binaries
--nounzip Just download, don't unzip or delete any files
--nodelete Do not delete files after unzipping
--progress Report download progress
-u USER, --username=USER
login to website as USER
-p PWD, --password=PWD
specify the account password
--debug debug HTML traffic (not recommended!)
--webhost=SITE use alternative website (for testing!)
--noresume Do not attempt to continue a previous failed transfer
 
 

If you just want the latest PDK for Symbian^3, then you can leave off the precise version details, e.g.

 
mkdir \symbian3
cd \symbian3
c:\Symbian\utilities\downloadkit\downloadkit.py 3
 

Implementation Details

The "screen scraping" is done using a Python library called BeautifulSoup. The web pages and download URLs are accessed using the standard Python urllib2 library, which is needed because the developer.symbian.org website makes extensive use of session cookies and redirection.

The script looks for downloadable files with ".zip" or ".xml" extensions, then takes the following actions

File Action Rationale
release_metadata.xml download first This file contains information about the other files, including the MD5 checksum of each file
bin* just unzip, leave zip file These are the binaries, and you might need to delete everything and unzip again
tools* just unzip, leave zip file These are the tools, which might need to be modified
src_* unzip, then delete zip file These are the source files, which are normally a zip file containing smaller zip files. You probably don't want all of the source code unpacked, but if you do, we recommend using the clone_all_packages utility to get the files from Mercurial instead.
build_BOM.zip unzip, then delete zip file These files you won't modify, including the build-info.xml file used by clone_all_packages
(others) do nothing These files aren't usually needed (e.g. the log files from our build), so they get left as a zip file

When the script decides to download a file, it first checks to see if the file is already present with the correct MD5 checksum: this avoids downloading a file again unnecessarily if you run the script more than once. The release_metadata.xml file contains the checksums and sizes of the files, so the script knows what to expect and will report files which have the wrong checksum.

The script must always read the download page to find the precise URLs for each file, and always downloads the release_metadata.xml file to get the sizes and checksums. A website login is needed to do that, which is why you always need to provide a username and password, even with the "--dryrun" option.

What if the Script Fails?

We are fairly confident of this script - it has been tested with both member and non-member accounts, for PDKs since 2.0.0, 3.0.b, and 3.0.e. However if it does fail, you can download the kits manually from the developer website (and please report the issue as a defect in our Bug tracker , or as a comment to this page). The "--dryrun" option may be helpful in this circumstance: it lists the URLs, the filenames and suggested actions which the script would normally do on your behalf.

Can I run the script again if things break part way through?

It is safe to run the script again if you had problems the first time. The script examines the MD5 checksum of existing local files before downloading, so if you run the script twice is should not download the really large binaries_*.zip files again. The large src_*.zip files are deleted after unpacking, so they will be downloaded again. If you have persistent network issues, then use the "--nounzip" option to avoid deleting those files.

If the script finds a file of the right name which is shorter than it should be, it assumes that a previous download attempt was broken before it completed. IN this case, the script will assume that the bytes are correct and request just the remainder of the file from the server. This is safe because the checksum will detect if the file has the right content once the script has received enough data. Re-running the script several times ought eventually to get you a complete PDK, but please contact Symbian if you need to do re-run the script more than once.

The PDK download page for the latest kit in each Symbian platform version are linked from the Tools & Kits entry point (you can access older builds from the Build and Integration page). Extracting the kits involves manually following the behaviour described in #Implementation Details above.

My organisation requires me to use a Proxy Server

The script includes a check to see if it can contact the https://developer.symbian.org login page - if it can't, then you will see a message that says:

 
Do you need to use a proxy server to access the developer.symbian.org website?
 

If you are required to use a proxy server to get from a corporate network to the outside world, then you will need to use Python 2.6.3 or later to get an essential bugfix in the urllib2 library.

Assuming you have a suitable version of Python, you need to set environment variables to tell downloadkit.py that it should use a proxy.

 
set http_proxy=XXX
set https_proxy=YYY
 

where XXX is the address or name of your proxy server for HTTP, and YYY is the address or name of the proxy server for HTTPS (which might be different). Q: How can people identify the proxy server name? Browser settings?

It's still not working

If all else fails, try the "--debug" option. This will print out the HTTP requests and responses that show what is really happening behind the scenes. Note that this output includes your password, so please be careful to remove or disguise the password before showing the debug output to anyone else. It will also create downloadpage.html, which is the result of trying to read the download page.

Open Defects

IDPStatusSeverityVersionProductSummary (2 tasks)  Component
2884P3NEWnormalunspecifiedFoundation Build FrameworkR&D license and downloadkit.py utilities
3587P3NEWnormalunspecifiedFoundation Build Frameworkdownloadkit.py "retry" mechanism confuses the unzipping utilities

Further Information & Improvements

Please leave a comment on this page if you have specific suggestions for improvements, or better still, wish to contribute some changes! Discussion can also be posted on the forum as a response to this forum post.

How we test the script

We test new PDK download pages with this script before we make them public. To do this, we use the --webhost option to point to our development server, and there's some code which deals with the extra layer of HTTP authentication. We don't currently test for everything which could go wrong, particularly the issues about proxy servers. If you would like to volunteer to test new versions of downloadkit.py, please get in touch!

Comments

Contents

James Nash (cirrus) said…

Hi William. I tried with those environment variables, but now it fails with a different error that looks similar to the "unknown protocl" thing someone else reported earlier:

Traceback (most recent call last):
  File "c:\Symbian\utilities\downloadkit\downloadkit.py", line 398, in <module>
    login(True)
  File "c:\Symbian\utilities\downloadkit\downloadkit.py", line 65, in login
    response = urllib2.urlopen(req)
  File "C:\APPS\actpython\lib\urllib2.py", line 124, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\APPS\actpython\lib\urllib2.py", line 383, in open
    response = self._open(req, data)
  File "C:\APPS\actpython\lib\urllib2.py", line 401, in _open
    '_open', req)
  File "C:\APPS\actpython\lib\urllib2.py", line 361, in _call_chain
    result = func(*args)
  File "C:\APPS\actpython\lib\urllib2.py", line 1138, in https_open
    return self.do_open(httplib.HTTPSConnection, req)
  File "C:\APPS\actpython\lib\urllib2.py", line 1105, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [Errno 1] _ssl.c:480: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol>

FWIW, I tried doing "import _ssl" on the Python console and got pretty much the same output you describe:

>>> import _ssl
# C:\APPS\actpython\lib\encodings\cp850.pyc matches C:\APPS\actpython\lib\encodings\cp850.py
import encodings.cp850 # precompiled from C:\APPS\actpython\lib\encodings\cp850.pyc
import _socket # dynamically loaded from C:\APPS\actpython\DLLs\_socket.pyd
import _ssl # dynamically loaded from C:\APPS\actpython\DLLs\_ssl.pyd

I'm running Python version 2.6.2. Any ideas?

--James Nash (cirrus) 14:18, 25 February 2010 (UTC)

William roberts said…

Google came up with this thread about that error message, and it seems to mean that the https address is ending up at a port which is not using the SSL protocol.

Line 65 of downloadkit.py is using https://developer.symbian.org/main/user_profile/login.php - trying it as "http" gets me redirected to https, so I presume it is being secure underneath it all.

Does anyone know how to debug the sort of complexity that modern websites go in for? I'm just copying the magic examples and hoping urllib2 will sort out everything for me.

--William roberts 14:36, 25 February 2010 (UTC)

William roberts said…

I found some suggestions on enabling debug information in urllib2, so I've now pushed version 0.9 of downloadkit.py which has "--debug" to turn on debugging of the HTTP headers and requests. Can you try that, and see if it gives you any clues? If not, please post up the output (after carefully removing your password information!), and we'll all stare at it in hope of enlightenment!

--William roberts 14:56, 25 February 2010 (UTC)

James Nash (cirrus) said…

I pulled your updates and tried again with the --debug option, but the output looks the same as before:

J:\>python c:\Symbian\utilities\downloadkit\downloadkit.py --debug 3.0.g
username: XXX
Password:
Traceback (most recent call last):
  File "c:\Symbian\utilities\downloadkit\downloadkit.py", line 422, in <module>
    login(True)
  File "c:\Symbian\utilities\downloadkit\downloadkit.py", line 83, in login
    response = urllib2.urlopen(req)
  File "C:\APPS\actpython\lib\urllib2.py", line 124, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\APPS\actpython\lib\urllib2.py", line 383, in open
    response = self._open(req, data)
  File "C:\APPS\actpython\lib\urllib2.py", line 401, in _open
    '_open', req)
  File "C:\APPS\actpython\lib\urllib2.py", line 361, in _call_chain
    result = func(*args)
  File "C:\APPS\actpython\lib\urllib2.py", line 1138, in https_open
    return self.do_open(httplib.HTTPSConnection, req)
  File "C:\APPS\actpython\lib\urllib2.py", line 1105, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [Errno 1] _ssl.c:480: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol>

--James Nash (cirrus) 15:39, 25 February 2010 (UTC)

William roberts said…

I can reproduce your problem by editing the script to say "https://developer.symbian.org:80/main/user_profile/login.php", and yes, the debugging doesn't show anything at that point.

--William roberts 17:30, 25 February 2010 (UTC)

Jasper said…

E:\Symbian\PDK\3.0.f>c:\Symbian\utilities\downloadkit\downloadkit.py 3.0.g username: xxxxxx Password: Downloading release_metadata.xml - ERROR: Failed to start downloading release_metadata.xml Reason: [Errno 10054] Downloading build_BOM.zip - ERROR: Failed to start downloading build_BOM.zip Reason: [Errno 10054] Downloading binaries_armv5.zip - ERROR: Failed to start downloading binaries_armv5.zip Reason: [Errno 10054]

--Jasper 13:24, 28 February 2010 (UTC)

William roberts said…

Hi Jasper,

Errno 10054 is WSAECONNRESET, which means that something forcibly closed the connection. Are you using a proxy to access the website?

--William roberts 17:05, 28 February 2010 (UTC)

Sampsavo said…

James: Williams hint to use newer Python version solved the same problem you are having.

Python used before the update: ActivePython 2.6.2.2 (ActiveState Software Inc.) based on Python 2.6.2 (r262:71600, Apr 21 2009, 15:05:37) [MSC v.1500 32 bit (Intel)] on win32

The updated Python in which the script is working: ActivePython 2.6.4.10 (ActiveState Software Inc.) based on Python 2.6.4 (r264:75706, Jan 22 2010, 16:41:54) [MSC v.1500 32 bit (Intel)] on win32

--Sampsavo 10:22, 10 March 2010 (UTC)

Jasper said…

William roberts: Actually I'm at home ADSL network. Do I have to set proxy or ......?

--Jasper 09:18, 19 March 2010 (UTC)

William roberts said…

Hi Jasper,

Your ISP might be providing a proxy server for performance reasons, but I don't expect anything to be blocking access to port 80 (HTTP) or port 443 (HHTPS). Have a look in your browser settings - if you are using Firefox, look in Tools -> Options... -> Advanced under the Network tab, and click the "Settings" button for "How Firefox connects to the internet". If you are using Internet Explorer, look in Tools -> Internet options -> Connections and click the LAN Settings button.

It's also worth making sure you have Perl 2.6.4 and the latest version of downloadkit.py, and try the --debug option. Finally, I'm assuming that you can access the developer website directly through your browser and download single zip files....? If you can't do that by hand, then downloadkit.py isn't going to be able to do it either.

--William roberts 10:11, 19 March 2010 (UTC)

Jasper said…

Thanks roberts! I will try...

And in another environment, the problem is:

D:\SymbianOS\PDK\3.0.h>python -V
Python 3.1.1

D:\SymbianOS\PDK\3.0.h>c:\Symbian\utilities\downloadkit\downloadkit.py 3.0.h
  File "c:\Symbian\utilities\downloadkit\downloadkit.py", line 81
    except urllib2.URLError, e:
                           ^
SyntaxError: invalid syntax

Could you help to have a look? Thanks!

--Jasper 02:31, 23 March 2010 (UTC)

Hamishwillee said…

@Jasper, my understanding is that Python 3 is like another language, and not compatible with Python 2. This sort of error would suggest that is true. You might want to try Python 2.6 (where x is as high as you can get) as suggested.

--Hamishwillee 03:10, 23 March 2010 (UTC)

Jasper said…

Thanks Hamishwillee! I could download now!

But the emulator does not work very well. Where I could get some tips?

  1. Application closed: ALF EGL1
  2. Application closed: !AlwaysOnlineManagerServer CAlwaysOnlineMan 0
  3. Messageing: System Error -1
  4. Menu botton does not work.
  5. Emulator responds very slowly.

--Jasper 02:48, 24 March 2010 (UTC)

Hamishwillee said…

@Jasper You are welcome. Please raise the other questions on the forums, not for this document.

--Hamishwillee 02:51, 24 March 2010 (UTC)

Joe4 said…

Under usage above, --nowinscw and --noarmv5 are defined, but are not included in the tool. Their addition would be handy.

Thanks for putting this script together. It's nice to have pdk setup as easy as one command...

--Joe4 17:08, 25 March 2010 (UTC)

Vinothk said…

Hi,

I can login into the developer website and download the zip files as well. But the download script fails with authentication error. I have set the http_proxy/https_proxy.

How I can set the proxy port if my corporate proxy is listening on different port.

As per http://www.voidspace.org.uk/python/articles/urllib2.shtml Currently urllib2 does not support fetching of https locations through a proxy. This can be a problem.

Would it be the cause of the problem with download i am seeing.

Given below is the debug logs.

C:\PDK\3.0.h>c:\Symbian\utilities\downloadkit\downloadkit.py --debug 3.0.h
send: 'GET https://developer.symbian.org/main/user_profile/login.php HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: developer.symbian.org\r\nConnection: close\r
\nUser-Agent: downloadkit.py script v0.16\r\n\r\n'
reply: 'HTTP/1.0 401 Authentication Required\r\n'
header: WWW-Authenticate: Basic realm="172.30.247.21"
header: Refresh: 0;URL="/Secure/Local/console/logout.htm"
header: Server: BlueCoat-Security-Appliance
header: Pragma: no-cache
header: Cache-control: no-cache
header: Set-Cookie: BCSI_MC=451971792:1; path=/
header: Connection: close
header: Content-Type: text/plain; charset=utf-8
HTTP username: vinothk
HTTP password:
send: 'GET https://developer.symbian.org/main/user_profile/login.php HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: developer.symbian.org\r\nCookie: BCSI_MC=451
971792:1\r\nConnection: close\r\nUser-Agent: downloadkit.py script v0.16\r\n\r\n'
reply: 'HTTP/1.0 401 Authentication Required\r\n'
header: WWW-Authenticate: Basic realm="172.30.247.21"
header: Refresh: 0;URL="/Secure/Local/console/logout.htm"
header: Server: BlueCoat-Security-Appliance
header: Pragma: no-cache
header: Cache-control: no-cache
header: Set-Cookie: BCSI_MC=451971799:1; path=/
header: Connection: close
header: Content-Type: text/plain; charset=utf-8
send: 'GET https://developer.symbian.org/main/user_profile/login.php HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: developer.symbian.org\r\nCookie: BCSI_MC=451
971792:1\r\nConnection: close\r\nAuthorization: Basic\r\nUser-Agent: downloadkit.py script v0.16\r\n\r\n'
reply: 'HTTP/1.0 401 Authentication Required\r\n'
header: WWW-Authenticate: Basic realm="172.30.247.21"
header: Refresh: 0;URL="/Secure/Local/console/logout.htm"
header: Server: BlueCoat-Security-Appliance
header: Pragma: no-cache
header: Cache-control: no-cache
header: Set-Cookie: BCSI_MC=451971800:1; path=/
header: Connection: close
header: Content-Type: text/plain; charset=utf-8
*** Problem accessing https://developer.symbian.org
*** Error code:  401

Do you need to use a proxy server to access the https://developer.symbian.org website?

--Vinothk 04:51, 28 April 2010 (BST)

Hamishwillee said…

Hi @Vinothk

>Do you need to use a proxy server to access the https://developer.symbian.org website? No.

Are you sure your password is correct? Note I'm not an expert with this script, but it works for me "out of the box"

--Hamishwillee 01:20, 29 April 2010 (BST)

Vinothk said…

I mean, my corporate network allowed internet access only via proxy which is listening on port 8080, i wanted to know how to specify the proxy port and proxy address while using the download script.

I tried with the direct internet access point as well. I get the following error.

C:\PDK\3.0.h>c:\Symbian\utilities\downloadkit\downloadkit.py 3.0.h
username: vinothk
Password:
Downloading release_metadata.xml
- ERROR: Failed to start downloading release_metadata.xml
Reason:  [Errno 11001] getaddrinfo failed
Downloading build_BOM.zip
- ERROR: Failed to start downloading build_BOM.zip
Reason:  [Errno 11001] getaddrinfo failed
Downloading binaries_armv5_lib.zip

-Vinoth


--Vinothk 11:14, 10 May 2010 (BST)

William roberts said…

Hi @Vinothk - what version are you using? You will need Python 2.6.3 or later to get the urllib2 fix related to proxy servers. If you are using a suitable version of Python, then you need to set the http_proxy environment variable, as described above.

--William roberts 10:02, 12 May 2010 (BST)

William roberts said…

@joe4 - do an "hg pull --update" to get the latest version of the tools which match the usage message above.

--William roberts 10:04, 12 May 2010 (BST)

Anup said…

downloadkit.py: [Errno 10061]

HI, I am using downloadkit.py version .16 and ActivePython 2.6.5.12. Done proxy setting like this: http_proxy=X.X.X.com https_proxy=X.X.X.com

I get following error: ++++

      • Problem accessing https://developer.symbian.org
      • Reason: [Errno 10061] No connection could be made because the target machine actively refused it

Do you need to use a proxy server to access the https://developer.symbian.org website? ++++ Any help where can be the problem?


--Anup 08:41, 17 May 2010 (BST)

Anup said…

Found the solution:


First I missed to mention the port (8080) in the environment variable setting. Once that is done I got this error:

++++

Do you need to use a proxy server to access the https://developer.symbian.org website? ++++

looked like script is working in right direction.

Then I added login-id and password to the environment variable. So it started working.

The correct environment variable setting worked for me is like this:

http_proxy= http://login-id:password@<proxy-server>.com:<port#> https_proxy=http://login-id:password@<proxy-server>.com:<port#>


--Anup 09:50, 18 May 2010 (BST)

Puruharsh said…

Hi All, I am trying to download the PDK, and I am stuck with the following errors. Please help me find a solution.

Downloading release_metadata.xml
- Completed release_metadata.xml - 4 Kb in 4 seconds
Downloading build_BOM.zip
- ERROR: Failed to start downloading build_BOM.zip
Error code:  502
Downloading binaries_armv5_lib.zip
- ERROR: Failed to start downloading binaries_armv5_lib.zip
Error code:  502
Downloading binaries_armv5_patch.zip
- ERROR: Failed to start downloading binaries_armv5_patch.zip
Error code:  502
Downloading binaries_armv5_udeb.zip
- ERROR: Failed to start downloading binaries_armv5_udeb.zip
Error code:  502
Downloading binaries_armv5_urel.zip
- ERROR: Failed to start downloading binaries_armv5_urel.zip
Error code:  502
Downloading binaries_epoc.zip
- ERROR: Failed to start downloading binaries_epoc.zip
Error code:  502
Downloading binaries_epoc32_stlport.zip
- ERROR: Failed to start downloading binaries_epoc32_stlport.zip
Error code:  502
Downloading binaries_epoc_additional.zip
- ERROR: Failed to start downloading binaries_epoc_additional.zip
Error code:  502
Downloading binaries_epoc_sdk.zip
- ERROR: Failed to start downloading binaries_epoc_sdk.zip
Error code:  502
Downloading binaries_winscw_lib.zip
- ERROR: Failed to start downloading binaries_winscw_lib.zip
Error code:  502
Downloading binaries_winscw_udeb.zip
- ERROR: Failed to start downloading binaries_winscw_udeb.zip
Error code:  502
Downloading binaries_winscw_urel.zip
- ERROR: Failed to start downloading binaries_winscw_urel.zip
Error code:  502
Downloading tools_epoc.zip
- ERROR: Failed to start downloading tools_epoc.zip
Error code:  502

--Puruharsh 10:41, 18 May 2010 (BST)

Puruharsh said…

I see this problem, only when I try to access it through the Corporate Network. Need to check if this is a firewall issue

--Puruharsh 05:59, 19 May 2010 (BST)

Mridup said…

Hi, What is error code 400? ERROR : Failed to start downloading xxxxx.

This happens right after entering the username and password of Foundation website.



--Mridup 06:48, 2 June 2010 (BST)

Mridup said…

Hi, a --debug option with downloadkit.py gives the following output:

Downloading release_metadata.xml
send: u'CONNECT developer.symbian.org:443 HTTP/1.0\r\n'
send: '\r\n'
send: u'GET /main/tools_and_kits/downloads/download.php?id=45&cid=98&iid=462 HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: developer.symbian.org\r\nConnection: close\r\nUser-Agent: downloadkit.py script v0.16\r\n\r\n'
reply: 'HTTP/1.0 302 Moved Temporarily\r\n'
header: Date: Wed, 02 Jun 2010 12:15:32 GMT
header: Server: Apache/2.2.3 (Red Hat)
header: Expires: 0
header: Cache-Control: post-check=0, pre-check=0, no-transform
header: Pragma: no-cache
header: Last-Modified: Wed, 02 Jun 2010 12:15:32 GMT
header: Location: http://cdn.symbian.org/builds/Releases/PDK_3.0.i/release_metad
ata.xml?ip=125.22.2.42&e=1275484532&h=2ff1db672e9a94cb366628f42909f682
header: Vary: Accept-Encoding,User-Agent
header: Content-Length: 0
header: Content-Type: text/html; charset=UTF-8
header: X-Cache: MISS from prweb131v
header: X-Cache-Lookup: MISS from prweb131v:80
header: Via: 1.0 prweb131v:80 (squid/2.6.STABLE21)
header: Connection: close
send: 'GET http://cdn.symbian.org/builds/Releases/PDK_3.0.i/release_metadata.xml?ip=125.22.2.42&e=1275484532&h=2ff1db672e9a94cb366628f42909f682 HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: cdn.symbian.org\r\nConnection: close\r\nUser-Agent: downloadkit.py script v0.16\r\n\r\n'
reply: 'HTTP/1.1 400 Bad Request\r\n'
header: Server: EdgePrism/3.7.3.3
header: Mime-Version: 1.0
header: Content-Type: text/plain
header: Date: Wed, 02 Jun 2010 12:15:32 GMT
header: Cache-Control: proxy-revalidate
header: Content-length: 0
header: Connection: close
- ERROR: Failed to start downloading release_metadata.xml
Error code:  400

I believe the http_proxy and https_proxy settings are correct are correct and working.


--Mridup 14:42, 2 June 2010 (BST)

Dennis george said…

I am also getting the same error. i.e. 400.

Following is my outut for downloadkit.py --debug

send: 'GET /main/user_profile/login.php HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: developer.symbian.org\r\nConnection: close\r\nUser-Agent: downloadkit.py script v0.16\r\n\r\n'
reply: 'HTTP/1.0 200 OK\r\n'
header: Date: Fri, 04 Jun 2010 08:33:22 GMT
header: Server: Apache/2.2.3 (Red Hat)
header: Set-Cookie: PHPSESSID=n6adnk45bes66e6jcdnahps1d0; path=/; HttpOnly
header: Expires: 0
header: Cache-Control: post-check=0, pre-check=0, no-transform
header: Pragma: no-cache
header: Last-Modified: Fri, 04 Jun 2010 08:33:22 GMT
header: Vary: Accept-Encoding,User-Agent
header: Content-Type: text/html; charset=UTF-8
header: X-Cache: MISS from prweb132v
header: X-Cache-Lookup: MISS from prweb132v:80
header: Via: 1.0 prweb132v:80 (squid/2.6.STABLE21)
header: Connection: close
send: 'GET /main/user_profile/login.php HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: developer.symbian.org\r\nCookie:PHPSESSID=n6adnk45bes66e6jcdnahps1d0\r\nConnection: close\r\nUser-Agent: downloadkit.py script v0.16
\r\n\r\n'
reply: 'HTTP/1.0 200 OK\r\n'
header: Date: Fri, 04 Jun 2010 08:33:24 GMT
header: Server: Apache/2.2.3 (Red Hat)
header: Expires: 0
header: Cache-Control: post-check=0, pre-check=0, no-transform
header: Pragma: no-cache
header: Last-Modified: Fri, 04 Jun 2010 08:33:24 GMT
header: Vary: Accept-Encoding,User-Agent
header: Content-Type: text/html; charset=UTF-8
header: X-Cache: MISS from prweb131v
header: X-Cache-Lookup: MISS from prweb131v:80
header: Via: 1.0 prweb131v:80 (squid/2.6.STABLE21)
header: Connection: close
username: XXXXXXXXXXXXXXXX
Password:
send: 'POST /main/user_profile/login.php HTTP/1.1\r\nAccept-Encoding: identity\r\nContent-Length: 59\r\nHost: developer.symbian.org\r\nUser-Agent: downloadkit.py script v0.16\r\nConnection: close\r\nCookie: PHPSESSID=n6adnk45bes66e6jcdnahps1d0\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n'
send: 'username=XXXXXXXXXXXXXXXX&password=xxxxxxxxxxxxxxxx&submit=Login'
reply: 'HTTP/1.0 302 Moved Temporarily\r\n'
header: Date: Fri, 04 Jun 2010 08:33:37 GMT
header: Server: Apache/2.2.3 (Red Hat)
header: Expires: 0
header: Cache-Control: post-check=0, pre-check=0, no-transform
header: Pragma: no-cache
header: Last-Modified: Fri, 04 Jun 2010 08:33:37 GMT
header: Set-Cookie: crowd.token_key=JHQ7oq5CVNAoIFHgk0MxDg00; expires=Sat, 05-Jun-2010 08:33:37 GMT; path=/; domain=.symbian.org; httponly
header: Location: http://developer.symbian.org/
header: Vary: Accept-Encoding,User-Agent
header: Content-Length: 0
header: Content-Type: text/html; charset=UTF-8
header: X-Cache: MISS from prweb132v
header: X-Cache-Lookup: MISS from prweb132v:80
header: Via: 1.0 prweb132v:80 (squid/2.6.STABLE21)
header: Connection: close

--Dennis george 09:38, 4 June 2010 (BST)

Dennis george said…

In the log I can see the following reply from server...

"reply: 'HTTP/1.0 302 Moved Temporarily"

Is the page moved from its location?

--Dennis george 09:40, 4 June 2010 (BST)

William roberts said…

"302 Moved Temporarily" is the normal HTTP redirect which you'd expect from a login page. What happens if you use the --dryrun option? That should list the files it expects to download, but it will only actually try to download the release_metadata.xml file.

--William roberts 11:12, 4 June 2010 (BST)

Dennis george said…

Not able to download the first file itself.... getting the following message on --dryrun....

Downloading release_metadata.xml - ERROR: Failed to start downloading release_metadata.xml Error code: 400

  1. instructions for downloading kit 3.0.i

download build_BOM.zip https://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=46&cid=98&iid=464 download binaries_armv5_lib.zip https://developer.symbian.org/main/tools_and_kits/downloads/download.php?id=46&cid=96&iid=450


--Dennis george 11:37, 4 June 2010 (BST)

William roberts said…

As far as we can tell from our various server logs, the redirect is going through to Limelight (our Content Delivery Network provider) and being rejected by them. We can see summary stats on their site which show that in May, 94% of requests triggered a 400 response, so we are asking them for help if debugging this. If anyone who is seeing this problem would be willing to help further (probably by trying again while Limelight have their debugging turned on), then please contact me by email (williamr at symbian.org).

--William roberts 12:32, 4 June 2010 (BST)

Traynsford said…

In "What if I don't have Mercurial?" The first step link to tip.zip takes me to some completely meaningless SCM page.


--Traynsford 09:40, 7 June 2010 (BST)

William roberts said…

@traynsford - sorry about that. We moved the repository, but the redirection links don't seem to cover this case. I've updated the link for you now. Would you find it helpful to have this tool provided in the PDT?

--William roberts 10:15, 7 June 2010 (BST)

Chjin said…

I think this processing is very difficult! In Android case, it's very clear. So try one more time, please. I recommend using slides, please.

--Chjin 12:55, 22 June 2010 (BST)

Martinj said…

Problems with some packages 302 Moved Temporarily and other packages WARNING: src_oss_mw.zip checksum does not match and as a result we can’t download most of the source packages... as I understand this has been reported before... any resolution or do we have to accept we can’t download PDK? This time it’s download from a different site and behind a proxy...

Downloading src_oss_mw.zip send: u'CONNECT developer.symbian.org:443 HTTP/1.0\r\n' send: '\r\n' send: u'GET /main/tools_and_kits/downloads/download.php?id=45&cid=96&iid=442 HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: developer.symbian.org\r\nCookie: crowd.token_key=IpD0lKN2yBT7FKZkJWMCcQ00; PHPSESSID=hobv3vbnp7eg5rutvb0vtlgb67\r\nConnection: close\r\nUser-Agent: downloadkit.py script v0.16\r\n\r\n' reply: 'HTTP/1.0 302 Moved Temporarily\r\n' header: Date: Mon, 28 Jun 2010 09:36:45 GMT header: Server: Apache/2.2.3 (Red Hat) header: Expires: 0 header: Cache-Control: post-check=0, pre-check=0, no-transform header: Pragma: no-cache header: Last-Modified: Mon, 28 Jun 2010 09:36:45 GMT header: Set-Cookie: crowd.token_key=IpD0lKN2yBT7FKZkJWMCcQ00; expires=Tue, 29-Jun-2010 09:36:45 GMT; path=/; domain=.symbian.org; httponly header: Location: http://cdn.symbian.org/builds/Releases/PDK_3.0.i/src_oss_mw.zip?e=1277725005&h=f85271259b63858f9a98654b2e634804 header: Vary: Accept-Encoding,User-Agent header: Content-Length: 0 header: Content-Type: text/html; charset=UTF-8 header: X-Cache: MISS from prweb131v header: X-Cache-Lookup: MISS from prweb131v:80 header: Via: 1.0 prweb131v:80 (squid/2.6.STABLE21) header: Connection: close send: 'GET http://cdn.symbian.org/builds/Releases/PDK_3.0.i/src_oss_mw.zip?e=1277725005&h=f85271259b63858f9a98654b2e634804 HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: cdn.symbian.org\r\nCookie: crowd.token_key=IpD0lKN2yBT7FKZkJWMCcQ00\r\nConnection: close\r\nUser-Agent: downloadkit.py script v0.16\r\n\r\n' reply: 'HTTP/1.1 200 OK\r\n' header: Server: Microsoft-IIS/6.0 header: Content-Length: 810740871 header: Content-Type: application/x-zip-compressed header: ETag: "f09bca66caf2ca1:50d" header: Age: 85874 header: Date: Mon, 28 Jun 2010 09:36:45 GMT header: Last-Modified: Thu, 13 May 2010 18:30:45 GMT header: Connection: close header: Via: 1.1 builds.symbian.org, 1.1 felsig2.fel.fujitsu.com - WARNING: src_oss_mw.zip checksum does not match


--Martinj 12:59, 28 June 2010 (BST)

Martinj said…

Seems I wasn't reading the log correctly... 302 Moved Temporarily works as expected but we do get the WARNING: src_oss_mw.zip checksum does not match often

--Martinj 16:15, 28 June 2010 (BST)

Gauravsathe said…

Following is the log i am getting when i try to download a 3.0.i version. Getting this logs on the second try. ON the first try, the downloadkit.py hung in the middle. Can i still reuse the existing folder or do i need to restart the download from scratch??


Downloading release_metadata.xml Checking existing build_BOM.zip Downloading build_BOM.zip Incomplete transfer - only received 498782 bytes of the expected 2290004 byte fi le Checking existing binaries_armv5_lib.zip Downloading binaries_armv5_lib.zip Incomplete transfer - only received 6643 bytes of the expected 6689688 byte file

Checking existing binaries_armv5_udeb.zip Downloading binaries_armv5_udeb.zip Incomplete transfer - only received 13358105 bytes of the expected 201823630 byt e file Checking existing binaries_armv5_urel.zip Downloading binaries_armv5_urel.zip Incomplete transfer - only received 11781162 bytes of the expected 99310384 byte

file

Checking existing binaries_epoc.zip Downloading binaries_epoc.zip Checking existing binaries_epoc_sdk.zip Downloading binaries_epoc_sdk.zip Checking existing binaries_prebuilt.zip Downloading binaries_prebuilt.zip Incomplete transfer - only received 4224429 bytes of the expected 17465784 byte file Checking existing tools_epoc.zip Downloading tools_epoc.zip

--Gauravsathe 06:10, 8 July 2010 (BST)

Miskol said…

I don't understand decompresion of files. It's decompress 5 files in same time. It's really rush HDD!!!! Is it possible to que decompresion process ?

--Miskol 12:23, 9 July 2010 (BST)

Pizero said…

Well, I'm not a tech guy, I don't have any programming knowledge but I'm only a designer, but I have to download and install this PDK on my computer.

I want to express my opinion on the way this website is making the tools available to the public.

To be honest, I like the idea of being oper-source and so on, but I really think that the way this is gettng handled by Symbian is too complicated.

Why do I have to download and install mercurial, python, to run scripts, to face several execution problems, or to download dozens of zip files, only to be able to install a PDK?

Why you don't simply provide one executable package that installs automatically on my pc? This is too confusing and, for a professional trying to solve a simple problem, like me in this moment, it's really disapointing to have to read several pages of instructions and to spend half a day only to install a kit.

Simplicity and user-friendly tools are useful to professionals too, not only to end users.

An opponent company, for example, let you download the needed tools in minutes: login to website, download the package, automatic installation. It takes 10 minutes for a 4 GB package.


--Pizero 12:18, 15 July 2010 (BST)

Pizero said…

Sorry but I had to say that, I think that criticism sometimes can help improving the service with benefits for everyone.


--Pizero 12:19, 15 July 2010 (BST)

Ukshir said…

I agree with Pizero.

As a developer I understand the efforts you are putting behind these things. You are doing a great job. But it would be better if all the files are put under a single bundle to download. For me the download would take a day or a day and half considering my connection speed. So I need to keep the script running for that longer. Meanwhile I cannot use internet because of the speed. Also i cannot stop the script in between and resume it later b'cause it will start donwloading the src files again.

It would have been better to put the download as a single bundle with download resume facility so that we can download it without hassle if the connection goes down or we can stop in between. Just a suggestion.

--Ukshir 05:02, 21 July 2010 (BST)

Cell09 said…

I was trying to download PDK 3.0.1 and had the same problem which was addressed by James Nash (14:18, 25 February 2010) on the first post. I had appropriate version of Perl and Python... but it did not work. I then did the simplest thing.. restarted my computer. Now it works fine !

--Cell09 16:07, 9 August 2010 (BST)

Zhengyi1998 said…

Hi I use the latest downloadkit.py and python 2.6.4. But when I run with command downloadkit.py 3 I got error C:\PDK\3.0.0>c:\Symbian\utilities\downloadkit\downloadkit.py 3 username: zhengyi_oulu Password:

      • ERROR: no version information in the download page

--Zhengyi1998 06:35, 27 August 2010 (BST)

Sign in to comment…