Posts filed under 'linux'
Problems upgrading from CentOS 5.2 to 5.3
CentOS 5.3 has recently been released and the update appears to automatically upgrades my machine to 5.2 to 5.3. the problem is that the update ends with the following error:
kernel - 2.6.18-128.1.6.el5.i686: failure: RPMS/ kernel-2.6.18-128.1.6.el5.i686.rpm from updates: [Errno 256] No more mirrors to try.
This error usualy indicate that there is a problem with the yum cache. I took a look at the release notes and it indicated that we may need to update glibc first. Here’s what I did.
- In CentOS, start a terminal window.
- su to root.
- Run the following commands:
yum clean all
yum update glibc
yum update
The first command clears the cache and all of the stale packages. I am not sure why you need to install glibc first, but it’s in the release notes.
1 comment April 3, 2009
Switching to the Open source Athero driver after Mandriva 2009 upgrade
Mandriva 2009 comes with a new open source Athero driver, but because I upgraded rather than reinstall, it was still stuck on the old madwifi driver. Here’s what I did to get rid of it and switch to the new driver.
- Install and Remove software and type in madwifi to search for all instances of madwifi. Uninstall all instances of madwifi.
- Reboot the laptop.
- For some reason, it doesn’t automatically detect the athero. I opened up a command line, login as root and typed:modprobe ath5k
The laptop should now be on the new open source driver from now on. You may need to re-enter your wireless configurations.
1 comment October 12, 2008
Creating and Managing CentOS virtual machine under Virtualbox
In this article, I will describe how I created a CentOS virtual machine under Virtualbox. The CentOS virtual machine will deviate from a default virtual machine create in the following way:
- The CentOS virtual machine will use SATA instead of IDE drives. This will increase flexibility and performance.
- We will use separate virtual disks instead of partitioning a single virtual disk. The separate disks will simplify maintenance and upgrades.
- The virtual disk will be allocated as a very large dynamic disk. A partition will be created within the virtual disk that uses only a small part of the virtual disk. The virtual disk for example may be created to be a 200 Gb dynamic disk and then we allocate only 5 Gb as a partition, leaving the rest free. Because it is a dynamic disk, there is actually no wasted space. The free space can be used later to expand the partition.
The article is meant as a tutorial. Generally, here are the following steps.
- Create the Virtual disks.
- Creating the Virtual Machine.
- Installing CentOS.
- Installing the guest addition.
- Correcting the Video Resolution
- Expanding the Partition Size
Create the Virtual Disks
We’ll do things a bit differently than the default by creating the virtual disk first. We will create 3 virtual disks: root, home, and swap. The reason we have separate disk is to give us flexibility than having all 3 partitions on the same drive. If you run of out space on home for example, you can swap in a larger virtual disk without disturbing the other two volumes.
In addition, we will create a much larger drive than we need. Once created, you cannot extend a virtual disk volume. You have to create a new volume and copy the content over to the new volume. We will solve this problem by creating a really large volume like 200 Gb. Because we will be using dynamic size disk, the initial disk will be quite small.
- Launch the Virtualbox application.
- Select File->Virtual Disk Manager.
- Click New. This brings up the wizard. Press Next. Select dynamic disk and press Next. Enter the name of the your VM and append ” root” at the end. So if you name your machine “CentOS”, this disk would be called “CentOS root.vdi”. Set the disk size to a really large number like 200 Gb and press Next. Press Finish to complete.
- Click New. This brings up the wizard. Press Next. Select dynamic disk and press Next. Enter the name of the your VM and append ” home” at the end. So if you name your machine “CentOS”, this disk would be called “CentOS home.vdi”. Set the disk size to a really large number like 200 Gb and press Next. Press Finish to complete.
- Click New. This brings up the wizard. Press Next. Select fixed size disk and press Next. Enter the name of the your VM and append ” swap” at the end. So if you name your machine “CentOS”, this disk would be called “CentOS swap.vdi”. Set the disk size to 2x your intended virtual machine RAM (so if you intended to us 1 Gb RAM in your VM, use a disk size of 2x) and press Next. Press Finish to complete. Unlike home and root, you want swap to be a fixed disk size so that you won’t have an extend disk operation when you need virtual memory.
After these steps, you should have 3 different disk: root, home, and swap.
Creating the Virtual Machine
The follow step will create the virtual machine. We will also attached the disks we created earlier to the virtual machine.
- Launch Virtualbox.
- Select the menu Machine->New to create a new virtual machine. This will bring up a wizard.
- Click next to go to the next screen.
- You will be prompted for VM name and type. Enter the name like “CentOS”, and select the OS Type of RedHat (since CentOS is a derivative of RedHat). Press Next.
- You will be prompted to set the memory. I set mines to 512 Mb. Press Next.
- Now we are at the virtual disk screen. Click Next, you will be warned that you didn’t attach a hard disk. Press Continue. You will attach the disk later.
- Press finish.
- Select the machine and press on the settings button.
- Select Hard disks to bring up the hard disk settings.
- Check the “enable SATA controller”. The virtual SATA controller has greater flexibility and faster performance than the virtual IDE.
- Click Add disk button. Select the SATA Port 0 from the Slot’s drop down field. Assign the root disk you created.
- Click Add disk button again. Select the SATA Port 1 from the Slot’s drop down field. Assign the home disk you created.
- Click Add disk button again. Select the SATA Port 2 from the Slot’s drop down field. Assign the swap disk you created.
- Press OK to close the hard disk settings.
- Click on the audio setting. Check enable audio settings and select the appropriate audio driver.
Install the CentOS
Now we have a virtual machine but no operation system. Our next step is to install CentOS and configure it.
- Download CentOS. For this tutorial, I used CentOS 5.2.
- Launch Virtualbox.
- Select the new virtual machine you created and click on settings.
- Click on CD-ROM and mount the CentOS 3.2 image.
- Start the virtual machine.
- Once the CentOS title screen appears. Press Enter.
- Click on the Skip test button. Although it’s better to check your media, the test often result in the CD-ROM being ejected. After the CD is ejected, there seemed to be no easy way to get it to reappear.
- On the CentOS splash screen, press Next.
- Select the appropriate language and press Next.
- Select the appropriate keyboard and press Next.
- You will be warned that sda is unreadable and ask if it can format and erase all of the data. Press Yes (since your new virtual disk has no data).
- You will be warned that sdb is unreadable and ask if it can format and erase all of the data. Press Yes.
- You will be warned that sdc is unreadlable and ask if it can format and erase all of the data. Press Yes.
- On the partition screen, select custom layout and press Next.
- Click on the New button. Set the mount point to “/”. Uncheck all volume except sda. Set the size to what you think you will need. Press OK. We are meant to use a small percentage of the virtual disk for the partition. The idea is if we need to a larger disk, we can use a partition program to extended it.
- Click on the New button. Set the mount point to “/home”. Uncheck all volume except sdb. Set the size to what you think you will need for the home directory. Press OK.
- Click on the New button. Set the File System type to swap. Uncheck all volume except sdc. Set the size to fill to maximum size since we want to use all of it for swap. Press OK.
- Press the Next button.
- You will be prompted to ask if you want to install Grub. Press Next to select the default option of installing Grub on /dev/sda
- Press Next to use the active device of eth0 and DHCP.
- Select the appropriate country and press Next. WARNING: If you plan to run a mix of Linux and Windows machine, make sure you uncheck “System Clock uses UTC”. Press Next.
- Enter the root password and press Next. Make sure you record this somewhere.
- You will be prompted to select the software. The system will default to Gnome Desktop. Select the option “Customize Later” and press Next.
- The installer will check for dependencies and then display a screen telling you to press Next to continue the installation. Press Next.
- Installation will continue for half an hour and then you are presented with an option to reboot. Click on the reboot button and boot from the hard drive instead of the CD.
- After reboot, your configuration will continue on a welcome screen. Press Forward.
- Press Forward to accept the default firewall configuration.
- Press Forward to accept the default for SELinux.
- Press Forward to accept the date (note: do not turn on NTP).
- Enter the info for a user other than root. Press Forward.
- Press Forward to accept the sound config.
- Press Finish to complete configuration.
- Login as the user you just created.
- Wait until you get a notice that there are updates.
- Click on the notification and view update. Enter the root password when prompted.
- Click on the package updater’s apply updates. You may be prompted about dependencies. Press Continue if that is the case.
- Now wait for a while. The update may take several hours for the updates to complete.
- Open up a command line window and su to root by typing su and then entering the root password.
- Type the following commands to install the compiler and kernel source.yum install gcc -y
yum install kernel-devel -y - Select the menu Devices->Install Guest Additions from the virtual machine menus.
- In the command line, cd to the /media. There should be a Vbox folder within media. Change directory into that folder. There should be a .run file for your machine. For example, on my guest, I did the following:cd /media/VBOXADDITIONS_2.0.0_36011
sh ./VBoxLinuxAdditions-x86.runYour actual command will vary according to your version of virtualbox. - Reboot your virtual machine.
Correcting the Video Resolution
On my laptop with a 1280×800 screen, the resolution was not correctly detected. Even when I went in and manually set my Monitor type to 1280×800 in Administrator->Display Settings. I had to manually set the xorg.conf file. Backup your config file and add or modify a subsection in the section screen.
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1280x800" EndSubSection EndSection
The important line to add is ‘Modes “1280×800″‘. The addition of this line causes CentOS to go into 1280×800.
Virtualbox supports a dynamic video display where the size of the desktop is automatically adjusted with the size of the window. However, this is supported only on Xorg server version 1.3 or later. CentOS is using version 1.1, so it does not support dynamic display.
Expanding the Partition Size
Suppose you run out of space later on. If you use the default way of creating virtual disk, you will have to create a new disk, copy the content from one virtual disk to another. This is not trival to do.
If you have followed my instructions, we have created a really large virtual disk, but we really only use a small percentage of the disk. Now if we want to expand, we can boot your virtual machine into a live CD that has a partition editor like gparted. You wan to boot into your live CD because you can’t modify a partition when it is in use. You can use the gparted utility to expand your partition.
5 comments September 8, 2008
Tips on installing Picasa Linux 2.7 on Linux
Recently, I attempted to install Picasa 2.7 for Linux for a friend. Even though google’s installation instructions were fairly simple, I encountered a lot of problems starting it. Here’s are some tips on avoiding the problems I encountered
Do not start Picasa as root or sudo
Picasa has to be installed as root, but you should never start Picasa as root or do sudo picasa. When you run Picasa, it writes a .picasa directory in your home directory. If you run it as root or use sudo (which cause Picasa to run as root), the .picasa directory will be owned by root. As a result, when you try to run Picasa as yourself, you will be unable to write to it. Do a ls -la in your home directory. If .picasa is not owned by you, your Picasa configuration is messed up. To correct, delete the .picassa directory and run again or change the owner of the .picasa and its subdirectory to you.
Be patient the first time you run it
The first time I ran Picasa, it launched with the Picasa cursor. After a while, the cursor disappear, but I cannot see any Picasa, so I tried running it again and also try to kill off the rogue Picasa processes. It turns out that it takes a really long time to start up the first time. The first time you start Picasa, it will attempt to create Wine directories, this apparently takes a long time depending on the speed and memory of your machine.
So the first time you run Picasa, take a walk around the neighborhood and get a cup of coffee. By the time you get back, you should see the screen prompting you with the Picasa agreement.
Picasa is ultra-slow in a Virtualbox
PIcasa is almost unusable in a Virtualbox emulator linux guest (it may work better in Vmware, but I haven’t tested this) There is a several second lag when you click on a menu and the cpu is loaded by 30%. It’s possible that it’s slow because it has to read files off a virtual disk, or may be it needs hardware graphics acceleration. Do not bother running Picasa in a Linux guest.
Add comment August 19, 2008
Earth is missing after Google Earth Linux Installation
Recently, I helped out a friend with a Linux installation. One of the application installed was Google Earth. I followed Google’s instruction to run the bin file. After the installation, I was asked if I want to start Google Earth. I selected the option to start Google Earth and test it to make sure that it was working. However, when I launch Google Earth later, I notice that the entire Earth was missing. All I see is an empty star field. The earth was not displayed no matter which address I entered. Has Earth become a victim of mass alien abduction?
My first clue was that Google Earth worked when I tested it during installation. When you install an application, you have to run it as root. As a result, I run the installation using sudo. When I am prompted to start Google Earth during installation, I probably ran it as root. To test this theory, I ran google earth by typing “sudo googleearth”. Sure enough, Google Earth launched without a problem. Obviously, the issue is permission related.
One quick fix would be to edit the menu so that it launch google earth as “sudo googleearth”. This will work but is not a secured solution. There’s no reason to run google earth as root. In addition, your user may to have permission to sudo.
Poking around the home directory, I discovered that Google Earth installed .googleearth in the home directory. When I did a “ls -la”, I notice that the .googleearth is assigned to the owner of root and group of root. As a result, the user is unable to write to the .googleearth. To make things worse, this was probably installed when I answered yes to start Google Earth during installation. If I had not decided to start Google Earth during installation, I would not have encountered this problem.
Solution
- When you install Google Earth, do not start Google Earth during installation. Exit the installer and run Google Earth under your own account.
- If you failed to do this and now you have a .googleearth permissioned to root, go to your home directory and run “sudo rm -rf .googleearth”. Now run Google Earth again under your own account. Note that all settings will be lost.
- Alternatively, you can use chown and chgrp to reassign the owner and group of .googleearth to yourself (make sure you use -R so that the permission change is made to the subdirectories).
7 comments August 16, 2008
Wrong FS Error while mounting USB flash drive in Linux
Recently, when I plug in my USB flash drive into my Acer 3680 running Mandriva 2008.1, I got the following error:
mount: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so
When I did do a dmesg, I find the following error:
NTFS-fs warning (device sdb1): is_boot_sector_ntfs(): Invalid boot sector checksum. NTFS-fs error (device sdb1): read_ntfs_boot_sector(): Primary boot sector is invalid. NTFS-fs error (device sdb1): read_ntfs_boot_sector(): Mount option errors=recover not used. Aborting without trying to recover. NTFS-fs error (device sdb1): ntfs_fill_super(): Not an NTFS volume.
The problem is that the usb key is formatted in FAT32. Attempts to use windows to fix the volume and reformatting the volume did not fix the problem. The problem was eventually traced to the /etc/fstab file. In it, I find:
/dev/sdb1 /media/hd ntfs user,nls=utf8,sync 0 0
This apparently cause the USB key to be mounted as a NTFS volume, which resulted in the error. The solution was to just delete the line. I am not sure how the line got there in the first place. It’s probably something added by accident by the Mandriva installer.
1 comment June 3, 2008
Mandriva 2008.1 on Acer Aspire 3680-2622 Laptop
To This blog documents my experience with running Mandriva 2008.1 on Acer Aspire 3680-2622. Note that I started out with Mandriva 2008.0 Powerpack and then upgraded via the standard repository to 2008.1. Since powerpack is essentially Mandriva plus some proprietary software, I assume that most of the blog applies to the standard Mandriva and probably other versions of Linux.
According to uname -a, my machine is running kernel 2.6.24.4-laptop-lmb.
| Hardware Component | Status under OS | Notes |
|---|---|---|
| Intel Celeron M520 1.6 Ghz CPU | Working | |
| Intel 943 GML Video | Working | Conpiz 3D works perfectly but has compatibility problems with video playback if turned on. |
| 14 inch LCD | Working | Brightness control works. Brightness control did not work in Mandriva 2008.0. |
| Intel 82801G HDA Audio | Working | Correctly detected headphone and disable speaker. Make sure you configure the volume control to Master and adjust the volume in the mixer. |
| 2 Gb RAM, DDR2 | Working | |
| Western Digital WD800BEVS 80 Gb SATA Hard Drive | Working | |
| Optiarc CD-RW CRX880A | Working | |
| Keyboard | Working | Many of the Hot keys works. |
| Synaptics Touchpad | Working | Require manual editing of Xorg to change Touch pad configuration like tapping. |
| Marvel 88E8038 PCI-E Ethernet | Working | |
| Atheros AR2413 802.11bg Wireless | Working | WPA works. |
| Battery | Working | |
| Modem | Not working | Does not even appear in hardware detection list. |
| USB | Working | |
| TI 5-in-one Card Reader | Working | Tested only with SD card |
| TI Cardbus | Untested | Probably works |
| Sitecom Bluetooth (third party install) | Working | This is a USB module that plugs into the Acer 3680’s internal bluetooth connector. It did not come with the laptop. |
| Laptop Power Management | Working | Note that Celeron do not have frequency scaling. |
| Suspend to RAM | Working with Modification | Laptop often failed to resume because it crashes while loading ALSA. You need to turn off Pulse audio.The module ath_pci needs to be unloaded during suspend or the wireless will be lost when we resume. |
| Suspend to Disk | Working with Modification | The module ath_pci needs to be unloaded during suspend or the wireless may be lost when we resume. |
Possible strange interaction with the Wireless Switch
When I first boot up, the wireless did not work. Rebooting it did not work either. Finally, I reboot while holding down the network switch. Since then, the wireless has worked for most of the time but fail to be detected some of the time. Whenever Linux failed to detect the device, I have shut off the machine and repeat the procedure to restore the wireless.
Unload the wireless module during suspend
One problem encountered is when you suspend, sometimes the wireless goes dead and cannot be restarted. To get around this problem, you can tell the power management utility to unload the Atheros module during suspend and reloaded it during resume.
- Open a command line window.
- Type cd /etc/pm/config.d
- Type su root and enter the root password to become root.
- Create a file defaults with the following line:
SUSPEND_MODULES=”ath_pci” - Close the command window.
Even with this fix, suspend to RAM does not work reliabily. It appears to hang 50% of the time during resume and appears to crash during resuming ALSA. Suspend to Disk appears to be working.
Turn off Pulse Audio to fix Resume from suspend to RAM
By default, Pulse Audio is turned on. When it is turned on, resume often failed when reloading ALSA. You can see this when you check the logs in /var/log/pm-suspend.log and /var/log/messages. To correct the problem, do the following
- Select menu Tools->System Tools->Configure Your Computer. Enter the root password.
- Click on Hardware.
- Click on Browse and Configure Hardware.
- Click on 82801G (ICH7 Family) High Definition Audio Controller under sound card.
- Click on Run Config Tool.
- Uncheck “Enable PulseAudio” and “Automatic routing from ALSA to PulseAudio” and press OK.
Synaptics Touchpad
The synaptic drivers appears to be detected and installed properly. However, unlike Ubuntu, I was unable to find a GUI interface for configuring the touchpad. In the end, I ended up configuring it manually in xorg.conf.
Setting the clock to local time instead of UTC
Normally, I like UTC better than local time. Unfortunately, if you plan to run windows as a guest under Virtualbox, you have to use local time or the clock under windows guest will be way off (apparently, even Vista still runs in local time). To set UTC, right-click on the clock and adjust the time. At some point, you will be ask if you want to use local or UTC.
Volume Control
When I first install the machine, it had no sound. I right click the volume control and selected Master Channel and select Master as the master volume. I then right-click again and select Show Mixer window and adjust the volume. This seemed to have corrected the problem with sound.
What’s nice about the implementation is when I plug in the headphone, the speakers are automatically muted. This is something that is common to Windows, but was rarely the case under Linux.
The hot key for muting the volume does not appear to work.
Video playback issue with Compiz
When you switch on Compiz, video playback always failed. When Totem, Kaffine, or VLC is use to playback a video, the program would crash immediately. The problem appears to be an incompatibility between Compiz and X Video extensions (XV). To correct the problem on players that rely on Gstreamer like Totem, you can do the following:
- Select “Run Command” from the menu and type “gstreamer-properties” without the quotes.
- Click on the Video tab.
- Select for the default output “X Window System (No Xv)” and press OK.
Now you can play back videos on Totem. The only problem is that with Xv acceleration off, video playback will require more cpu. However, the Celeron M520 should easily handled most movies. For Kaffeine, you can set the playback to not use XV by:
- Launch Kaffeine.
- Select menu Settings->Xine Engine Parameters,
- Click on Video.
- Set the video option to “xshm”.
- Press OK.
Remote Desktop
Most Linux distro these days come with a GUI RDesktop in their menu, which I use mainly to access windows machines on my network. Mandriva for some reason does not include a GUI version of RDesktop in their menu item, but it exists. It is call rfbdrake. To run it, execute rfbdrake from the run menu item or from the command line.
Setting up RAR
I often get files in the RAR format, but rar is apparently not in the regular repository. You can find rar in PLF repository. To setup this repository, open up a browser and go to go to http://easyurpmi.zarb.org/. Follow the instructions to add the PLF repository. Once it is added, you can find rar and install it.
Battery Life
A quick test indicated that battery life under Mandriva (with 3D turned off) is about 10-15 mins better than under Vista Basic. In my experience, this is often not the case. Windows typically have better battery life (probably due to better power management in their drivers). This is an unexpected bonus.
Update Dependency Problems
Mandriva automatically check for updates. During one of the updates, I got the following error:
Sorry, the following packages can't be selected: - kdebase-common-3.5.9-37.2mdv2008.1.i586 (due to unsatisfied libkdebase4[*][== 1:3.5.9-37.2mdv2008.1]) - kdebase-kdeprintfax-3.5.9-37.2mdv2008.1.i586 - kdebase-kdm-3.5.9-37.2mdv2008.1.i586 (due to unsatisfied liblazy.so.1) - kdebase-nsplugins-3.5.9-37.2mdv2008.1.i586 (due to unsatisfied kdebase-progs[== 1:3.5.9-37.2mdv2008.1]) - kdebase-progs-3.5.9-37.2mdv2008.1.i586 (due to unsatisfied libkdebase4[== 1:3.5.9-37.2mdv2008.1]) - libkdebase4-3.5.9-37.2mdv2008.1.i586 (due to unsatisfied libbeagle.so.1)
I was unable to make the problem go away. However, I find the problem only affects the graphical update. If I go to the command line and do the following:
urpmi -- auto-update
The update managed to figure out the dependencies.
Accessing Windows Share
Mandriva Linux Control Center has an icon to access Window SMB shared drives, but it does not work. There are two problems:
- Firewall block windows access.
- Access SMB in Mandriva Linux Control Center does not work.
To open up the firewall, do the following:
- Select Configure Your Computer. Enter the password for root.
- Click on Security.
- Click on Setup your firewall.
- Check Windows File Sharing (SMB). Press OK.
- Uncheck “Windows File Sharing (SMB)l” from the watch list, or you’ll be constantly pestered about port 137 and 138 being used. Press OK.
- Check both wireless and wire to be protected by firewall. Press OK.
Since Mandriva Linux Control Center did not work, we should use a different SMB client to access your Windows Shared directory. The best SMB client is smb4k.
- Select Configure Your Computer. Enter the password for root.
- Click on Software Management.
- Click on Install and Remove Software.
- Search for smb4k
- Check smb4k and press Apply.
Once smb4k is installed, you can select it from Menu->Internet->smb4k. Just remember the set your permission at the window server side correctly.
However, I notice that I am still unable to access Vista shared volumes.
NTFS access
Surprisingly, Mandriva does not come with NTFS support installed. If you plug in an USB external drive formatted in NTFS, it’s going to complaint that your volume is corrupted. To install NTFS support, do the following:
- Select Configure Your Computer. Enter the password for root.
- Click on Software Management.
- Click on Install and Remove Software.
- Search for NTFS-3g
- Check NTFS-3g and press Apply.
7 comments May 14, 2008
Installing MonoDevelop 1.0 on Suse 10.3
MonoDevelop 1.0 has finally been release on March 14, 2008. I figured that I’ll install the MonoDevelop since I like an IDE that will do stuff like autocomplete and because Yast should also include all of the dependent components.
I have heard of numerous problems with installing MonoDevelop on linux distros because a package were not available. I was expecting Novell to make certain that MonoDevelop would install smoothly on Suse 10.3. While installation were far easier on Suse than on other distros, it still was not trouble-free.
The following are instructions on how to install MonoDevelop 1.0 on Suse 10.3. Note that I was installing on a virtual machine, but installation for a real machine should be exactly the same.
Adding the Mono Repository
The first step is to add the Mono distro to Yast, so that the package will appear in the package selector.
- In Suse 10.3, launch Yast. You will be prompted to enter the root password. Enter the password and press OK.
- Click on Software Repositories in Yast. Click on the Add button. Select the option “Specify URL” and press Next. Enter the name of the repository of “Mono Repository” and the URL to “http://www.go-mono.com/download-stable/suse-103-i586″ and the press Next.
- Press Finish. You will be prompted to sign with untrusted public key. Press Trust and Import key. The Software Repository window will close.
Installing MonoDevelop
Now that the Mono repository has been added to Yast, we can install the MonoDevelop package. This is where the troubles begin. Gnome and Banshee both use an older version of Mono library that was installed by default by Suse. When you attempt to install a new version of Mono, Yast doesn’t like it because you are changing the packages that Gnome and Banshee depend on. The trick is to tell Yast to ignore the dependencies since the library should be backwards compatible (“should” but who knows).
- Click on the Software Management in Yast. This brings up package selector.

