Opened 15 years ago

Closed 15 years ago

Last modified 15 years ago

#21638 closed defect (fixed)

imap-uw fails to build under Snow Leopard (with fix)

Reported by: qbarnes (Quentin Barnes) Owned by: nerdling (Jeremy Lavergne)
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: imap-uw

Description (last modified by mf2k (Frank Schima))

Two problems found and fixed when building imap-uw under Snow Leopard.

The first is:

Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_mail_imap-uw/work/imap-2007e" && /usr/bin/make -j4 oxp IP=6 SSLTYPE=unix " returned error 2
Command output:          -DMD5ENABLE=\"/etc/cram-md5.pwd\" -DMAILSPOOL=\"/var/mail\" \
-DANONYMOUSHOME=\"/var/mail/anonymous\" \
-DACTIVEFILE=\"/usr/lib/news/active\" -DNEWSSPOOL=\"/var/spool/news\" \
-DRSHPATH=\"/usr/bin/rsh\" -DLOCKPGM=\"\" \
-DLOCKPGM1=\"/usr/libexec/mlock\" -DLOCKPGM2=\"/usr/sbin/mlock\" \
-DLOCKPGM3=\"/etc/mlock\" > OSCFLAGS
osdepbas.c not found...try make clean and new make
osdeplog.c not found...try make clean and new make
make[3]: *** [osdepbas.c] Error 1
make[3]: *** Waiting for unfinished jobs....

This problem is due to failing with parallel builds. I disabled parallel builds in the Porfile to fix this problem.

The second is:

Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_mail_imap-uw/work/imap-2007e" && /usr/bin/make oxp IP=6 SSLTYPE=unix " returned error 2
Command output: osdep.c:111: error: dereferencing pointer to incomplete type
osdep.c:111: error: 'PAM_SUCCESS' undeclared (first use in this function)
osdep.c:112: error: invalid use of undefined type 'struct pam_response'
osdep.c:112: error: dereferencing pointer to incomplete type
osdep.c:114: error: 'PAM_PROMPT_ECHO_OFF' undeclared (first use in this function)
osdep.c:115: error: invalid use of undefined type 'struct pam_response'
osdep.c:115: error: dereferencing pointer to incomplete type
osdep.c:116: error: invalid use of undefined type 'struct pam_response'
osdep.c:116: error: dereferencing pointer to incomplete type
osdep.c:118: error: 'PAM_TEXT_INFO' undeclared (first use in this function)
osdep.c:119: error: 'PAM_ERROR_MSG' undeclared (first use in this function)
osdep.c:120: error: invalid use of undefined type 'struct pam_response'
osdep.c:120: error: dereferencing pointer to incomplete type
osdep.c:121: error: invalid use of undefined type 'struct pam_response'
osdep.c:121: error: dereferencing pointer to incomplete type
osdep.c:125: error: 'PAM_CONV_ERR' undeclared (first use in this function)
osdep.c: At top level:
osdep.c:136: error: expected ')' before '*' token
osdep.c: In function 'Checkpw':
osdep.c:153: error: 'pam_handle_t' undeclared (first use in this function)
osdep.c:153: error: 'hdl' undeclared (first use in this function)
osdep.c:154: error: storage size of 'conv' isn't known
osdep.c:162: error: 'PAM_SUCCESS' undeclared (first use in this function)
osdep.c:163: error: 'PAM_RHOST' undeclared (first use in this function)
osdep.c:166: error: 'PAM_ESTABLISH_CRED' undeclared (first use in this function)
osdep.c:182: error: 'checkpw_cleanup' undeclared (first use in this function)
make[3]: *** [osdep.o] Error 1
make[2]: *** [osx] Error 2
make[1]: *** [OSTYPE] Error 2
make: *** [oxp] Error 2

This is becuse the header pam_appl.h moved from /usr/include/pam to /usr/include/security. The imap-uw had a workaround for this Apple difference. Apparently with Snow Leopard, Apple's now the same as everyone else which the workaround now breaks the build. I included a patch for this problem to remove the workaround, HOWEVER, this patch _will_ break any version prior to Snow Leopard. This patch needs to be conditionalized for Snow Leopard releases and later. I don't know how to do that. If someone can conditionalize it, that would be great.

Attachments (2)

patch-src-osdep-unix-ckp_pam.c.diff (373 bytes) - added by qbarnes (Quentin Barnes) 15 years ago.
Patch file for ckp_pam.c
Portfile.patch (856 bytes) - added by qbarnes (Quentin Barnes) 15 years ago.
imap-uw Portfile patch to disable parallel builds and include ckp_pam.c.diff

Download all attachments as: .zip

Change History (7)

Changed 15 years ago by qbarnes (Quentin Barnes)

Patch file for ckp_pam.c

Changed 15 years ago by qbarnes (Quentin Barnes)

Attachment: Portfile.patch added

imap-uw Portfile patch to disable parallel builds and include ckp_pam.c.diff

comment:1 Changed 15 years ago by qbarnes (Quentin Barnes)

Cc: qbarnes@… added

Cc Me!

comment:2 Changed 15 years ago by mf2k (Frank Schima)

Cc: qbarnes@… removed
Description: modified (diff)
Owner: changed from macports-tickets@… to snc@…

comment:3 Changed 15 years ago by nerdling (Jeremy Lavergne)

Status: newassigned

Please use universal diffs.

comment:4 Changed 15 years ago by nerdling (Jeremy Lavergne)

Resolution: fixed
Status: assignedclosed

Committed in r58384.

Should the Snow Leopard patch be applied for only the one variant (how I did it)?

comment:5 in reply to:  4 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added

Replying to snc@…:

Should the Snow Leopard patch be applied for only the one variant (how I did it)?

No, it should be applied all the time, and needs to be more general than that. Fixed in r63088.

Note: See TracTickets for help on using tickets.