# [RISOLTO] Possibili errore di permesso? wine - quake4

## orener

Ciao, anche se è da anni che uso gentoo non ho mai scritto in un forum perchè ho sempre trovato una soluzione seguendo i vostri suggerimenti, grazie di cuore. Ma questa volta non trovo soluzione forse perchè pongo male la domanda di ricerca rapida.

Il problema è il seguente:

        solo l'utente root riesce a giocare a quake4 ed a utilizzare wine per far partire i programmi senza problemi.

Un utente ''normale'' avviando quake4 ottiene (in breve)

```

.

.

found DLL in pak file: /opt/quake4/q4base/game100.pk4/gamex86.so

   copy gamex86.so to /home/orener/.quake4/q4base/gamex86.so

   dlopen '/home/orener/.quake4/q4base/gamex86.so' failed: /home/orener/.quake4/q4base/gamex86.so: failed to map segment from shared object: Operation not permitted

   TODO: Sys_SetClipboardData

   ********************

   ERROR: couldn't load game dynamic library

   ********************

   Sys_Error: Error during initialization

```

Per quanto riguarda wine posso riportare diversi esempi se lo ritenete utili, o forse i due problemi non sono neanche fratelli   :Confused: 

Per completezza aggiungo che gli utenti ''normali'' riescono a far partire nwn senza problema e hanno i seguenti id

```

 groups=10(wheel),11(floppy),18(audio),19(cdrom),27(video),35(games),80(cdrw),85(usb),100(users)
```

Grazie, ciao  :Smile: Last edited by orener on Tue Feb 13, 2007 4:58 pm; edited 2 times in total

----------

## randomaze

 *orener wrote:*   

> 
> 
> ```
> 
> found DLL in pak file: /opt/quake4/q4base/game100.pk4/gamex86.so
> ...

 

Cosa dicono i comandi:

```
ls -l opt/quake4/q4base/game100.pk4/gamex86.so
```

e 

```
ls -l /home/orener/.quake4/q4base/gamex86.so
```

----------

## orener

```

ls -l opt/quake4/q4base/game100.pk4/gamex86.so

ls: cannot access opt/quake4/q4base/game100.pk4/gamex86.so: No such file or directory

```

e

```

ls -l /home/orener/.quake4/q4base/gamex86.so

rw-r--r-- 1 orener orener 5832956 Feb 11 17:35 /home/orener/.quake4/q4base/gamex86.so

```

----------

## randomaze

Per quanto riguarda il secondo 'ls' (quello che da problemi da utente) il problema potrebbe essere la mancanza del permesso di esecuzione (-x).

Per il primo... prova ad aggiungere un '/' davanti (oppure lo avevi aggiunto ma hai sbagliato copiando nel forum?)

----------

## orener

ho cambiato i permessi

```

ls -l ~/.quake4/q4base/gamex86.so

-rwxr-xr-x 1 orener orener 5.6M Feb 11 19:58 .quake4/q4base/gamex86.so*

```

niente, come prima.

per quanto riguarda quello sbagliato ti confermo

```

ls -l /opt/quake4/q4base/game100.pk4/gamex86.so

ls: cannot access /opt/quake4/q4base/game100.pk4/gamex86.so: Not a directory

```

scusa se dico una cavolata, ma credo che il file gamex86.so sia ''compresso'' all'interno di game100.pk4 perchè non esiste in /opt/quake4/q4base/     :Confused: 

i permessi nella dir /root sono

```

ls -l /root/.quake4/q4base/gamex86.so

-rw-r--r-- 1 root root 5.6M Feb  9 18:14 .quake4/q4base/gamex86.so

