Bug 446816

Summary: nx doesn't build for x86_64
Product: [Fedora] Fedora Reporter: Tim Fletcher <tim>
Component: nxAssignee: Axel Thimm <axel.thimm>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: bdm, dzrudy, eleaver, gjalves, gwync, jandrejkovic, jansen, spam2, surkum, thoger, woessner
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-09-16 23:20:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tim Fletcher 2008-05-16 09:50:20 UTC
Description of problem:

When installing freenx-server the following error is returned:

Error: Missing Dependency: /usr/lib64/nx is needed by package freenx-server

Version-Release number of selected component (if applicable):

freenx-server-0.7.2-8

How reproducible:

Install freenx package

Actual results:

Package fails to install

Expected results:

Package installed

Additional info:

Changing the line in the spec file from 

Requires: nx, %{_pkglibdir}

to 

Requires: nx

means the package builds, installs and works correctly

Comment 1 Jan Andrejkovic 2008-05-17 23:07:03 UTC
I have the same problem and I downloaded rpm manually and installed it manually 
with nodeps option:

# rpm -Uvh --nodeps freenx-server-0.7.2-8.fc9.x86_64.rpm
Preparing...                ########################################### [100%]
   1:freenx-server          ########################################### [100%]

But it is just a workaround, it is freenx-sever x64 package which needs to be 
fixed.

Comment 2 Reindl Harald 2008-05-18 12:41:24 UTC
Did you get it running or only installing
I have installed this way and it seems that the package "nx" simply is missing
in x86_64, there is only a i386 version which is installed

I restored my configuration from my old machine (i386)
Connect seems to be ok but then:
/usr/libexec/nx/nxagent: error while loading shared libraries: libXcomp.so.3:
cannot open shared object file: No such file or directory

[root@srv-rhsoft:/var/lib/nxserver/home/.ssh]$ locate libXcomp.so.3
/usr/NX/lib/libXcomp.so.3
/usr/NX/lib/libXcomp.so.3.2.0
/usr/lib/nx/libXcomp.so.3
/usr/lib/nx/libXcomp.so.3.2.0


