Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#17198 closed defect (fixed)

dbus: error: `_SC_GETPW_R_SIZE_MAX' undeclared (first use in this function)

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: Cc: tomhennigan@…, MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), yokota33@…
Port: dbus

Description

Can't build dbus 1.2.4_2 on Mac OS X 10.3.9 Panther with Xcode 1.5 on a Power Mac G4:

 /usr/bin/gcc-3.3 -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -fPIC -DDBUS_COMPILATION -DDBUS_MACHINE_UUID_FILE=\"/mp/var/lib/dbus/machine-id\" -DDBUS_SYSTEM_CONFIG_FILE=\"/mp/etc/dbus-1/system.conf\" -DDBUS_SESSION_CONFIG_FILE=\"/mp/etc/dbus-1/session.conf\" -I/mp/include -O2 -no-cpp-precomp -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -fno-common -MT dbus-sysdeps-unix.lo -MD -MP -MF .deps/dbus-sysdeps-unix.Tpo -c dbus-sysdeps-unix.c  -fno-common -DPIC -o .libs/dbus-sysdeps-unix.o
dbus-sysdeps-unix.c: In function `fill_user_info':
dbus-sysdeps-unix.c:1494: error: `_SC_GETPW_R_SIZE_MAX' undeclared (first use in this function)
dbus-sysdeps-unix.c:1494: error: (Each undeclared identifier is reported only once
dbus-sysdeps-unix.c:1494: error: for each function it appears in.)
make[3]: *** [dbus-sysdeps-unix.lo] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Attachments (2)

get_system_values.c (224 bytes) - added by yokota33@… 16 years ago.
Can anybody compile, run and tell the result of this file (on darwin > 7)?
patch-devel-dbus-fix.diff (4.3 KB) - added by yokota33@… 16 years ago.
A fix. This passes 'port test' and the values of constants seem right. Can this go in?

Download all attachments as: .zip

Change History (17)

comment:1 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

I reported the bug to the developers.

comment:2 Changed 16 years ago by blb@…

It looks like 10.3 only has a subset of the sysconf() definitions that are present on 10.4+. 10.3 only goes through _SC_AIO_PRIO_DELTA_MAX at 44 (and skips some on its way to 44), 10.4 goes to 125 with fewer skips, and 10.5 adds a few more defines.

comment:3 Changed 16 years ago by tomhennigan@…

Cc: tomhennigan@… added

Cc Me!

comment:4 Changed 16 years ago by tobypeterson

Resolution: wontfix
Status: newclosed

Panther.

comment:5 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: wontfix
Status: closedreopened

Let's keep the ticket open at least until upstream decides what to do with their ticket.

comment:6 Changed 16 years ago by tobypeterson

With over 1000 active tickets in the "ports" component, it's a waste of time to deal with panther-specific issues.

comment:7 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

There probably aren't many Panther users anymore, but I know we have at least a few. We have thus far had the policy of not officially supporting Panther anymore, but also not making it unnecessarily difficult for Panther users, and accepting patches to fix Panther issues where possible. Closing Panther tickets without trying to fix them falls under the "unnecessarily difficult" umbrella for me. If you would like the MacPorts project to revisit its Panther policy, please start a discussion on the mailing list first.

comment:8 Changed 16 years ago by tobypeterson

I thought the policy was "patches accepted" - there's no patch included with this ticket, so...

comment:9 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

If and when I find time to work on a patch, I will attach it here. Until then, this ticket documents that the problem exists and provides a place to log further findings.

comment:10 Changed 16 years ago by rhwood@…

Status: reopenednew

comment:11 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: mcalhoun@… added

Cc Me!

Changed 16 years ago by yokota33@…

Attachment: get_system_values.c added

Can anybody compile, run and tell the result of this file (on darwin > 7)?

comment:12 in reply to:  2 Changed 16 years ago by yokota33@…

Replying to blb@…:

It looks like 10.3 only has a subset of the sysconf() definitions that are present on 10.4+. 10.3 only goes through _SC_AIO_PRIO_DELTA_MAX at 44 (and skips some on its way to 44), 10.4 goes to 125 with fewer skips, and 10.5 adds a few more defines.

So, for darwin 7, somehow the length of the related buffers must be given manually. In the fix patch, I set:

sysconf (_SC_GETPW_R_SIZE_MAX) = 4096
sysconf (_SC_GETGR_R_SIZE_MAX) = 4096

and build ends successfully, but I'm not sure whether these values are actually appropriate for darwin (i386/ppc) systems. Does anybody know appropriate values for these? I attached test program to investigate these on your system, which may help to get some hints.

In addition, I made a dirty hack on Portfile in which patching order matters (on darwin 7, two patches are applied on the same file). It works fine at my place, but I'm not sure whether this is a right thing to do. It may be better make patches which use the preprocessor to branch darwin versions, but unfortunately I'm new on Mac (someone left me an old mac!) and don't know which variable gives me the darwin versions. Does anyone know a better solution?

Changed 16 years ago by yokota33@…

Attachment: patch-devel-dbus-fix.diff added

A fix. This passes 'port test' and the values of constants seem right. Can this go in?

comment:13 Changed 16 years ago by yokota33@…

Cc: yokota33@… added

Cc Me!

comment:14 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: newclosed

This should be fixed in r49300.
Please let me know if there are any problems.

comment:15 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.