```

----------

## randomaze

 *orener wrote:*   

> scusa se dico una cavolata, ma credo che il file gamex86.so sia ''compresso'' all'interno di game100.pk4 perchè non esiste in /opt/quake4/q4base/     

 

Si, se non esiste probabilmente viene estratto a runtime. 

Dopo che hai cambiato i permessi nel file nella tua home e hai constatato che tutto è come prima, hai controllato all'uscita se i permessi sono ritornati quelli di prima o sono rimasto quelli che hai cambiato tu?

----------

## orener

sono rimasti quelli che avevo cambiato io (cioè +x) e continua con lo stesso errore già riportato prima

----------

## comio

 *orener wrote:*   

> sono rimasti quelli che avevo cambiato io (cioè +x) e continua con lo stesso errore già riportato prima

 

la butto: magari non riesce a creare le sottodirectory in /opt/...

Prova a modificare il proprietario della directory con il tuo (chown -R tuoutente:tuogrupp) e riprova.

Annotati il proprietatrio originale.

Potrebbe anche bastare cambiare il gruppo della directory con "game" (invece di root).

ciao.

luigi

----------

## orener

 *Quote:*   

> 
> 
> la butto: magari non riesce a creare le sottodirectory in /opt/...
> 
> 

 

Visto che nwn funziona e c'è differenza tra le due dir prova la tua soluzione ....

Prima della modifica

```

drwxrwx--- 23 root   games  1.3K Feb  9 19:02 nwn/

drwxr-x---  4 root   games   480 Jan 28 20:16 quake4/

```

Dopo la modifica chmod -R g+w /opt/quake4/

```

drwxrwx--- 23 root   games  1.3K Feb  9 19:02 nwn/

drwxrwx---  4 root   games   480 Jan 28 20:16 quake4/

```

niente.

Soluzione disperata  :Smile: 

```

chmod -R a+rwx /opt/quake4/

```

niente.

Ulteriore prova critica

Prima

```

drwxr-xr-x  13 root root  392 Jan 28 20:16 opt/

```

Dopo

```

drwxrwxrwx  13 root root  392 Jan 28 20:16 opt/

```

come sopra.

Ora ho riportato tutto come prima tranne il primo passaggio.

Ora straparlo, ma visto che anche i programmi con wine funzionano solo come root, non ritenete che ci possa essere un legame?

----------

## comio

allora, probabilmente wine vuole scrivere da qualche parte... ma dove?

ciao

----------

## orener

 *comio wrote:*   

> allora, probabilmente wine vuole scrivere da qualche parte... ma dove?
> 
> ciao

 

Vado con un'altra cavolata   :Smile: 

Forse non ho precisato che ho una architettura a 64bit "è forse possibile che solo root riesce a usare le lib32 ? "

questo è un estratto di un prova con wine con utente non root

```

wine: Unhandled page fault on execute access to 0x10020aed at address 0x10020aed (thread 000b), starting debugger...

Unhandled exception: page fault on execute access to 0x10020aed in 32-bit code (0x10020aed).

```

lo stesso programma con le stesse winecfg funzione con utente root

----------

## Scen

Ma stai provando ad utilizzare la versione Windows di Quake4 tramite Wine?  :Razz: 

Guarda che c'è anche la versione nativa x Linux, e funziona DADDIO  :Wink: 

```

* games-fps/quake4-bin

     Available versions:  1.3.2

     Homepage:            http://www.quake4game.com/

     Description:         Sequel to Quake 2, an id Software 3D first-person shooter

```

----------

## orener

 *Scen wrote:*   

> Ma stai provando ad utilizzare la versione Windows di Quake4 tramite Wine? 
> 
> [/code]

 

No, uso la versione nativa per Linux ma come già detto funziona solo da utente root  :Sad: 

Ho aggiunto l'esempio di wine perchè pensavo che le due cose fossero collegate, ti riporto un esempio ma così potrei fare per molti altri programmi utilizzando wine:

non vorrei fare publicità ma ho comprato un ciclo computer dove danno un programma per scaricare e tenere sotto controllo gli alenamenti fatti, se installo il programma come utente normale con wine mi si blocca dando sempre l'errore già riportato tipo "page fault on execute access to 0x10020aed in 32-bit code (0x10020aed)" come utente root funziona.

Allora mi sono chiesto se c'è qualche restrizione che non riesco a togliere su accessi in memoria o utilizzo di librerie a 32bit.

Grazie, ciao.

----------

## Scen

Cosa ti riporta

```

