Summary: | net-misc/nx-3.2.0-r2 - nxagent fails with "no core keyboard" on amd64/gcc-4.3 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Andrej Filipcic <andrej.filipcic> |
Component: | [OLD] Unspecified | Assignee: | Gentoo NX Server project <nx> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
URL: | http://mail.kde.org/pipermail/freenx-knx/2008-July/007164.html | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 198121 |
Description
Andrej Filipcic
2008-07-06 11:01:08 UTC
Maybe you should configure the core keyboard... Is there any reason you provided a version number in the Summary (other than perhaps to be generally informative)? Well, as I said, nxagent from net-misc/nx-3.2.0-r2 does not work. Every previous version did, up to net-misc/nx-3.2.0-r1. The trouble is that every nx session terminates due to nxagent failure when nxclient is trying to open a session window. Of course, -r2 was compiled with gcc-3.4.1 and some newer libs, but I hardly imagine this to be a problem. stracing nxagent shows the error is reported when reading /tmp/.X11-unix/X0. The xorg.conf has everything there. Thank you for the info! Confirmed on the freenx mailing list, thanks for the investigation! I'll look into it Correction, it looks like gcc-4.3 is the culprit: re-emerging nx-3.2.0-r2 with gcc-4.2 produced a working nxagent I can confirm the same. With gcc-4.2.4 it works. (In reply to comment #5) > Correction, it looks like gcc-4.3 is the culprit: re-emerging nx-3.2.0-r2 with > gcc-4.2 produced a working nxagent > (In reply to comment #5) > Correction, it looks like gcc-4.3 is the culprit: re-emerging nx-3.2.0-r2 with > gcc-4.2 produced a working nxagent > Hello, I'm developer of X2Go(www.x2go.org). We using nxlibs for ouer project. Error is in file programs/Xserver/hw/nxagent/Keyboard.c in function int nxagentKeyboardProc(DeviceIntPtr pDev, int onoff) 438: #ifdef _XSERVER64 439: { 440: KeySym64 *keymap64; 441: int i, len; 442: keymap64 = XGetKeyboardMapping(nxagentDisplay, 443: min_keycode, 444: max_keycode - min_keycode + 1, 445: &mapWidth); 446: 447: if (keymap == NULL) 448: { 449: XFreeModifiermap(modifier_keymap); 450: 451: return -1; 452: } 453: 454: len = (max_keycode - min_keycode + 1) * mapWidth; 455: keymap = (KeySym *)xalloc(len * sizeof(KeySym)); 456: for(i = 0; i < len; ++i) 457: keymap[i] = keymap64[i]; 458: XFree(keymap64); 459: } 460: 461: #else /* #ifdef _XSERVER64 */ line 447: if (keymap == NULL) //keymap not initialized yet at this line schould be if (keymap64 == NULL) That's code explane why nxagent not work only on 64bit systems and only if assemblied with new gcc I hope it can help you ;) Have a nice day and sorry for bad english Oleksandr Shneyder AKA nCryer Thanks a lot, I've tested it and it's working! I'll apply the patch soon Fixed in nx-3.2.0-r3 in CVS, thanks! |