Eu tenho tentado fazer com que o scribus funcione na minha nova instalação do gentoo 12.1 (amd64, XFCE, qt 4.8.2), mas quando rodando como um usuário comum o programa não inicia. Graças a sugestões e testes extras abaixo, eu reduzi a isso a um problema com o .ICEauthority, quando eu movo o arquivo (ou inicio o Scribus como root, o sho não tem o arquivo) ele carrega perfeitamente. O arquivo é criado no login automaticamente, portanto, removê-lo não é uma opção.
Eu tentei esses ebuilds, com o mesmo resultado:
- Amd64 estável (1.4.0-r2)
- Instável amd64 (1.4.1)
- Estável i386 (1.4.0-r2)
Alguns resultados de strace, eu misturei strace -open e full output no primeiro.
Como usuário:
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/xxx/.ICEauthority", O_RDONLY) = 8
open("/home/xxx/.ICEauthority", O_RDONLY) = 8
open("/home/xxx/.ICEauthority", O_RDONLY) = 8
open("/home/xxx/.ICEauthority", O_RDONLY) = 8
open("/home/xxx/.scribus//prefs140.xml", O_RDONLY|O_CLOEXEC) = 8
open("/usr/share/scribus/translations/scribus.en_GB.qm", O_RDONLY|O_CLOEXEC) = 8
open("/etc/nsswitch.conf", O_RDONLY) = 8
open("/etc/ld.so.cache", O_RDONLY) = 8
open("/lib64/libnss_compat.so.2", O_RDONLY) = 8
open("/lib64/libnsl.so.1", O_RDONLY) = 8
open("/etc/ld.so.cache", O_RDONLY) = 8
open("/lib64/libnss_nis.so.2", O_RDONLY) = 8
open("/lib64/libnss_files.so.2", O_RDONLY) = 8
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 8
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 8
fcntl(8, F_GETFD) = 0x1 (flags FD_CLOEXEC)
lseek(8, 0, SEEK_CUR) = 0
fstat(8, {st_mode=S_IFREG|0644, st_size=1129, ...}) = 0
mmap(NULL, 1129, PROT_READ, MAP_SHARED, 8, 0) = 0x7f748c6bd000
lseek(8, 1129, SEEK_SET) = 1129
munmap(0x7f748c6bd000, 1129) = 0
close(8) = 0
write(7, "\fopen("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
open("/root/.scribus//prefs140.xml", O_RDONLY|O_CLOEXEC) = 7
open("/usr/share/scribus/translations/scribus.en_GB.qm", O_RDONLY|O_CLOEXEC) = 7
open("/usr/share/scribus/icons/Splash.png", O_RDONLY|O_CLOEXEC) = 7
open("/etc/qt4/Trolltech.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/qt4/plugins/imageformats", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 8
open("/usr/lib64/qt4/plugins/imageformats/libqgif.so", O_RDONLY) = 8
open("/usr/lib64/qt4/plugins/imageformats/libqico.so", O_RDONLY) = 8
open("/usr/lib64/qt4/plugins/imageformats/libqjpeg.so", O_RDONLY) = 8
open("/usr/lib64/qt4/plugins/imageformats/libqmng.so", O_RDONLY) = 8
open("/etc/ld.so.cache", O_RDONLY) = 8
open("/usr/lib64/libmng.so.1", O_RDONLY) = 8
open("/usr/lib64/liblcms.so.1", O_RDONLY) = 8
open("/usr/lib64/qt4/plugins/imageformats/libqtiff.so", O_RDONLY) = 8
(gdb) run
Starting program: /usr/bin/scribus
[Thread debugging using libthread_db enabled]
Program received signal SIGSEGV, Segmentation fault.
0x0000000000e932c8 in typeinfo name for ScribusQApp ()
(gdb) backtrace
#0 0x0000000000e932c8 in typeinfo name for ScribusQApp ()
#1 0x00007ffff70c94bf in ?? () from /usr/lib64/qt4/libQtGui.so.4
#2 0x00007ffff70c9789 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#3 0x00007ffff278b11e in _SmcProcessMessage () from /usr/lib64/libSM.so.6
#4 0x00007ffff257a9c3 in IceProcessMessages () from /usr/lib64/libICE.so.6
#5 0x00007ffff65b7de3 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#6 0x00007ffff660338e in QSocketNotifier::activated(int) () from /usr/lib64/qt4/libQtCore.so.4
#7 0x00007ffff65bfaab in QSocketNotifier::event(QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#8 0x00007ffff704c8b4 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib64/qt4/libQtGui.so.4
#9 0x00007ffff705136f in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#10 0x00007ffff65a33ab in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib64/qt4/libQtCore.so.4
#11 0x00007ffff65d0c18 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#12 0x00007ffff29d6672 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#13 0x00007ffff29d6e68 in ?? () from /usr/lib64/libglib-2.0.so.0
#14 0x00007ffff29d7041 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#15 0x00007ffff65d12bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#16 0x00007ffff70edc7e in ?? () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007ffff65a722f in QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#18 0x0000000000c26285 in ScribusQApp::init() ()
#19 0x0000000000e04250 in mainApp(int, char**) ()
#20 0x0000000000e041f8 in main ()
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/xxx/.ICEauthority", O_RDONLY) = 8
open("/home/xxx/.ICEauthority", O_RDONLY) = 8
open("/home/xxx/.ICEauthority", O_RDONLY) = 8
open("/home/xxx/.ICEauthority", O_RDONLY) = 8
open("/home/xxx/.scribus//prefs140.xml", O_RDONLY|O_CLOEXEC) = 8
open("/usr/share/scribus/translations/scribus.en_GB.qm", O_RDONLY|O_CLOEXEC) = 8
open("/etc/nsswitch.conf", O_RDONLY) = 8
open("/etc/ld.so.cache", O_RDONLY) = 8
open("/lib64/libnss_compat.so.2", O_RDONLY) = 8
open("/lib64/libnsl.so.1", O_RDONLY) = 8
open("/etc/ld.so.cache", O_RDONLY) = 8
open("/lib64/libnss_nis.so.2", O_RDONLY) = 8
open("/lib64/libnss_files.so.2", O_RDONLY) = 8
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 8
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 8
fcntl(8, F_GETFD) = 0x1 (flags FD_CLOEXEC)
lseek(8, 0, SEEK_CUR) = 0
fstat(8, {st_mode=S_IFREG|0644, st_size=1129, ...}) = 0
mmap(NULL, 1129, PROT_READ, MAP_SHARED, 8, 0) = 0x7f748c6bd000
lseek(8, 1129, SEEK_SET) = 1129
munmap(0x7f748c6bd000, 1129) = 0
close(8) = 0
write(7, "\fopen("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
open("/root/.scribus//prefs140.xml", O_RDONLY|O_CLOEXEC) = 7
open("/usr/share/scribus/translations/scribus.en_GB.qm", O_RDONLY|O_CLOEXEC) = 7
open("/usr/share/scribus/icons/Splash.png", O_RDONLY|O_CLOEXEC) = 7
open("/etc/qt4/Trolltech.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/qt4/plugins/imageformats", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 8
open("/usr/lib64/qt4/plugins/imageformats/libqgif.so", O_RDONLY) = 8
open("/usr/lib64/qt4/plugins/imageformats/libqico.so", O_RDONLY) = 8
open("/usr/lib64/qt4/plugins/imageformats/libqjpeg.so", O_RDONLY) = 8
open("/usr/lib64/qt4/plugins/imageformats/libqmng.so", O_RDONLY) = 8
open("/etc/ld.so.cache", O_RDONLY) = 8
open("/usr/lib64/libmng.so.1", O_RDONLY) = 8
open("/usr/lib64/liblcms.so.1", O_RDONLY) = 8
open("/usr/lib64/qt4/plugins/imageformats/libqtiff.so", O_RDONLY) = 8
(gdb) run
Starting program: /usr/bin/scribus
[Thread debugging using libthread_db enabled]
Program received signal SIGSEGV, Segmentation fault.
0x0000000000e932c8 in typeinfo name for ScribusQApp ()
(gdb) backtrace
#0 0x0000000000e932c8 in typeinfo name for ScribusQApp ()
#1 0x00007ffff70c94bf in ?? () from /usr/lib64/qt4/libQtGui.so.4
#2 0x00007ffff70c9789 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#3 0x00007ffff278b11e in _SmcProcessMessage () from /usr/lib64/libSM.so.6
#4 0x00007ffff257a9c3 in IceProcessMessages () from /usr/lib64/libICE.so.6
#5 0x00007ffff65b7de3 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#6 0x00007ffff660338e in QSocketNotifier::activated(int) () from /usr/lib64/qt4/libQtCore.so.4
#7 0x00007ffff65bfaab in QSocketNotifier::event(QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#8 0x00007ffff704c8b4 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib64/qt4/libQtGui.so.4
#9 0x00007ffff705136f in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#10 0x00007ffff65a33ab in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib64/qt4/libQtCore.so.4
#11 0x00007ffff65d0c18 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#12 0x00007ffff29d6672 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#13 0x00007ffff29d6e68 in ?? () from /usr/lib64/libglib-2.0.so.0
#14 0x00007ffff29d7041 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#15 0x00007ffff65d12bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#16 0x00007ffff70edc7e in ?? () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007ffff65a722f in QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#18 0x0000000000c26285 in ScribusQApp::init() ()
#19 0x0000000000e04250 in mainApp(int, char**) ()
#20 0x0000000000e041f8 in main ()
%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%UserID%pre%%pre%%pre%%pre%%pre%%pre%"..., 64) = 64
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7070415173} ---
rt_sigaction(SIGALRM, {SIG_DFL, [ALRM], SA_RESTORER|SA_RESTART, 0x7f7488617bc0}, {SIG_DFL, [], 0}, 8) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f748c6bd000
write(1, "Scribus Crash\n", 14) = 14
write(1, "-------------\n", 14) = 14
write(1, "Scribus crashes due to Signal #1"..., 34) = 34
%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%UserID%pre%%pre%%pre%%pre%%pre%%pre%"..., 64) = 64
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7070415173} ---
rt_sigaction(SIGALRM, {SIG_DFL, [ALRM], SA_RESTORER|SA_RESTART, 0x7f7488617bc0}, {SIG_DFL, [], 0}, 8) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f748c6bd000
write(1, "Scribus Crash\n", 14) = 14
write(1, "-------------\n", 14) = 14
write(1, "Scribus crashes due to Signal #1"..., 34) = 34
Como root (mesmo primeiro arquivo, diferente depois):
%pre%
Eu o executei através do gdb (depois de compilar sem -O2):
%pre%
Normalmente, sempre encontro soluções para um problema on-line, por isso não estou acostumado a arquivar relatórios de bugs. No entanto, não consigo encontrar nenhum caso com este problema desta vez.
Então, onde devo ir a partir daqui - arquivar um relatório de bug com scribus?
Eles precisariam de alguma informação adicional da fornecida aqui?
Qualquer conselho seria muito apreciado.
Tudo de bom e obrigado pelo seu tempo.