You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Michi Mutsuzaki (JIRA)" <ji...@apache.org> on 2014/02/12 01:52:22 UTC

[jira] [Updated] (ZOOKEEPER-1077) C client lib doesn't build on Solaris

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

Michi Mutsuzaki updated ZOOKEEPER-1077:
---------------------------------------

    Fix Version/s:     (was: 3.4.6)
                   3.4.7

> 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: Justin SB
>            Priority: Critical
>             Fix For: 3.4.7, 3.5.0
>
>         Attachments: zookeeper.patch
>
>
> Hello,
> Some minor trouble with building ZooKeeper C client library on Sun^H^H^HOracle Solaris 5.10.
> 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 Linux.
> 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
(v6.1.5#6160)