Operating Systems Compatibility Examples

Contents

Compatibility of Maemo 4.1.2 and Maemo 5.0

Setup Maemo 4.1.2

Follow this tutorial to install Maemo 4.1.2 SDK.

Setup scratchbox for Maemo 4.1.2:
   sudo /home/maemo/4.1.2/scratchbox/sbin/sbox_ctl start 

Login to the Maemo 4.1.2:
   /home/maemo/4.1.2/scratchbox/login 

Select the ARMEL target:
   sb-conf select DIABLO_ARMEL 

Install all devel packages:
   apt-get update 

   apt-cache search "\-dev"|awk '{print $1;}'>install.txt 

   for i in `cat install.txt`;do apt-get --force-yes -y install $i;done 

Dump Maemo 4.1.2 ABI

Command to dump system ABI:
   abi-compliance-checker -dump-system "Maemo-4.1.2" -sysroot / 

The system ABI dump will be generated to:
   sys_dumps/Maemo-4.1.2/arm/ 

Exit and shutdown the scratchbox for Maemo 4.1.2:
   exit 

   sudo /home/maemo/4.1.2/scratchbox/sbin/sbox_ctl stop 

Setup Maemo 5.0

Follow this tutorial to install Maemo 5.0 SDK.

Login to the Maemo 5.0:
   /home/maemo/5.0/scratchbox/login 

Select the ARMEL target:
   sb-conf select FREMANTLE_ARMEL 

Install all devel packages:
   apt-get update 

   apt-cache search "\-dev"|awk '{print $1;}'>install.txt 

   for i in `cat install.txt`;do apt-get --force-yes -y install $i;done 

Dump Maemo 5.0 ABI

Command to dump the Maemo 5.0 ABI:
   abi-compliance-checker -dump-system "Maemo-5.0" -sysroot / 

The system ABI dump will be generated to:
   sys_dumps/Maemo-5.0/arm/ 

Exit and shutdown the scratchbox for Maemo 5.0:
   exit 

   sudo /home/maemo/5.0/scratchbox/sbin/sbox_ctl stop 

Compare ABI Dumps

Command to check Maemo 4.1.2 and Maemo 5.0 for backward compatibility:
   abi-compliance-checker -cmp-systems -d1 sys_dumps/Maemo-4.1.2/arm/ -d2 sys_dumps/Maemo-5.0/arm/ 

The compatibility report will be generated to:
   sys_compat_reports/Maemo-4.1.2_to_Maemo-5.0/arm/abi_compat_report.html 

Compatibility of MeeGo 1.2 Core and MeeGo 1.2 Harmattan

Setup MeeGo 1.2 Core

Follow this tutorial to install Intel's MeeGo 1.2 on VirtualBox and enter to the system terminal.

Install all devel packages:
   zypper search -u dev|awk '{print $2;}'|grep 'dev'>install.txt 

   for i in `cat install.txt`;do zypper -n install $i;done 

Install G++ compiler:
   zypper install gcc-c++ 

Dump MeeGo 1.2 Core ABI

Dump the MeeGo 1.2 ABI:
   abi-compliance-checker -dump-system "MeeGo-1.2-Core" -sysroot / 

The system ABI dump will be generated to:
   sys_dumps/MeeGo-1.2-Core/x86/ 

Setup MeeGo 1.2 Harmattan

Follow this tutorial to install MeeGo 1.2 Harmattan SDK.

Setup scratchbox for MeeGo 1.2 Harmattan:
   sudo /home/meego/1.2-harmattan/scratchbox/sbin/sbox_ctl start 

Login to the MeeGo 1.2 Harmattan:
   /home/meego/1.2-harmattan/scratchbox/login 

Select the X86 target:
   sb-conf select HARMATTAN_X86 

Install all devel packages:
   apt-get update 

   apt-cache search '\-dev'|awk '{print $1;}'>install.txt 

   for i in `cat install.txt`;do apt-get --force-yes -y install $i;done 

Dump MeeGo 1.2 Harmattan ABI

Dump the MeeGo 1.2 Harmattan ABI:
   abi-compliance-checker -dump-system "MeeGo-1.2-Harmattan" -sysroot / 

The system ABI dump will be generated to:
   sys_dumps/MeeGo-1.2-Harmattan/x86/ 

Exit and shutdown the scratchbox for MeeGo 1.2 Harmattan:
   exit 

   sudo /home/meego/1.2-harmattan/scratchbox/sbin/sbox_ctl stop 

Compare ABI Dumps

Check MeeGo 1.2 Harmattan and Intel's MeeGo 1.2 for compatibility:
   abi-compliance-checker -cmp-systems -d1 sys_dumps/MeeGo-1.2-Core/x86/ -d2 sys_dumps/MeeGo-1.2-Harmattan/x86/ 

The compatibility report will be generated to:
   sys_compat_reports/MeeGo-1.2-Core_to_MeeGo-1.2-Harmattan/x86/abi_compat_report.html 

Compatibility of S60 5th Edition and Symbian^3

Setup S60 5th Edition SDK

Follow this page to install S60 5th Edition SDK.

Dump S60 5th Edition ABI

Create XML-descriptor for S60 5th Edition (S60-5th.xml):

   <name>
       S60 5th Edition
   </name>
   
   <headers>
       c:\Nokia\devices\S60_5th_Edition_SDK_v1.0\epoc32\include
   </headers>
   
   <libs>
       c:\Nokia\devices\S60_5th_Edition_SDK_v1.0\epoc32\release\armv5\lib\
   </libs>
   
   <tools>
       c:\Program Files\CSL Arm Toolchain\bin\
   </tools>
   
   <cross_prefix>
       arm-none-symbianelf
   </cross_prefix>

Dump the S60 5th Edition ABI:
   abi-compliance-checker -dump-system S60-5th.xml  

The system ABI dump will be generated to:
   sys_dumps/S60 5th Edition/arm/ 

Setup Symbian^3 SDK

Follow this page to install Symbian^3 SDK.

Dump Symbian^3 ABI

Create XML-descriptor for Symbian^3 (Symbian^3.xml):

   <name>
       Symbian^3
   </name>
   
   <headers>
       c:\Nokia\devices\Nokia_Symbian3_SDK_v1.0\epoc32\include
   </headers>
   
   <libs>
       c:\Nokia\devices\Nokia_Symbian3_SDK_v1.0\epoc32\release\armv5\lib\
   </libs>
   
   <tools>
       c:\Program Files\CodeSourcery\Sourcery G++ Lite\bin\
   </tools>
   
   <cross_prefix>
       arm-none-symbianelf
   </cross_prefix>

Dump the Symbian^3 ABI:
   abi-compliance-checker -dump-system Symbian^3.xml  

The system ABI dump will be generated to:
   sys_dumps/Symbian^3/arm/ 

Compare ABI Dumps

Check S60 5th Edition and Symbian^3 for compatibility:
   abi-compliance-checker -cmp-systems -d1 "sys_dumps/S60 5th Edition/arm/" -d2 "sys_dumps/Symbian^3/arm/" 

The compatibility report will be generated to:
   sys_compat_reports/S60 5th Edition_to_Symbian^3/arm/abi_compat_report.html