×

Discussion Board

Results 1 to 6 of 6

Thread: Linux and SDKs?

  1. #1
    Registered User
    Join Date
    Sep 2006
    Posts
    2

    Angry Linux and SDKs?

    I have been trying to get the SDK for S40 3rd edition, of course the download and unpacking the zip file goes well, but trouble comes when trying to unpack the exe file, I have tried to do this on my x86 based machine (lucky me who has one), but wine, crossover office and cedega failes to install the SDK.

    There must be a lot better options than use a microsoft only exe file, as it's already in a zip file, then everythign could be organized into directories and just include a setup.exe that copies those files to the right place for the microsoft users and the rest of use could move the files manually to the right locations, if not Nokia can think of providing a shell script.

    I really don't understand why Nokia does everything so difficult for us, they do use Linux in their own products but more or less turns their back to the Linux users.


    To anyone who has microsoft installed on a computer and has the latest S40 series SDK installe, could you just make an archive file with all the installed files which we Linux users could download?

  2. #2
    Registered User
    Join Date
    Feb 2009
    Location
    France
    Posts
    4

    Re: Linux and SDKs?

    Sorry for my bad english.

    Hello,

    Sorry for the late reply, i just changed my 3100 for a 5220 XpressMusic few days ago, so i just begin to be interrested in this subject.

    In 2004 i had downloaded and used succesfully Linux version of NDS 2.2 with my 3100, but it's seems that times changing and there is no hope that Nokia provides tools (or at least some informations) for Linux users...

    But it's also seems that there is (at least) a solution.

    After trying a few tools, i have selected the following tools who seems to do the job:

    - Java SE JDK 6 Update 12
    - Eclipse 3.4.1
    - eclipseME 1.7.9
    - Sun Java Wireless Toolkit 2.5.2_01 for CLDC

    I'm using a Linux Xubuntu distro with an AMD Athlon 64 X2 5600+ based PC.

    1. Uncompress Eclipse archive,
    2. Install JDK,
    3. Make a symbolic link into Eclipse folder, example:
      Code:
      ln -s /jdk1.6.0_12/jre /eclipse/jre
    4. Install Wireless Toolkit into the ./eclipse folder,
    5. Install eclipseME

    I have tested some demos bundled with the Wireless Toolkit either precompiled ones and either rebuilded with Eclipse and all it's ok, it works with the 5220.

    I don't know at this time if there is specific Nokia only functions/classes/libraries who are not implemented/provided by these tools, maybe someone who knows that can point us what features are missing?

    PS: Thank you mister Nokia (and mister Orange too) to make me waste about 50 hours of my life!
    Last edited by yanng34; 2009-02-09 at 19:22. Reason: Added some additionals infos

  3. #3
    Registered User
    Join Date
    Feb 2009
    Location
    France
    Posts
    4

    Re: Linux and SDKs?

    I have found another way who seems better and more easy (from my point of view) by using NetBeans IDE.

    In order to use this solution, you will need:


    • JDK with NetBeans IDE Java SE bundle
    • NetBeans IDE with Java bundle (for Java ME pack)

    Go to http://www.netbeans.org/downloads/index.html to get the files URLs.

    Install JDK, and then run NetBeans installer, but you just need to install the Java ME pack (which contains the Sun Java Wireless Toolkit 2.5.2_01 for CLDC), not the whole package.

    Then run NetBeans IDE, and check if the Wireless Toolkit is functionnal by selecting Tools menu -> Java Platforms -> Sun Java Wireless Toolkit 2.5.2_01 for CLDC, then select Tools & Extensions tab and click on the Open Preferences button.

    If nothing appears, as it was happened to me (so weird, i just followed the install process as explained), you need to set the javapathtowtk argument of all scripts from the /netbeans-6.5/mobility8/WTK2.5.2/bin folder. There is 9 files to edit:


    • defaultdevice
    • emulator
    • i18ntool
    • ktoolbar
    • mekeytool
    • prefs
    • siptool
    • utils
    • wscompile

    At the beginning of each files, there is:

    Code:
    #!/bin/sh
    
    javapathtowtk=
    change to suit your installation settings, for example:

    Code:
    #!/bin/sh
    
    javapathtowtk=/jdk1.6.0_12/bin/
    where /jdk1.6.0_12/bin/ (don't forget the ending slash ) is the path where JDK java executable is installed.

    So test that the Wireless Toolkit is now fully functionnal with NetBeans by trying to reach WTK Preferences by using NetBeans Tools menu -> Java Platforms -> ...

  4. #4
    Registered User
    Join Date
    Feb 2009
    Location
    France
    Posts
    4

    Re: Linux and SDKs?

    One more way to get it works.

    If you don't (wanna) use some IDE, you can also just install JDK and WTK and use your favorite text editor to write MIDlets. In order to do that, you will need:



    Just install those two pieces of software and get it on, you can begin to write your own MIDlets.

    Maybe you need to add a link to run ktoolbar script, just copy/paste the following text into your favorite text editor:

    Code:
    [Desktop Entry]
    Version=1.0
    Encoding=UTF-8
    Name=Wireless Toolkit
    Exec=/bin/sh "/home/yann/j2me/wireless/bin/ktoolbar"
    Icon=sun-java
    Categories=Development;Java
    StartupNotify=true
    Type=Application
    Terminal=false
    Set the Exec=/bin/sh "/home/yann/j2me/wireless/bin/ktoolbar" ligne in order to suit to the installation path you have used.

    Save the file into the ~/.local/share/applications folder (for (X)ubuntu) with the name you want, for example:

    Code:
    wireless.desktop
    You have to use the .desktop extension, but you can use whatever name you want for the file.

  5. #5
    Registered User
    Join Date
    Feb 2009
    Location
    France
    Posts
    4

    Re: Linux and SDKs?

    Ok guys. And now, the cherry on the cake:

    Getting the (Windows version of) Nokia emulator to run on Linux

    In order to do that, you need Wine version 1.0 or upper (maybe it's ok with previous versions but i'm using this one).

    You also need the Java SE Runtime Environment (JRE) for Windows, and a Nokia SDK (i have tested this tips with Series 40 5th Edition, Feature Pack 1 SDK but it may works with other SDK).

    Find someone who have Windows on his PC (Thanks mom! ), and install JRE, and Nokia SDK as standalone on it.

    Make an archive with the content of C:\Nokia\Devices: the S40_5th_Edition_SDK_Feature_Pack_1 folder and all it's content.

    Get also the C:\Windows\System32\winscard.dll file.

    Write the archive and the DLL on a USB key or a CD and come back to your PC.

    Install Wine.

    Run Wine configuration process (this will create the ~/.wine folder and all needed setup.

    Click on the "Display" tab, check for the Direct3D section, maybe you will have to disable Vertex Shader and/or Pixel Shader later.

    Click on the "Library/DLL" tab, click "Add" button, select winscard DLL, click "Set/Change" button and select native.

    Click "Apply", and "OK".

    Copy the winscard.dll file into the ~/.wine/drive_c/windows/system32 folder

    Open a console, and install Windows version of JRE:

    Code:
    wine jre-6u12-windows-i586-p.exe
    Uncompress the S40_5th_Edition_SDK_Feature_Pack_1 archive into the ~/.wine/drive_c folder

    The installation process is now done, you can check if this works by going to the ~/.wine/drive_c/S40_5th_Edition_SDK_Feature_Pack_1/bin folder into a console and type:

    Code:
    wine ./emulator.exe
    If needed, uncheck Pixel Shader and/or set Vertex Shader to none.

    Using the emulator with the Wireless Toolkit:

    Yheaa, this one works too (almost ).

    Go to the ./devices folder of WTK:

    With NetBeans -> netbeans-6.5/mobility8/WTK2.5.2/wtklib/devices
    Standalone -> WTK2.5.2/wtklib/devices

    Make a symbolic link to ~/wine/drive_c/S40_5th_Edition_SDK_Feature_Pack_1 folder:

    Code:
    ln -s /home/user/.wine/drive_c/S40_5th_Edition_SDK_Feature_Pack_1 ./S40_5th_Edition_SDK_Feature_Pack_1
    Where user is your home folder.

    Okay, fasten your seat bealt, here we go:

    Open your favorite text editor and copy/paste that:

    Code:
    #!/bin/sh
    wine C:\\S40_5th_Edition_SDK_Feature_Pack_1\\bin\\S40_5th_Edition_SDK_Feature_Pack_1_em.exe
    pkill javaw.exe
    Save as /home/user/.wine/drive_c/S40_5th_Edition_SDK_Feature_Pack_1/bin/S40_5th_Edition_SDK_Feature_Pack_1_em.sh
    where user is your home folder.

    Create a new document and copy/paste that:

    Code:
    #!/bin/sh
    wine C:\\S40_5th_Edition_SDK_Feature_Pack_1\\bin\\preverify.exe
    Save as /home/user/.wine/drive_c/S40_5th_Edition_SDK_Feature_Pack_1/bin/preverify.sh
    where user is your home folder.

    Open the file /home/user/.wine/drive_c/S40_5th_Edition_SDK_Feature_Pack_1/S40_5th_Edition_SDK_Feature_Pack_1.properties

    Change all "\\" with a "/", example:

    Code:
    kvem.class.path: bin/emulator.jar
    instead of

    Code:
    kvem.class.path: bin\\emulator.jar
    Find the emulator.binary entry and change it by the following:

    Code:
    emulator.binary: bin/S40_5th_Edition_SDK_Feature_Pack_1_em.sh
    instead of

    Code:
    emulator.binary: bin\\S40_5th_Edition_SDK_Feature_Pack_1_em.exe
    Find the preverifier.binary entry and change it by the following:

    Code:
    preverifier.binary: bin/preverify.sh
    instead of

    Code:
    preverifier.binary: bin\\preverify.exe
    And find the S40_5th_Edition_SDK_Feature_Pack_1.binary entry and change it by the following:

    Code:
    S40_5th_Edition_SDK_Feature_Pack_1.binary: bin/S40_5th_Edition_SDK_Feature_Pack_1_em.sh
    instead of

    Code:
    S40_5th_Edition_SDK_Feature_Pack_1.binary: bin\\S40_5th_Edition_SDK_Feature_Pack_1_em.exe
    Save the file.

    Done.

    Check out if this works, by running ktoolbar, open or create a project, build and run

    TODO:

    Passing the MIDlet arguments to test to the emulator, at the time, you need to move your .JAR/.JAD files into the ~/.wine/drive_c/S40_5th_Edition_SDK_Feature_Pack_1/bin/storage/6500500/E folder.

    Okay, check out this screenshot:




    As you see, it works with Linux!
    Last edited by yanng34; 2009-02-13 at 21:38.

  6. #6
    Nokia Developer Champion
    Join Date
    Jan 2008
    Location
    Moscow, Russia
    Posts
    3,348

    Re: Linux and SDKs?

    Interesting information. Thanks for sharing!

Similar Threads

  1. Does Wine run the SDKs on Linux?
    By craigu in forum Mobile Java Tools & SDKs
    Replies: 1
    Last Post: 2011-03-17, 14:01
  2. SDKs on Mac OSX, Linux etc.
    By timun in forum Mobile Java Tools & SDKs
    Replies: 5
    Last Post: 2010-10-21, 11:08
  3. What is with Nokia & Linux?
    By makuchaku in forum Symbian Tools & SDKs
    Replies: 2
    Last Post: 2006-06-13, 08:01
  4. Nokia SDK's and Linux
    By Viggy in forum Mobile Java Tools & SDKs
    Replies: 0
    Last Post: 2006-02-07, 19:47
  5. Linux and SDK's
    By Lucretia9000 in forum Symbian Tools & SDKs
    Replies: 6
    Last Post: 2004-01-30, 08:37

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×