$ ldd -v ~/.quake4/q4base/gamex86.so

```

?

Siccome sei su AMD64, per completezza, posta l'output di

```

emerge --info

```

Per curiosità: se puoi, prova ad installare quake4-demo, e vedi se ti funziona o se ti dà gli stessi errori!

----------

## orener

 *Scen wrote:*   

> Cosa ti riporta
> 
> ```
> 
> $ ldd -v ~/.quake4/q4base/gamex86.so
> ...

 

come utente no root

```

ldd -v ~/.quake4/q4base/gamex86.so

ldd: warning: you do not have execution permission for `/home/orener/.quake4/q4base/gamex86.so'

        not a dynamic executable

```

come utente root 

```

ldd -v /root/.quake4/q4base/gamex86.so

ldd: warning: you do not have execution permission for `/root/.quake4/q4base/gamex86.so'

        linux-gate.so.1 =>  (0xffffe000)

        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/32/libstdc++.so.6 (0xf71f3000)

        libm.so.6 => /lib32/libm.so.6 (0xf71cd000)

        libgcc_s.so.1 => /lib32/libgcc_s.so.1 (0xf71c2000)

        libc.so.6 => /lib32/libc.so.6 (0xf709b000)

        /lib/ld-linux.so.2 (0x56555000)

        Version information:

        /root/.quake4/q4base/gamex86.so:

                libgcc_s.so.1 (GCC_3.0) => /lib32/libgcc_s.so.1

                libc.so.6 (GLIBC_2.1.3) => /lib32/libc.so.6

                libc.so.6 (GLIBC_2.0) => /lib32/libc.so.6

                libm.so.6 (GLIBC_2.0) => /lib32/libm.so.6

                libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/32/libstdc++.so.6

                libstdc++.so.6 (CXXABI_1.3) => /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/32/libstdc++.so.6

        /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/32/libstdc++.so.6:

                ld-linux.so.2 (GLIBC_2.3) => /lib/ld-linux.so.2

                libc.so.6 (GLIBC_2.1.3) => /lib32/libc.so.6

                libc.so.6 (GLIBC_2.2) => /lib32/libc.so.6

                libc.so.6 (GLIBC_2.3) => /lib32/libc.so.6

                libc.so.6 (GLIBC_2.0) => /lib32/libc.so.6

                libc.so.6 (GLIBC_2.1) => /lib32/libc.so.6

                libgcc_s.so.1 (GCC_3.3) => /lib32/libgcc_s.so.1

                libgcc_s.so.1 (GCC_3.0) => /lib32/libgcc_s.so.1

                libgcc_s.so.1 (GLIBC_2.0) => /lib32/libgcc_s.so.1

        /lib32/libm.so.6:

                ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2

                libc.so.6 (GLIBC_2.1.3) => /lib32/libc.so.6

                libc.so.6 (GLIBC_2.0) => /lib32/libc.so.6

        /lib32/libgcc_s.so.1:

                libc.so.6 (GLIBC_2.2.4) => /lib32/libc.so.6

                libc.so.6 (GLIBC_2.1.3) => /lib32/libc.so.6

                libc.so.6 (GLIBC_2.0) => /lib32/libc.so.6

        /lib32/libc.so.6:

                ld-linux.so.2 (GLIBC_2.1) => /lib/ld-linux.so.2

                ld-linux.so.2 (GLIBC_2.3) => /lib/ld-linux.so.2

                ld-linux.so.2 (GLIBC_PRIVATE) => /lib/ld-linux.so.2

```

 *Scen wrote:*   

> 
> 
> Siccome sei su AMD64, per completezza, posta l'output di
> 
> ```
> ...

 

```

Portage 2.1.2-r9 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.20-rc5 x86_64)

=================================================================