- Type “monodevelop” in the search. This brings up MonoDevelop on the left pane.
- Select Monodevelop and press Install. This move MonoDevelop to the right pane.
- Press the Accept button. A change summary window will displaying dependencies.
- Press the Confirm button. A resolve window appears, it will warned you that mono-nunit cannot be installed due to missing dependencies. The problem is that mono-nunit wants a later version of mono-core than the one installed by default by Suse 10.3.

- Click on “Install mono-core although it would change the vendor” and press confirm. You are changing vendors because you are now getting it from the go-mono.com instead of Novell. Now another resolve window pops up. This time it warns that gnome_multimedia, banshee-engine-gst, banshee, banshee-plugins-default, and banshee-plugins-DAAP has missing dependencies. This is because Banshee and gnome-multimedia uses mono-core and you are installing a new version of mono-core.

- Select “Ignore this requirement just here” for each conflict and press Confirm. Selecting the other option and you may find Banshee deleted!
Unfortunately, we are not home free, when I launch MonoDevelop and create a new project, I get the following error:
Exception occurred: Exception has been thrown by the target of an invocation.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.TypeInitializationException: An exception was thrown by the type initializer for MonoDevelop.SourceEditor.Gui.SourceEditorDisplayBinding —> System.DllNotFoundException: libgtksourceview-1.0.so.0
at (wrapper managed-to-native) GtkSourceView.SourceTagTable:gtk_source_tag_table_get_type ()
at GtkSourceView.SourceTagTable.get_GType () [0x00000]
at GtkSharp.GtksourceviewSharp.ObjectManager.Initialize () [0x00000]
at GtkSourceView.GtkSourceViewManager.Init () [0x00000]
at MonoDevelop.SourceEditor.Gui.SourceEditorDisplayBinding..cctor () [0x00000] — End of inner exception stack trace —at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[])
at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] — End of inner exception stack trace —at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x00000]
at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000]
at System.Activator.CreateInstance (System.Type type) [0x00000]
at Mono.Addins.TypeExtensionNode.CreateInstance () [0x00000]
at Mono.Addins.InstanceExtensionNode.GetInstance () [0x00000]
at MonoDevelop.Ide.Codons.DisplayBindingCodon.get_DisplayBinding () [0x00000]
at MonoDevelop.Ide.Gui.DisplayBindingService.GetCodonPerFileName (System.String filename) [0x00000]
at MonoDevelop.Ide.Gui.DisplayBindingService.GetBindingPerFileName (System.String filename) [0x00000]
at MonoDevelop.Ide.Gui.Workbench.RealOpenFile (System.Object openFileInfo) [0x00000]
at MonoDevelop.Ide.Gui.Workbench.OpenDocument (System.String fileName, Int32 line, Int32 column, Boolean bringToFront, System.String encoding, IDisplayBinding binding) [0x00000]
at MonoDevelop.Ide.Gui.Workbench.OpenDocument (System.String fileName, Int32 line, Int32 column, Boolean bringToFront) [0x00000]
at MonoDevelop.Ide.Gui.Workbench.OpenDocument (System.String fileName, Boolean bringToFront) [0x00000]
at MonoDevelop.Ide.Gui.Workbench.OpenDocument (System.String fileName) [0x00000]
at MonoDevelop.Ide.Templates.OpenFileAction.Run (MonoDevelop.Projects.ProjectCreateInformation projectCreateInformation) [0x00000]
at MonoDevelop.Ide.Templates.ProjectTemplate.OpenCreatedCombine () [0x00000]
at MonoDevelop.Ide.Gui.Dialogs.NewProjectDialog.OpenEvent (System.Object sender, System.EventArgs e) [0x00000]
at GLib.Signal.voidObjectCallback (IntPtr handle, IntPtr gch) [0x00000]
Fixing the dependency issue
A quick search through the google reveal this bug. What seemed to be happening is that an exception is thrown when MonoDevelop attempts to display your code using gtksourceview. Apparently, gtksourceview-2.0.0-5 can not be use in place of gtksourceview18-1.8.5-16. To fix this, do the following:
- Make sure you have the Suse Disc in the drive, since gtksourceview18 is on the disc. Launch Yast.
- Click on Software Management. This launches the Package Selector.
- Type in gtksourceview18.
- Select gtksourceview18 and press Install, and then accept.
- Click confirm on Change summary window.
- When prompted to install or remove more packages, press No.
With gtksourceview18 installed, Monodevelop seems to work now. Banshee still seems to work just fine. Hopefully, the next version of MonoDevelop will be less painful to install.
Problems with Help
When I select Help, I get the following error: “The help window can’t be shown. Monodoc v1.2.3 is not installed or could not be found.”. Apparently, Monodoc is not installed and it wasn’t obvious which package in Yast it was. After some experimentation, I discovered it was the package mono-tools.
- Launch Yast and select Software Management.
- Type in mono-tools in the search, select mono-tools and click install.
Additional Problems
Unfortunately, there are additional problems that still needs to be resolved:
- When I toggle the bookmark on my editor, I get the following exception:exception occurred: libglib-2.0.so
System.DllNotFoundException: libglib-2.0.so
at (wrapper managed-to-native) MonoDevelop.SourceEditor.Gui.SourceEditorBuffer:g_slist_free (intptr)
at MonoDevelop.SourceEditor.Gui.SourceEditorBuffer.ToggleMark (Int32 linenum, SourceMarkerType type) [0x00000]
at MonoDevelop.SourceEditor.Gui.SourceEditorBuffer.ToggleBookmark (Int32 linenum) [0x00000]
at MonoDevelop.SourceEditor.Gui.SourceEditorView.OnButtonPressEvent (Gdk.EventButton e) [0x00000]
at Gtk.Widget.buttonpressevent_cb (IntPtr widget, IntPtr evnt) [0x00000]
3 comments April 5, 2008
Turning off Auto-login in Suse 10.3
For some reason, my Suse 10.3 auto-login when I boot it up. I suspect that when I installed it, I wasn’t paying attention and auto-login is the default option. After playing around with different options I finally figured it out.
- Run Yast (or in this case Yast2).
- You will be prompted to enter the root password. Enter the password.
- Go to Security and User.
- Click on the User Management.
- Click on Expert Option and select Login Settings.
- Uncheck the auto login and press OK.
- Press Finish.
This should make auto-login go away.
Add comment February 19, 2008
Installing Damn Small Linux as VirtualBox guest
Damn small linux is a tiny Linux. Because it uses very little resource, it is ideal for a virtual machine.
Creating the Virtual Machne
- Create a virtual machine with 256 Mb of memory and 4 Gb of Disk space.
- Boot from the Damn Small Linux CD or Image.
- Open Apps and then Tools folder.
- Double-click on the Aterm window.
- Enter the command
sudo cfdisk /dev/hda. - Press Y when prompt if you want to start with a zero table. This loads the cfdisk.
- Press “N” to create a new partition.
- Press “P” to select Primary.
- Press Enter to use the default size.
- Press “T” to select the type.
- Enter “83″ as the file system type.
- Press “B” to set the partition as bootable.
- Use the arrow key to move to write and press OK.
- When asked if you want to destroy data, press “yes” and then OK.
- Press Quit to exit the application.
- Enter the command
sudo dsl-hdinstall. - When prompted to enter target partition, enter “hda1″ and press OK.
- When asked if you want to install with multi-user login. Type “y” and press OK.
- When prompted if you want to journal file system. Type “y” and press OK.
- When prompted for last chance. Type “y” and press OK.
- When prompted to install a boot loader, type “y” and press OK.
- When prompted for Grub or Lilo, type “g” and press OK.
- When prompted to reboot, type “y” and press OK.
- Unmount the DSL CD.
- After reboot, you will be asked to enter a password for root and dsl.
- select the XVesa video option.
- Select No for USB mouse.
- Select Yes for IMP/s mouse.
- Select your screen resolution and depth.
- Select No for dpi option.
- Select your keyboard options.
Installing the Guest Additions
Damn Small Linux uses a repository call MyDSL. I tried installing gcc1-with-libs.dsl and the kernelsource.dsl from mydsl. Unfortunately, the kernel source from the mydsl is a bit old.
To install, I would have to download the kernel for 4.0, then patch it with Knoppix patch. While this is not difficult, it’s rather too much work for getting guest additions to work.
14 comments November 22, 2007