zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Nauroth (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ZOOKEEPER-1077) C client lib doesn't build on Solaris
Date Fri, 01 May 2015 20:18:07 GMT

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-1077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Chris Nauroth updated ZOOKEEPER-1077:
    Attachment: ZOOKEEPER-1077-branch-3.4.002.patch

Here is the branch-3.4 patch.  There were no changes required in zookeeper.c for this one,
because the {{MSG_NOSIGNAL}} stuff is handled differently there.  zk_log.c on this branch
has an extra conditional for {{WIN32}}.  I didn't bother with casting the pid there, because
{{getpid}} on Windows is documented to return {{int}}.


> C client lib doesn't build on Solaris
> -------------------------------------
>                 Key: ZOOKEEPER-1077
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1077
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: build, c client
>    Affects Versions: 3.3.4
>         Environment: uname -a: SunOS [redacted] 5.10 Generic_142910-17 i86pc i386 i86pc
> GNU toolchain (gcc 3.4.3, GNU Make etc.)
>            Reporter: Tadeusz Andrzej Kadłubowski
>            Assignee: Chris Nauroth
>            Priority: Critical
>             Fix For: 3.5.2, 3.6.0
>         Attachments: ZOOKEEPER-1077-branch-3.4.002.patch, ZOOKEEPER-1077.001.patch, ZOOKEEPER-1077.002.patch,
> Hello,
> Some minor trouble with building ZooKeeper C client library on Sun^H^H^HOracle Solaris
> 1. You need to link against "-lnsl -lsocket"
> 2. ctime_r needs a buffer size. The signature is: "char *ctime_r(const time_t *clock,
char *buf, int buflen)"
> 3. In zk_log.c you need to manually cast pid_t to int (-Werror can be cumbersome ;) )
> 4. getpwuid_r()returns pointer to struct passwd, which works as the last parameter on
> Solaris signature: struct passwd *getpwuid_r(uid_t  uid,  struct  passwd  *pwd, char
*buffer, int  buflen); 
> Linux signature: int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf, size_t buflen,
struct passwd **result);

This message was sent by Atlassian JIRA

View raw message