System uname: 2.6.20-rc5 x86_64 Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz

Gentoo Base System release 1.12.8

Timestamp of tree: Mon, 12 Feb 2007 17:20:01 +0000

distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]

ccache version 2.4 [enabled]

dev-java/java-config: 1.3.7, 2.0.31

dev-lang/python:     2.4.3-r4

dev-python/pycrypto: 2.0.1-r5

dev-util/ccache:     2.4-r6

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.14

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r1

ACCEPT_KEYWORDS="amd64"

AUTOCLEAN="yes"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-O2 -fomit-frame-pointer -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-O2 -fomit-frame-pointer -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="http://gentoo.ngi.it/ http://gentoo.osuosl.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"

LINGUAS="it"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/portage/local/layman/xeffects"

SYNC="rsync://rsync1.it.gentoo.org/gentoo-portage"

USE="X aiglx alsa amd64 audiofile berkdb bitmap-fonts bluetooth cairo cdparanoia cli cracklib crypt cups directfb dlloader dri dts dvd dvdr encode ffmpeg firefox fortran gdbm gif glitz gpm gtk gtk2 iconv ipod isdnlog java jpeg kde lame libg++ lm_sensors logitech-mouse midi mp3 mpeg mplayer ncurses nls nptl nptlonly nsplugin nvidia offensive ogg opengl oss pam pcre pdf perl png ppds pppd python qt3 quicktime readline reflection sensord session sound spell spl ssl tcpd tiff truetype-fonts type1-fonts unicode v4l v4l2 vcd vorbis xine xml xorg zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it" USERLAND="GNU" VIDEO_CARDS="nvidia"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS

```

 *Scen wrote:*   

> 
> 
> Per curiosità: se puoi, prova ad installare quake4-demo, e vedi se ti funziona o se ti dà gli stessi errori!
> 
> 

 

Ho provato come hai detto è ho ottenuto lo stesso errore che in breve riporto per completezza

```

found DLL in pak file: /opt/quake4-demo/q4base/game100.pk4/gamex86.so

copy gamex86.so to /home/orener/.quake4-demo/q4base/gamex86.so

dlopen '/home/orener/.quake4-demo/q4base/gamex86.so' failed: /home/orener/.quake4-demo/q4base/gamex86.so: failed to map segment from shared object: Operation not permitted

TODO: Sys_SetClipboardData

********************

ERROR: couldn't load game dynamic library

********************

Sys_Error: Error during initialization

```

Ciao e grazie.

----------

## Scen

 *orener wrote:*   

> come utente no root
> 
> ```
> 
> ldd -v ~/.quake4/q4base/gamex86.so
> ...

 

Ho come l'impressione che il sistema non riesca a caricare questa libreria, residente nella tua home directory.

Non è che hai montato /home con l'opzione noexec?

Inoltre, prova a sovrascrivere il gamex86.so della tua homedir con quello della home di root, e vedi se il problema si ripresenta!

----------

## orener

 *Scen wrote:*   

> 
> 
> Ho come l'impressione che il sistema non riesca a caricare questa libreria, residente nella tua home directory.
> 
> Non è che hai montato /home con l'opzione noexec?
> ...

 

Grande !!!

Prima

```

/dev/sdc4               /home           reiserfs        defaults,users     0 0

```

Dopo

```

/dev/sdc4               /home           reiserfs        defaults,users,exec     0 0

```

non ho più problemi ne con wine ne con quake4.

Grazie infinite, ciao.

----------

## Scen

Yeah  :Cool: 

Da man mount

```

users  Allow every user to mount and unmount the file system.  This  option  implies  the  options  noexec, nosuid,   and   nodev   (unless   overridden   by subsequent   options,  as  in  the  option  line users,exec,dev,suid).

```

Ti consiglio di rimuovere l'opzione users per la partizione /home, magari mettici solo  noatime per velocizzare un pò il tutto.

Aggiungi un [RISOLTO] al titolo del topic  :Wink: 

----------

