View Issue Details

IDProjectCategoryView StatusLast Update
0003489unrealinstallingpublic2008-02-11 16:17
ReporterRammAssigned To 
PrioritynormalSeverityblockReproducibilityalways
Status closedResolutionfixed 
Platformi686OSMac OS XOS Version10.5 (Leopard)
Product Version3.2.7 
Target VersionFixed in Version 
Summary0003489: Errors "1" and "2" when making (Mac OS X/Leopard)
DescriptionEvery time I try to make UnrealIRCd, it fails with errors number 1 and 2. It configures finely. Here is the console output:

Building src
gcc -I../include -I/unreal/extras/regexp/include -I/unreal/extras/c-ares/include -L../extras/c-ares/lib -pipe -g -O2 -funsigned-char -fno-strict-aliasing -Wno-pointer-sign -c timesynch.c
gcc -I../include -I/unreal/extras/regexp/include -I/unreal/extras/c-ares/include -L../extras/c-ares/lib -pipe -g -O2 -funsigned-char -fno-strict-aliasing -Wno-pointer-sign -c res.c
gcc -I../include -I/unreal/extras/regexp/include -I/unreal/extras/c-ares/include -L../extras/c-ares/lib -pipe -g -O2 -funsigned-char -fno-strict-aliasing -Wno-pointer-sign -c s_bsd.c
s_bsd.c: In function ‘init_sys’:
s_bsd.c:641: error: too many arguments to function ‘setpgrp’
make[1]: *** [s_bsd.o] Error 1
make: *** [build] Error 2


GCC -V output:
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5450~6/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin9 --with-arch=apple --with-tune=generic --host=i686-apple-darwin9 --target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5450)

Steps To ReproduceStandard steps. ./config and then make.
Additional InformationUsing Leopard, not sure if that makes much of a difference.
TagsNo tags attached.
3rd party modules

Relationships

related to 0003189 resolvedohnobinki improper use of mode_t for DEFAULT_PERMISSIONS in chmod and open operations 
related to 0004274 resolvedohnobinki improper use of mode_t for DEFAULT_PERMISSIONS in chmod and open operations 
has duplicate 0003638 resolvedsyzop Compile error on Mac OS X 
has duplicate 0004285 resolvedsyzop Compile error on Mac OS X 
related to 0003684 resolvedsyzop Error Starting IRCd under Mac OS X Leopard (10.5.2) 
child of 0003454 resolvedsyzop Unreal3.2.8 TODO 

Activities

Stealth

2007-07-27 01:02

reporter   ~0014607

Last edited: 2007-07-27 01:03

Possible fix (from Bock):
Change

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

To:

[quote]#if defined(HPUX) || defined(_SOLARIS) || \
    defined(_POSIX_SOURCE) || defined(SVR4) || defined(SGI) || \
    defined(macosx) || (defined(__APPLE__) && defined(__ppc__))
        (void)setsid();
#else
        (void)setpgrp(0, (int)getpid());
#endif[/quote]

Bock

2007-07-27 01:56

reporter   ~0014608

needs to redifine in other stuff - I look :]

Bock

2007-07-27 02:15

reporter   ~0014609

--- s_bsd.c.orig 2007-07-27 10:11:42.000000000 +0300
+++ s_bsd.c 2007-07-27 10:12:54.000000000 +0300
@@ -635,7 +635,8 @@
 #endif

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


--- sys.h.orig 2007-07-27 10:07:34.000000000 +0300
+++ sys.h 2007-07-27 10:10:59.000000000 +0300
@@ -153,6 +153,11 @@
 //#define ircvsprintf vsprintf
 #endif

+/* MAC OS X */
+# if defined(macosx) || defined(__APPLE__) && defined(__MACH__)
+# define MACOSX
+# endif
+
 #ifdef _WIN32
 typedef unsigned short u_int16_t;
 #endif


Maybe helps, but Ramm say about error:
<+Ramm> error setting max fd's to 9223372036854775807
<+Ramm> Possible error encountered (IRCd seemingly not started)

Needs testing.

Tibby

2007-08-04 23:33

reporter   ~0014673

Last edited: 2007-08-04 23:42

I have attached a patch that makes Unreal work on Intel Macs.

This is confirmed to work on Tiger builds, I will have a look at leopard in the near future. Since leopard is currently in beta it makes it a bit more difficult since the dev-tools for it are still under active development.

