View Issue Details

IDProjectCategoryView StatusLast Update
0003955unrealinstallingpublic2010-09-08 17:18
Reporterchotaire Assigned Toohnobinki  
PrioritynormalSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
Platformx86OSQNXOS Version6.5.0
Product Version3.2.8 
Fixed in Version3.2.9-RC1 
Summary0003955: Modifications to source necessary to compile on QNX 6.5.0
DescriptionThe following modifications were necessary to successfully compile Unreal 3.2.8.1 on QNX 6.5.0, as seen by compile errors:

-----------------------

gcc -I../include -I/home/irc/ircd-nassau/extras/regexp/include -I/home/irc/ircd-nassau/extras/c-ares/include -L../extras/c-ares/lib -pipe -g -O2 -funsigned-char -fno-strict-aliasing -Wno-pointer-sign -DZIP_LINKS -export-dynamic -DFD_SETSIZE=900 -c timesynch.c
In file included from ../include/common.h:46,
                 from ../include/struct.h:43,
                 from timesynch.c:21:
../include/sys.h:47:23: error: sys/errno.h: No such file or directory
make[1]: *** [timesynch.o] Error 1
make[1]: Leaving directory `/home/irc/ircd-nassau/src'
make: *** [build] Error 2

I changed <sys/errno.h> to <errno.h> in include/sys.h and it will continue compiling just fine.

-----------------------

gcc -I../include -I/home/irc/ircd-nassau/extras/regexp/include -I/home/irc/ircd-nassau/extras/c-ares/include -L../extras/c-ares/lib -pipe -g -O2 -funsigned-char -fno-strict-aliasing -Wno-pointer-sign -DZIP_LINKS -export-dynamic -DFD_SETSIZE=900 -c s_bsd.c
s_bsd.c: In function 'init_sys':
s_bsd.c:644: error: too many arguments to function 'setpgrp'
make[1]: *** [s_bsd.o] Error 1
make[1]: Leaving directory `/home/irc/ircd-nassau/src'
make: *** [build] Error 2

I change line 644 to:
        (void)setpgid(0,(int)getpid());

It's also possible to change line 644 to:
        (void)setsid();
    
-----------------------

After which it will compile just fine without any warnings.
TagsNo tags attached.
3rd party modules

Activities

ohnobinki

2010-09-07 17:40

reporter   ~0016331

- Don't use sys/errno.h, as it's not POSIX and breaks on QNX-6.5.0. (0003955)

Thanks very much for the report :-).

chotaire

2010-09-07 18:12

reporter   ~0016333

One issue missed during resolve.

syzop

2010-09-08 13:05

administrator   ~0016339

I see:

#if defined(HPUX) || defined(_SOLARIS) || \
    defined(_POSIX_SOURCE) || defined(SVR4) || defined(SGI) || defined(OSXTIGER)
        (void)setsid();
#else
        (void)setpgrp(0, (int)getpid());
#endif

What exact change do you suggest?

a defined(..QNXSOMETHING..) added to the first #if ?

I've now added an || defined(__QNX__)

Could you check that fixes it? :

#if defined(HPUX) || defined(_SOLARIS) || \
    defined(_POSIX_SOURCE) || defined(SVR4) || defined(SGI) || \
    defined(OSXTIGER) || defined(__QNX__)
        (void)setsid();
#else
        (void)setpgrp(0, (int)getpid());
#endif

Thank you very much for testing QNX by the way, glad to hear it works after these few adjustments :)

chotaire

2010-09-08 13:47

reporter   ~0016341

I'll check CVS shortly. If there is any remaining issues regarding QNX (also concerning the fixtimer issue), I will let people know.

As for the timing issue, I had already patched the source myself (bad hack though but it works) and you might enjoy to know that there is now one live IPv6+SSL unrealircd server running on QNX (never heard of any ircd on QNX before). Implementing the IPv6 stack was quite a headache though but after all it works just great. I love QNX.

chotaire

2010-09-08 16:26

reporter   ~0016342

I have just checked out the latest CVS version, verified that all three reported issues were patched and give it a shot.


[A] COMPILATION

Compilation went through of the box. It might be noteworthy to mention that I have to select <1000 file descriptors (or sockets) during ./Config on QNX6, because only 1000 is supported out of the box, but people would find out anyway once they start the ircd for the first time.


[B] SKIPPED CONFIGURE PARAMETER FOR IPv6

There is a HOT new issue with CVS regarding IPv6, I realize it cannot bind stream sockets to IPv6 addresses anymore, while this worked fine with 3.2.8.1. IPv6 was select during ./Config. I am adding log entries:

[Wed Sep 8 16:02:49 2010] - setsockopt(IP_OPTIONS) irc.example.com[]:Invalid argument
[Wed Sep 8 16:02:49 2010] - Error binding stream socket to IP 2001.0.0.0 port 7100 - irc.example.com[]:Can't assign requested address
[Wed Sep 8 16:03:51 2010] - setsockopt(IP_OPTIONS) irc.example.com[]:Invalid argument
[Wed Sep 8 16:03:51 2010] - Error binding stream socket to IP 2001.0.0.0 port 7100 - irc.example.com[]:Can't assign requested address

While double-checking the ./configure progress I realize that eventhough IPv6 was enabled by default, --enable-inet6 was not added to the configure parameters (!). I am now adding it to the extra parameters in ./Config and I'm recompiling to see if this fixes the issue.

Yup, that fixed the issue. ziplinks are not affected by this bug. I haven't tested remote includes. I'm opening a new bug report. Thanks for your attention.

chotaire

2010-09-08 16:27

reporter   ~0016343

PS. It is also noteworthy to mention that the issue with autoconnect has been resolved. This ticket may be closed.

syzop

2010-09-08 17:18

administrator   ~0016347

good :)

Issue History

Date Modified Username Field Change
2010-09-07 17:02 chotaire New Issue
2010-09-07 17:40 ohnobinki QA => Not touched yet by developer
2010-09-07 17:40 ohnobinki U4: Need for upstream patch => No need for upstream InspIRCd patch
2010-09-07 17:40 ohnobinki Note Added: 0016331
2010-09-07 17:40 ohnobinki Status new => resolved
2010-09-07 17:40 ohnobinki Fixed in Version => 3.2.9-RC1
2010-09-07 17:40 ohnobinki Resolution open => fixed
2010-09-07 17:40 ohnobinki Assigned To => ohnobinki
2010-09-07 18:12 chotaire Note Added: 0016333
2010-09-07 18:12 chotaire Status resolved => feedback
2010-09-07 18:12 chotaire Resolution fixed => reopened
2010-09-08 13:05 syzop Note Added: 0016339
2010-09-08 13:47 chotaire Note Added: 0016341
2010-09-08 16:26 chotaire Note Added: 0016342
2010-09-08 16:27 chotaire Note Added: 0016343
2010-09-08 17:18 syzop Note Added: 0016347
2010-09-08 17:18 syzop Status feedback => resolved
2010-09-08 17:18 syzop Resolution reopened => fixed