On Wed, 12 May 2004, Mike Hearn wrote:
The second problem is this:
(autosu-gtk:26246): Gdk-WARNING **: shmat failed: error 2 (Invalid argument) Xlib: connection to ":0.0" refused by server Xlib: No protocol specified
In other words, perhaps the reason we didn't set things up correctly is that autosu failed to start. Why? I don't know. The shmat error indicates some kind of problem with the X SHM Pixmaps extension, but I have no clue what might cause it to fail. Perhaps a permissions issue - is the user you ran the installer as able to connect to the X server normally?
thanks -mike
Hi Mike,
I played with autopackage again this afternoon, and got it to work! I ran into some problems (like the ones I mentioned earlier) but got them resolved. Here's a list of those problems and the things I did to work around them:
1. Run `xhost +` ================= By default my system was set up with xhost -, so that's why the Xlib errors were showing up. You can detect the current setting by running `xhost`. I'd recommend you add to your install script something that turns this on when the program is run, and restores to the original state when the script exits.
2. Permissions Problem ======================= After this, I ran the installer as root and it installed and ran fine - but only as user 'root'. As a regular user I couldn't execute Inkscape because autopackage had set it's permissions to 700. I have:
mercury:/home/bryce # umask 0077 mercury:/home/bryce # echo $umask 22
3. Download Loop ================= After the first time I successfully installed Inkscape with autopackage, I uninstalled it and tried installing again as a regular user to see if the permissions problem got resolved. But then I started getting a problem where it would download and install autopackage, then remove it and try installing again a second time, but the second time through it encountered this error:
.... Connecting to ftp.sunsite.dk[130.225.247.92]:80... connected. HTTP request sent, awaiting response... 416 Requested Range Not Satisfiable
Continued download failed on this file, which conflicts with `-c'. Refusing to truncate existing file `autopackage-0.5.1.tar.bz2'.
Download failed. ....
So then I manually downloaded the package and put in the current dir, and ran it again. This time it just continually looped, reinstalling and reinstalling the Autopackage GTK+ Graphical User Interface.
The console output included this:
.... (autopackage-frontend-gtk:29185): Gdk-WARNING **: shmat failed: error 2 (Invalid ar gument) The selected package is already installed, removing ... done /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 341: /share/autopackage/apkg-funclib: No such file or directory /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 343: out: command not found /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 344: out: command not found /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 346: out: command not found /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 347: out: command not found /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 348: out: command not found /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 351: isInList: command not found /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 352: updateEnv: command not found /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 353: out: command not found /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 354: out: command not found /dev/shm/autopackage.139723121/meta/@inkscape.org/inkscape:0.39cvs/apkg-downloader: line 355: out: command not found
The installation of this software requires some additional support code to be installed. ....
To work around this problem, I logged in as root and ran the package tool. This time it ran through to completion correctly, but as before the permissions were screwy. So I manually fixed them like this:
mercury:/home/bryce # chmod a+rx /usr/bin/inkscape mercury:/home/bryce # chmod a+rx /usr/lib/libgtkmm* mercury:/home/bryce # chmod a+rx /usr/lib/libgdkmm* mercury:/home/bryce # chmod a+rx /usr/lib/libatkmm* mercury:/home/bryce # chmod a+rx /usr/lib/libpangomm* mercury:/home/bryce # chmod a+rx /usr/lib/libglibmm* mercury:/home/bryce # find /usr/share/inkscape/ -type 'd' | xargs chmod a+rx mercury:/home/bryce # find /usr/share/inkscape -type 'f' | xargs chmod a+r mercury:/home/bryce # chmod -R a+rx /usr/lib/inkscape/
I'm not sure I got everything, but that was enough to get it to run and seem to work correctly. Although I did see this at the console:
{mercury} ~ (13): inkscape Warning: program compiled against libxml 206 using older 205 Deleting Extension: AI Input Deleting Extension: Dia Input Deleting Extension: Text Input Deleting Extension: EPSI Output
(inkscape:13289): Gdk-WARNING **: shmat failed: error 22 (Invalid argument) {mercury} ~ (14):
Anyway, pretty cool! I think once these kinks get worked out, this will become the preferred way of installing Inkscape on rpm-based systems. I'd just gone through doing an rpm-based install for a co-worker today, and it is *such* a pain... I showed her the autopackage install and she was quite taken by it.
Bryce