Tested with:
-Xcode 2.4.1 (8m190)
-gcc version 4.0.1 (Apple Computer, Inc. build 5367)
-Mac OS X 10.4.9 (8P2137)

Output:
Unreal3.2.8-devel. test.network.org :FhiXeOoZE3 [Darwin 8.9.1=2308]

Tiburon

2007-08-04 23:33

 

macosxtiger_intel.patch (1,945 bytes)

syzop

2007-09-10 05:11

administrator   ~0014769

just asking to be sure: this won't break other apple things/compiles? (if there are any.. that existed)

and ehm, how can this patch fix the ‘setpgrp’ error, didn't see it patching anything like that, or was it forgotten to include it in the patch? :)

how come this chmod change is needed? could you explain?

Tibby

2007-09-21 12:43

reporter   ~0014790

1) There is some weird inconsistency in how Mac OS X behaves when a fd is opened; it ends up setting special permissions on the file, which the IRCd ends up seeing as it being "access denied". This patch alleviates this issue

2) This patch fixes Mac OS X 10.4.X and lower, the setpgrp error is not reproducable on OS X 10.4.X; the assumption is the error is caused by inconsistencies in the OS X Leopard beta compiler and operating system. Thus my reccomendation would be against trying to patch OS X 10.5 until it is officially "gold" or "rtm" because there is a high chance that the issue could be fixed internally by apple.

Tiburon

syzop

2007-09-25 11:28

administrator   ~0014801

Ok, thanks. I've applied the macosxtiger_intel.patch patch in .686:
- Fixed Mac OS X issue where "access denied" errors were encountered when
  trying to read unrealircd.conf. All due to strange chmod() behavior. We now no
  longer try to set permissions on Mac OS X. Patch provided by Tibby (0003489).

(..and did not touch the setpgrp stuff..)

syzop

2007-09-25 11:30

administrator   ~0014802

btw, now I recall some discussion regarding DEFAULT_PERMISSIONS, could you perhaps check to what value DEFAULT_PERMISSIONS is set to in include/setup.h (after doing ./Config of course)?
Normally it is:
syzop@vulnscan:~/Unreal3.2$ grep DEFAULT_PERMISSIONS include//setup.h
#define DEFAULT_PERMISSIONS 0600

I recall something with configure causing a missing zero or something on mac osx.. don't fully remember.

Tibby

2007-09-29 15:26

reporter   ~0014806

I checked into that, and even tried changing what it would set the default too; some reason mac os x still gets confused. Thus the patch seemed like the best method of fixing it.

syzop

2008-02-11 16:17

administrator   ~0015092

hm closing this one then.. i guess..

Issue History

Date Modified Username Field Change
2007-07-27 00:18 Ramm New Issue
2007-07-27 01:02 Stealth Note Added: 0014607
2007-07-27 01:03 Stealth Note Edited: 0014607
2007-07-27 01:07 Stealth Status new => confirmed
2007-07-27 01:56 Bock Note Added: 0014608
2007-07-27 02:15 Bock Note Added: 0014609
2007-08-04 23:33 Tibby Note Added: 0014673
2007-08-04 23:33 Tibby Note Edited: 0014673
2007-08-04 23:33 Tibby File Added: macosxtiger_intel.patch
2007-08-04 23:42 Tibby Note Edited: 0014673
2007-09-10 05:11 syzop Note Added: 0014769
2007-09-10 05:11 syzop Relationship added child of 0003454
2007-09-10 05:12 syzop QA => Not touched yet by developer
2007-09-10 05:12 syzop U4: Need for upstream patch => No need for upstream InspIRCd patch
2007-09-10 05:12 syzop U4: Upstream notification of bug => Not decided
2007-09-10 05:12 syzop U4: Contributor working on this => None
2007-09-10 05:12 syzop Summary Errors "1" and "2" when making => Errors "1" and "2" when making (Mac OS X/Leopard)
2007-09-21 12:43 Tibby Note Added: 0014790
2007-09-25 11:28 syzop Note Added: 0014801
2007-09-25 11:30 syzop Note Added: 0014802
2007-09-29 15:26 Tibby Note Added: 0014806
2007-11-19 13:45 syzop Relationship added related to 0003189
2008-02-11 16:17 syzop Status confirmed => closed
2008-02-11 16:17 syzop Note Added: 0015092
2008-02-11 16:17 syzop Resolution open => fixed
2008-02-17 16:25 Stealth Relationship added has duplicate 0003638
2008-04-23 15:53 nate Relationship added related to 0003684