net-misc/nx-x11 compiles fine with gcc 3.3.4 but fails with gcc 3.4
for more details i attached the log file of the emerge output.
Created attachment 38575 [details]
log file of emerge output
Created attachment 39453 [details, diff]
Patch from Fabian Franz (FreeNX-kNX Mailinglist)
Attached this patch on behalf of Fabian Franz.. I didn't play aound with it
yet, though. It "should work".
Created attachment 39458 [details, diff]
Patch for makefile.in (nxcomp needs -fpermissive)
Got some help from firstname.lastname@example.org/#nx
Apply both patches (Makefile.in and Types.h) to build nxcomp
I'll be adding these patches shortly. In the meantime, anyone who needs them can get them from here.
Created attachment 39520 [details, diff]
bug-fix and change of the name
that's the types.h patch plus one line more, which has elluded probably the
Created attachment 39521 [details, diff]
the second patch with standartised name
Created attachment 39522 [details]
...and the ebuild to apply the two patches
the ebuild, which patches the sources. Ok and one more hint, everything runs,
but one must start the ssh deamon. I don't if this ist the right thing to do
(from security perespective of view), but that was the only thing, which worked
for me, without any further modifications and actions.
*** Bug 64066 has been marked as a duplicate of this bug. ***
*** Bug 63859 has been marked as a duplicate of this bug. ***
Will this patched ebuild be integrated in the portage tree?
*** Bug 62706 has been marked as a duplicate of this bug. ***
Applying the two patches attached by Gergan Penkov, but using the current ebuild (nx-x11-1.4.0-r3) rather than the ebuild he supplied (which was an update to -r2), appears to compile correctly with gcc 3.4.3.
*** Bug 77065 has been marked as a duplicate of this bug. ***
I'm still having the problem with -r3 and gcc-3.4.1.
Should I try upgrading to gcc-3.4.3-r1 and try again?
I can't advise you there. I offer support for the current stable version of gcc. I'm not in a position to offer support for non-stable versions, especially as gcc-3.3 and gcc-3.4 cannot co-exist on the same Gentoo installation AFAIK.
> especially as gcc-3.3 and gcc-3.4 cannot co-exist on the same Gentoo installation AFAIK
Why? Why do we have slotting?
Why is there a command gcc-config?
# gcc-config -l
 i686-pc-linux-gnu-3.4.3 *
I hope, that we're getting closer to this bug.
The ABI for C++ software changed between gcc 3.3 and gcc 3.4. I'm sorry, I just don't have a machine to dedicate to gcc 3.4 at the moment.
Actually, the ebuild for gcc-3.4 has portage install sys-libs/libstdc++-v3, which allows for gcc-3.3 compiled apps to run without abi problems. There is NO problem with having a system that has both gcc-3.3 and 3.4 on it.
Created attachment 50429 [details, diff]
(nx-x11-1.4.0-nxcomp.patch) patch for nxcomp fixing gcc3 compile errors
(I think all attachments are obsoleted)
nxcomp had really poor ANSI compliance.
I actually removed the entire clear() function that the previous patches were
against, since standards-compliant STL std::vector provides a working
implementation. (I don't know what the calls to destroy, etc are supposed to
resolve to, I don't see any functions by those names in STL.)
I also updated the header names to #include <iostream> without the .h and added
using namespace std. Also, a lot of -W parameters were being passed to g++
that aren't valid for c++, so they've been eliminated.
I did ebuild clean unpack, applied this patch against the base, ebuild compile
install package, emerge -k and tested it. I now can connect to the nxserver
for the first time ever. (nxfree without nx-x11 causes problems during
connect, reported as timeout on the server side and "Parse error in remote
options string 'NX> '" on the client) Something is wrong with the
dependencies, because the nxserver was installed previously by emerge --resume
--skipfirst even though nx-x11 hadn't been installed (should I file a new bug
The files compile under both versions of gcc I have, now with *no* warnings
(installed and tested under 3.4.3)
I don't know why the old header files names are being used. Is this for
compatibility with non-gcc compilers? Or for gcc2? If the latter, then this
patch should only be applied to gcc v3 and up. It is tested and working under
gcc 3.3 and 3.4 both. This sort of thing should be done by configure, but...
if someone points me to a package that is a really perfect example of the right
way to use autoconf and automake I'll endeavor to have the header filename
selected by configure. caveat: I've never used autoconf/automake before.
This bug is fixed in the nx-comp-1.4.0-31 package. net-misc/nx-x11 now properly compiles with gcc-3.4. Reccomend closing this.
Closing bug as per Joe's suggestion.