et-linux-2.60.x86.run: Error opening terminal


(ProudKraut) #1

Linux slave 3.2.0-4-686-pae #1 SMP Debian 3.2.53-2 i686 GNU/Linux

Trying to install Enemy Territory on a freshly installed Debian Wheezy I got the
following error (setup.sh is already extracted from et-linux-2.60.x86.run):

#v+
etded@slave ~/temp % ./setup.sh
The recommended install location (/usr/local/games) requires root permissions.
Please enter the root password or hit enter to continue install as current user.
Password:
su: Authentication failure
Running setup as user
Error opening terminal: screen.
#v-

On another Wheezy install, which is older and has more stuff installed, this
problem does not occur.

While trying to document this error this happened:

#v+
etded@slave ~/temp % script -t 2>./et-setup.sh-borked.time -a ./et-setup.sh-borked.script

etded@slave ~/temp % ./setup.sh
The recommended install location (/usr/local/games) requires root permissions.
Please enter the root password or hit enter to continue install as current user.
Password:
su: Authentication failure
Running setup as user
----====== Enemy Territory 2.60 installation program ======----

You are running a x86 machine with libc5
Hit Control-C anytime to cancel this installation program.
#v-

I straced the installer, but as I never used strace before and am not a
programmer, I’m not sure if I read it right.

#v+
27867 getcwd("/home/etded/temp", 4096) = 17
27867 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo …}) = 0
27867 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo …}) = 0
27867 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo …}) = 0
27867 ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo …}) = 0
27867 fstat64(2, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 14), …}) = 0
27867 readlink("/proc/self/fd/2", “/dev/pts/14”…, 4095) = 11
27867 stat64("/dev/pts/14", {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 14), …}) = 0

27867 open("/dev/pts/14", O_WRONLY) = -1 EACCES (Permission denied)

27867 open("/usr/lib/i386-linux-gnu/gconv/gconv-modules.cache", O_RDONLY) = 3
27867 fstat64(3, {st_mode=S_IFREG|0644, st_size=26064, …}) = 0
27867 mmap2(NULL, 26064, PROT_READ, MAP_SHARED, 3, 0) = 0xb76f5000
27867 close(3) = 0
27867 access("/home/etded/.terminfo/s/screen", R_OK) = -1 ENOENT (No such file or directory)
27867 access("/etc/terminfo/s/screen", R_OK) = -1 ENOENT (No such file or directory)
27867 access("/usr/share/terminfo/s/screen", R_OK) = -1 ENOENT (No such file or directory)
27867 write(2, "Error opening terminal: screen.
", 32) = 32
27867 exit_group(1) = ?
#v-

The call between the blank lines will return 3 if I run it after script or on
the older install:

#v+
27911 open("/dev/pts/19", O_WRONLY) = 3
1213 open("/dev/pts/11", O_WRONLY) = 3
#v=

#v+
etded@slave ~/temp % ls -l /dev/pts/19
crw–w---- 1 etded tty 136, 19 Jan 2 02:58 /dev/pts/19

etded@slave ~/temp % ls -l /dev/pts/14
crw------- 1 kt tty 136, 14 Jan 2 02:58 /dev/pts/14

kt@box ~/test/temp % ls -l /dev/pts/11
crw------- 1 kt tty 136, 11 Jan 2 03:47 /dev/pts/11
#v-

The 3 access calls return in all three cases -1.

The complete logs of strace can be found under
http://tipfehler.net/files/et.log
http://tipfehler.net/files/et.log.script
http://tipfehler.net/files/et.log.old_wheezy

I’m pretty clueless at the moment. but maybe someone with a better understanding
of the W:ET installer or Debian has an explanation.


(schnoog) #2

Maybe this one will work:; http://et-install.com/doku.php?id=wet-install-linux


(IRATA) #3

I think you are missing the screen package:

apt-get (or aptitude) install screen


(ProudKraut) #4

[QUOTE=IRATA;485999]I think you are missing the screen package:

apt-get (or aptitude) install screen[/QUOTE]

I’m not missing the screen package, I’m running the installer inside screen. If I run without screen it just states ‘Error opening terminal: xterm’. And if I run it outside X, it will state 'Error opening terminal: linux".
Also it makes no difference if I’m local or remote via ssh.

And I should have stated, my problem is not installing ET. As you can see in my first post I have another box where ET installs just fine, also I have a workaround using script.

I’m just wondering what causes this error message, so I maybe put up a HowTo, if this is a general reproducible problem.

What difference makes using script? Why I get permission denied when opening /dev/pts/ without script? Why don’t I get this error message on another install? Is it due to missing libs/packages?

Edit: rephrasing