Comment 3 Axel Thimm 2008-05-20 15:33:29 UTC
(In reply to comment #2)
 I have installed this way and it seems that the package "nx" simply is missing
> in x86_64, there is only a i386 version which is installed

Indeed, currently the x86_64 version will not build on F9/x86_64. Just for
reference here is the error:

> g++ -o libXcompshad.so.3.2.0 -Wl,-soname,libXcompshad.so.3 Core.o Input.o
Logger.o Shadow.o X11.o Win.o Updater.o Manager.o  -L../nx-X11/exports/lib 
-shared  -L/usr/X11R6/lib -lX11 -lXtst -lXrandr -lXdamage
> /usr/bin/ld: Core.o: relocation R_X86_64_32S against `vtable for CorePoller'
can not be used when making a shared object; recompile with -fPIC
> Core.o: could not read symbols: Bad value

But Core.o has been built with -fPIC, so the error's suggestion is useless:
> gcc -c  -g -ansi -Wall -Wpointer-arith -Wundef    -I../..
-I../../exports/include   -Dlinux -D__amd64__ -D_POSIX_C_SOURCE=199309L        
                      -D_POSIX_SOURCE -D_XOPEN_SOURCE                          
      -D_BSD_SOURCE -D_SVID_SOURCE                                
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64                                 
-D_GNU_SOURCE                            -DFUNCPROTO=15 -DNARROWPROTO -DXTHREADS
 -D_REENTRANT -DXUSE_MTSAFE_API      -DUSE_SNPRINTF -DLIBXT    -DNX_TRANS_SOCKET
    -fPIC -DPIC Core.c


Comment 4 Axel Thimm 2008-05-20 15:34:01 UTC
*** Bug 447328 has been marked as a duplicate of this bug. ***

Comment 5 Axel Thimm 2008-05-21 15:00:36 UTC
*** Bug 447656 has been marked as a duplicate of this bug. ***

Comment 6 Axel Thimm 2008-05-24 18:01:30 UTC
*** Bug 447998 has been marked as a duplicate of this bug. ***

Comment 7 Axel Thimm 2008-05-24 18:03:39 UTC
Gustavo Junior Alves wrote in bug #447998 comment #1)
> This happens because there is no 64 bits support from nx package. For an unknown
> reason, the first compilation of /nxcompshad is made without -fPIC. If you enter
> in this directory and type "make clean", everything goes fine and you are
> capable of install the package.


Comment 8 Ioannis 2008-05-25 19:23:15 UTC
so, what's the solution ?

I've tried freenx-0.7.1-5.fc9.x86_64 package as well, which installs fine, but
doesn't really work. The server reports 2 vnc-local sessions (I don't even have
vnc server installed) and fails to create new one, or resume any of them.



Comment 9 Axel Thimm 2008-05-25 20:04:40 UTC
*** Bug 448305 has been marked as a duplicate of this bug. ***

Comment 10 Ioannis 2008-05-27 21:33:01 UTC
The following refers to installation of freenx (as in
https://bugzilla.redhat.com/show_bug.cgi?id=447998#c1), not building it,

Using the i386 variant of freenx-server package works. 

Note, however, I had problems with the default sshd configuration on FC9 
(/etc/ssh/sshd_config) - it needs to be changed to allow the identification of
user 'nx' using a publickey. Check this link from our friends at Ubuntu:

http://ubuntuforums.org/archive/index.php/t-449382.html

Comment 11 Reindl Harald 2008-06-17 10:06:43 UTC
Finally i get it running on f9 x86_64 
I had to use the i386-Packages from "nx" AND "freenx-server"

[root@srv-rhsoft:~]$ rpm -qa | grep nx
nxclient-3.2.0-9.x86_64
nx-3.2.0-27.fc9.i386
freenx-server-0.7.2-8.fc9.i386

yum search freenx-server will find only the x86_64 package
So i got "freenx-server.i386" from 
http://koji.fedoraproject.org/koji/buildinfo?buildID=47086 and installed it
manually, also i removed the "nx.x86_64" package and now it works

I would recommend to remove the x86_64 packages from the repo until there is no
"nx.x86_64" and put the missing "freenx-server.i386" in the repo - this seems to
be missing, this way it should be possible to install the packages and all
dependencies in a clean way with yum

Comment 12 Axel Thimm 2008-07-02 18:27:10 UTC
*** Bug 452518 has been marked as a duplicate of this bug. ***

Comment 13 Axel Thimm 2008-07-02 18:29:32 UTC
Until the reasons for x86_64 failing to build the freeenx-server package for
x86_64 will be withdrawn as suggested by several comments in this thread.

This means that x86_64 users will be installing i386 versions of nx/freenx. Most
probably they should not notice.

Once nx builds on x86_64 again, I'll resurrect freenx-server on x86_64 as well.

Comment 14 Tomas Hoger 2008-07-07 16:36:23 UTC
(In reply to comment #3)
> But Core.o has been built with -fPIC, so the error's suggestion is useless:
> > gcc -c  -g -ansi -Wall -Wpointer-arith -Wundef    -I../..
> -I../../exports/include   -Dlinux -D__amd64__ -D_POSIX_C_SOURCE=199309L        
[ ... ]
>     -fPIC -DPIC Core.c

Reading the build log, this is Core.c in nx-X11/lib/Xt/ while one causing a
build failure is in nxcompshad/.

../nx-X11/config/makedepend/makedepend call may be causing troubles.  If I do:
  rm nxcompshad/Core.{o,h.gch} 
  make -C nx-X11/
compile chokes on familiar 'recompile with -fPIC' on the next .o file in
nxcompshad/.


Comment 15 Axel Thimm 2008-08-12 07:01:44 UTC
Thanks Tomas, that was a very important observation! :)

It builds now on x86_64 and I'll be pushing up updates today to testing. Also some 3.2.0 components had upstream updates as well.

Please everyone do test the builds and add suitable karma to the updates then they will make it to the stable repo sooner than later.

Comment 16 Fedora Update System 2008-08-12 07:06:37 UTC
nx-3.2.0-29.fc8 has been submitted as an update for Fedora 8

Comment 17 Fedora Update System 2008-08-12 07:06:40 UTC
nx-3.2.0-29.fc9 has been submitted as an update for Fedora 9

Comment 18 Brian Morrison 2008-08-12 07:20:40 UTC
Am I correct in thinking that freenx-server also needs to be an x86_64 package to test this? It broke for me before when the two didn't match, so presumably the same thing will happen again since the most recent freenx-server package isn't available in x86_64 guise.

Comment 19 Axel Thimm 2008-08-12 09:27:40 UTC
(In reply to comment #18)
> Am I correct in thinking that freenx-server also needs to be an x86_64 package
> to test this? It broke for me before when the two didn't match, so presumably
> the same thing will happen again since the most recent freenx-server package
> isn't available in x86_64 guise.

I'm pushing out packages for freenx-server as well. In fact I will bundle them with the new nx packages, so thez show up simultaneously in updates-testing, updates-released and announcements. Thanks for the reminder!

Comment 20 Jan Andrejkovic 2008-08-25 01:12:31 UTC
nx x86_64 is in rawhide, however where is freenx-server? I cannot find it in updates-testing nor in rawhide (I tried yum's enablerepo argument as well as manual enablement of updates-testing and rawhide in /etc/yum.repos.d/ but without luck...):

# yum --enablerepo updates-testing install freenx-server
Loaded plugins: allowdowngrade, changelog, refresh-packagekit
Setting up Install Process
Parsing package install arguments
No package freenx-server available.
Nothing to do

# yum --enablerepo rawhide install freenx-server
Loaded plugins: allowdowngrade, changelog, refresh-packagekit
Setting up Install Process
Parsing package install arguments
No package freenx-server available.
Nothing to do
#

Comment 21 Axel Thimm 2008-08-25 06:53:09 UTC
freenx-server builds are here:

http://koji.fedoraproject.org/koji/buildinfo?buildID=59401 (F8, ok)
http://koji.fedoraproject.org/koji/buildinfo?buildID=59402 (F9, ok)
http://koji.fedoraproject.org/koji/buildinfo?buildID=59404 (F10, failed)

I had submitted them shortly before the infrastructure went down and it just came up yesterday again. The failure for F10/rawhide was an rpm thing, which I've fixed, furthermore there is a new freenx-server upstream, which I wanted to package.

Once the freenx-server package is available (in testing first) this bug report will be automatically updated by bodhi. But if you are in a hurry and need F8/F9 you can use one of the builds in koji from the URLs above.

Comment 22 Axel Thimm 2008-08-26 18:51:13 UTC
There are new updates for nx/freenx-server for F9 and F8:

https://admin.fedoraproject.org/updates/nx-3.2.0-30.fc9,freenx-server-0.7.3-11.fc9
https://admin.fedoraproject.org/updates/nx-3.2.0-30.fc8,freenx-server-0.7.3-11.fc8

The packages are schedules to be released in updates-testing first, but you can already pull them manually from the URLs above.

Please check whether the reported issue still applies to these packages. Thanks!

Comment 23 Brian Morrison 2008-08-27 14:18:08 UTC
Have tested the updates reported in comment #22, they seem to function normally or at least no differently to their immediate predecessors.

Now to track down why up to 50% of my connections fail with a "Connection failure" or "Session startup failure"....

Comment 24 Jan Andrejkovic 2008-09-01 02:33:24 UTC
I tested i386 packages from #22 on F9 and it is working. I'm also happy you finally fixed version bug in /usr/libexec/nx/nxloadconfig

Here are my detailed comments:
I do not know why once nx and freenx-server are uninstalled they leave so many files in the system (including user nx). So for complete removal I used below steps (folders are renamed to *.old):

yum remove nx freenx-server  ### or rpm -e nx freenx-server
rm -rf /etc/nxserver.old /var/lib/nxserver.old ~myusername/.nx.old
mv /etc/nxserver /etc/nxserver.old
mv /var/lib/nxserver /var/lib/nxserver.old
mv ~myusername/.nx ~myusername/.nx.old
/usr/sbin/userdel nx
###NX is completely removed now

Now the new installation (using NoMachine key):
rpm -ivh freenx-server-0.7.3-11.fc9.i386.rpm nx-3.2.0-30.fc9.i386.rpm
### below step is optional - required only for troubleshooting - however shoudn't be cp (or mv) command done by rpm package?
cp /etc/nxserver/node.conf.sample /etc/nxserver/node.conf ###(SESSION_LOG_CLEAN=0) 
/usr/libexec/nx/nxsetup --install --setup-nomachine-key
###Below three steps are optional as well:
/usr/libexec/nx/nxserver --restart
/usr/libexec/nx/nxserver --status
cat /var/lib/nxserver/home/.ssh/client.id_dsa.key  ###default NoMachine key - should be in client already but it is worth to double-check

Tomorrow I will test 0.7.3-11.fc9 on x86_64 - please test it on x86_64 as well as with previous versions (freenx-server-0.7.2-9.fc9 and 0.7.2-8.0.1.fc9) I got some strange messages displayed on x86_64 (it was displayed by X server inside the freenx window. I got mouse pointer and background icons but Gnome menu was not working):

Error - The panel has encountered a fatal error
The panel could not register with the bonobo-activation server (error code: 1) and will exit. It may be automatically restarted.

Nautilus can't be used now, due to an unexpected errror.
Nautilus can't be used now, due to an unexpected errror from Bonobo when attempting to locate the factory. Killing bonobo-activation server and restarting Nautilis may help fix the problem.

Comment 25 Dawid Zamirski 2008-09-02 16:50:18 UTC
I have just tested the new build on x86_64 and it seems to work ok. The only 'glitch' that I had was that I was getting segfaults due to compiz set as the window manager. I changed it to metacity using gconftool-2 and it started up sucessfully. Is there any way to configure nx to always force metacity as WM? (I have compiz enabled when I'm working locally on my machine and sometimes forget to turn it off)

Comment 26 Axel Thimm 2008-09-03 15:00:43 UTC
Dawid, can you please open up a new bug for the compiz vs nx issue? This bug is for the missing x86_64 builds and will be closed once the infrastructure accepts the updates again. Thanks!

(and if you do so, could you also please check whether the i386 variants behave better? Or was it implied that i386 wokr, but x86_64 doesn't?)

Comment 27 Jan Andrejkovic 2008-09-03 21:20:02 UTC
Hello guys,

I finally tested packages from comment #22 on x86_64 (C2D) on F9:

First of all - in a desperate attempt to get rid of nautilus/gnome menu problems I reinstalled whole Gnome and it helped. So nautilus/bonobo-activation server errors (mentioned at the end of #24) disappeared and I have Gnome menu working in freenx again. Nasty commands I used:

yum groupremove "GNOME Desktop Environment"
yum groupinstall "GNOME Desktop Environment"

Then I tested both i386 (freenx-server-0.7.3-11.fc9.i386.rpm nx-3.2.0-30.fc9.i386.rpm) and x86_64 (freenx-server-0.7.3-11.fc9.x86_64.rpm nx-3.2.0-30.fc9.x86_64.rpm) packages (one by one) and both (i386 and x86_64) are working fine on my x86_64 F9.

However are two minor issues:

1. If you do "/usr/libexec/nx/nxsetup --install --setup-nomachine-key" using default Fedora PATH settings (which I still have), below error is displayed:

'Adding user "nx" to group "utmp" .../usr/libexec/nx/nxsetup: line 275: usermod: command not found'

The workaround is to set PATH like this: PATH=$PATH:/usr/sbin/; and then call that command again - it will display "standard" warnings and freenx-server will work.

2. Another issues are selinux deny logs - I have it in permissive mode at the moment but it could cause problems using enforcing mode: 

type=1400 audit(1220475131.078:28): avc:  denied  { getattr } for  pid=21054 comm="sshd" path="/var/lib/nxserver/home/.ssh/authorized_keys2" dev=dm-4 ino=1998865 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:var_lib_t:s0 tclass=file
type=1400 audit(1220475131.078:29): avc:  denied  { read } for  pid=21054 comm="sshd" name="authorized_keys2" dev=dm-4 ino=1998865 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:var_lib_t:s0 tclass=file

(I found selinux and freenx errors in #379581, #417721 but if I did not overlook anything my errors are different)

Otherwise I'm happy freenx(-server) is working again on Fedora x86_64!!!

Comment 28 Dawid Zamirski 2008-09-05 16:10:40 UTC
Hi Axel,

I have just filled a bug for the Compiz issue (# 461284). Unfortunately, I currently don't have any i386 machine to test it with.

Comment 29 Fedora Update System 2008-09-10 06:40:32 UTC
freenx-server-0.7.3-11.fc8, nx-3.2.0-30.fc8 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update freenx-server nx'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F8/FEDORA-2008-7600

Comment 30 Fedora Update System 2008-09-10 06:43:46 UTC
freenx-server-0.7.3-11.fc9, nx-3.2.0-30.fc9 has been pushed to the Fedora 9 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update freenx-server nx'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-7522

Comment 31 Fedora Update System 2008-09-16 23:20:04 UTC
freenx-server-0.7.3-11.fc9, nx-3.2.0-30.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 32 Fedora Update System 2008-09-16 23:23:11 UTC
freenx-server-0.7.3-11.fc8, nx-3.2.0-30.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.