x.org 7 and Opera
Tuesday, 2. May 2006, 15:59:31
When xorg 7 was introduced, so was a new file hierarchy for X. In essence, xorg 7 now installs in FHS paths and so keeps all its binaries in /usr/bin instead of in /usr/X11R6/bin. This change has posed some headaches for distribution maintainers and software developers alike, Opera included.
For example, debian has symlinked /usr/X11R6/bin to /usr/bin since some applications hardcode /usr/X11R6/bin to be the location of X libraries. This solution - which seems to be the way people around the world are solving it - in turn caused trouble for Opera.
When installing Opera, the deb and rpm packages will place a startup script in /usr/bin/opera, and for historical reasons, write a symlink /usr/X11R6/bin/opera that points to the script. You can see where that leads if you use xorg 7 with the symlink: the Opera installer will overwrite its own startup script - with a symlink! In other words, Opera will not start.
We solved this partly in this weekly, but simply checking if /usr/X11R6/bin is a symlink or not before writing to it. However, our overworked package maintainer made a small error in the symlink (if it is written), so now Opera will not start if you try to run /usr/X11/bin/opera (My KDE does this for example). The reason is that the symlink wrongly points to /bin/opera where is should point to /usr/bin/opera. Change this by executing, as root:

Please note that this will not happen again since we have decided not to write the symlink at all in the deb packages. Please tell us if this causes any trouble for you.
For example, debian has symlinked /usr/X11R6/bin to /usr/bin since some applications hardcode /usr/X11R6/bin to be the location of X libraries. This solution - which seems to be the way people around the world are solving it - in turn caused trouble for Opera.
When installing Opera, the deb and rpm packages will place a startup script in /usr/bin/opera, and for historical reasons, write a symlink /usr/X11R6/bin/opera that points to the script. You can see where that leads if you use xorg 7 with the symlink: the Opera installer will overwrite its own startup script - with a symlink! In other words, Opera will not start.
We solved this partly in this weekly, but simply checking if /usr/X11R6/bin is a symlink or not before writing to it. However, our overworked package maintainer made a small error in the symlink (if it is written), so now Opera will not start if you try to run /usr/X11/bin/opera (My KDE does this for example). The reason is that the symlink wrongly points to /bin/opera where is should point to /usr/bin/opera. Change this by executing, as root:
rm /usr/X11R6/bin/opera && ln -s /usr/bin/opera /usr/X11R6/bin/operaand you are fine
Please note that this will not happen again since we have decided not to write the symlink at all in the deb packages. Please tell us if this causes any trouble for you.














