星期三, 8月 23, 2006

[Computer] Windows XP missing boot file hal.dll, Ubuntu

When I install ubuntu on a notebook, my windows xp can't be booted. The error message shows that a file named "hal.dll" is missing. After short survey, this error is caused by the windows booter can't find the corresponding partition to boot the xp.

The solution is to edit c:\boot.ini file, and change the partition number to 1, or 2.
You can go to ubuntu to mount the windows xp partition, then edit the file.

星期日, 7月 09, 2006

[Computer] How to install multiple versions of GCC

How to install multiple versions of GCC
It may be desirable to install multiple versions of the compiler on the same system. This can be done by using different prefix paths at configure time and a few symlinks.

Basically, configure the two compilers with different --prefix options, then build and install each compiler. Assume you want "gcc" to be the latest compiler and available in /usr/local/bin; also assume that you want "gcc2" to be the older gcc2 compiler and also available in /usr/local/bin.

The easiest way to do this is to configure the new GCC with --prefix=/usr/local/gcc and the older gcc2 with --prefix=/usr/local/gcc2. Build and install both compilers. Then make a symlink from /usr/local/bin/gcc to /usr/local/gcc/bin/gcc and from /usr/local/bin/gcc2 to /usr/local/gcc2/bin/gcc. Create similar links for the "g++", "c++" and "g77" compiler drivers.

An alternative to using symlinks is to configure with a --program-transform-name option. This option specifies a sed command to process installed program names with. Using it you can, for instance, have all the new GCC programs installed as "new-gcc" and the like. You will still have to specify different --prefix options for new GCC and old GCC, because it is only the executable program names that are transformed. The difference is that you (as administrator) do not have to set up symlinks, but must specify additional directories in your (as a user) PATH. A complication with --program-transform-name is that the sed command invariably contains characters significant to the shell, and these have to be escaped correctly, also it is not possible to use "^" or "$" in the command. Here is the option to prefix "new-" to the new GCC installed programs:

--program-transform-name='s,\\\\(.*\\\\),new-\\\\1,'
With the above --prefix option, that will install the new GCC programs into /usr/local/gcc/bin with names prefixed by "new-". You can use --program-transform-name if you have multiple versions of GCC, and wish to be sure about which version you are invoking.

If you use --prefix, GCC may have difficulty locating a GNU assembler or linker on your system, GCC can not find GNU as/GNU ld explains how to deal with this.

Another option that may be easier is to use the --program-prefix= or --program-suffix= options to configure. So if you're installing GCC 2.95.2 and don't want to disturb the current version of GCC in /usr/local/bin/, you could do

configure --program-suffix=-2.95.2
This should result in GCC being installed as /usr/local/bin/gcc-2.95.2 instead of /usr/local/bin/gcc.

星期一, 3月 27, 2006

[Computer] Windows XP no sound

sometimes, the windows xp 's sound device is disappear.
You can go to control panel to [Add new hardware], then choose a sound device...e.g., "Microsoft" MPU-401 compatible devices..
And then reboot....

You will see your favorite sound device comes back and works again...... if you are lucky..

I am the lucky one.

星期二, 3月 21, 2006