Monday, September 27, 2010

Internationalization of glibc

Internationalization of a software refers to the process of making that software to adapt the user's favorite conventions. So internationalization of glibc means programming glibc to adapt the user's favorite conventions.

In glibc, internationalization is done using locales. Locales are collection of conventions. Locales should be specified via environment variables. There are standard locales such as 'C' and 'POSIX' that are supported by all operating systems (OS).

The glibc features that should be internationalized are categorized. Each category can be specified separately with a locale as the user wishes. The environment variable corresponding to each category should be defined for the same. The list of such environment variables are as follows:
  1. LC_COLLATE
  2. LC_CTYPE
  3. LC_MONETRY
  4. LC_NUMERIC
  5. LC_TIME
  6. LC_MESSAGES


If the user prefers to specify a single locale for all categories, then the user can use the environment variable 'LC_ALL'.

Failing to define locale may end up with error on running the glibc test-suites via 'make check'.

Skype on Ubuntu 10.04 LTS

In Ubuntu 10.04 LTS, skype is part of canonical partner repository. Hence the repository should be enabled to install skype.

Canonical partner repository shall be enabled using synaptic package manager.


Select the repository menu of synaptic package manager.


Select the 'other software' tab of repository. And enable the canonical partner repository.


Now open the Ubuntu software center.


Search for skype and install it.

Monday, September 20, 2010

Wireless network access in DELL VOSTRO 3400 with UBUNTU 10.04 OS

Enabling wireless access in DELL VOSTRO 3400 with UBUNTU 10.04 OS requires the Broadcom STA wireless proprietary driver. The driver can be installed as follows:

Go to System->Administration->Hardware Drivers



The proprietary drivers will be searched automatically.



The Broadcom STA wireless driver will be listed for activation.



On activation, the driver will be downloaded and installed.



The driver will be in use and the wireless networks can be accessed.

Thursday, September 2, 2010

Testsuite for gcc-2.95.3

I was supposed to run the gcc testsuite for verifying the gnu toolchain we are maintaining. The gcc version we use is a very old one (gcc-2.95.3). To my surprise, I found that the testsuite folder of gcc-2.95.3 is empty. I checked the previous versions of gcc-2.95.3 (gcc-2.9.2, gcc-2.9.2.1) also. Those versions has a folder for testsuite under gcc-2.95.x.x/gcc. But there is no test files within it.

On surfing, I found that during the time of gcc-2.95, testsuites weren't part of the release. They have used the c-torture testsuite which was maintained separately from gcc. Only from gcc-3.0 the testsuites are part of the gcc release.


And the tests with gcc-3.0 cannot be used for the versions earlier to it. This is because, from version 3.0 gcc conforms to c99 specification. Versions earlier to it don't follow the c99 specification. So, many tests written for gcc-3.0 would fail for the versions earlier to it. For example, tests with gcc-3.0 may fail for gcc-2.95.3 since it (2.95.3) doesn't follow c99 specification.


So for testing gcc-2.95.3, I used the c-torture testsuite which were once used for gcc-2.95. The c-torture testsuite itself has the scripts to run the tests. The readme file explains on running the tests. For cross compilers, the script to run the executable tests should be modified to generate the binaries of the tests. Then the binaries shall be loaded into the appropriate system for execution.