<div dir="ltr"><div><div><div><div><div><div><div><div><div>So I was able to compile gluster 3.3.2. on Solaris 11 and have it running a volume now! Which is great, I couldn&#39;t be more excited.<br><br></div>What this brings to mind, however, is I am missing out on the newer features and management commands I was used to in version 3.4, when I started with gluster, and why recent glusters need contrib/mount/mntent.c (which mentions Darwin, BSD, and Linux, but not Solaris)<br><br></div>Here&#39;s the make and configure commands I used to build 3.3.2. sucessfully, however don&#39;t work on 3.4 or above<br><br>./autogen.sh<br>    gmake distclean<br>LDFLAGS=&quot;-L/opt/csw/lib&quot; CC=/usr/gcc/4.8/bin/gcc CPP=/usr/gcc/4.8/bin/cpp CFLAGS=&quot;-m64&quot; ./configure --disable-crypt-xlator --disable-qemu-block --disable-fusermount --disable-systemtap --disable-ibverbs --disable-fuse-client --prefix=/opt/glusterfs;<br>gmake;<br><br></div>I also had to edit nlm4-xdr.h to change the u_init32 and u_init64 to uinit32 and uinit64 to resolve a type unknown compile error.<br><br></div>One edit I would like some feedback on because it throws a warning instead of failing before the edit is in posix.c. I don&#39;t know any programming so this is pulled from stack overflow and applied as best I can. Any proof reading before I consider this complete would be greatly appreciated.<br><br></div>The error:<br>In file included from ../../../../libglusterfs/src/xlator.h:61:0,<br>                 from posix.h:50,<br>                 from posix.c:49:<br>posix.c: In function ‘posix_fill_readdir’:<br>posix.c:3628:44: error: ‘struct dirent’ has no member named ‘d_type’<br>                         if (DT_ISDIR (entry-&gt;d_type)) {<br>                                            ^<br></div>the edit:<br><br></div>[BEFORE]<br>                if (skip_dirs) {<br>                        if (DT_ISDIR (entry-&gt;d_type)) {<br>                                continue;<br>                        } else if (hpath) {<br>                                strcpy (&amp;hpath[len+1],entry-&gt;d_name);<br>                                ret = lstat (hpath, &amp;stbuf);<br>                                if (!ret &amp;&amp; S_ISDIR (stbuf.st_mode))<br>                                        continue;<br>                        }<br>                }<br><br></div>[AFTER]<br>                if (skip_dirs) {<br>                        struct stat s;<br>                        stat(entry-&gt;d_name, &amp;s);<br>                        if (DT_ISDIR ((s.st_mode &amp; S_IFDIR))) {<br>                                continue;<br>                        } else if (hpath) {<br>                                strcpy (&amp;hpath[len+1],entry-&gt;d_name);<br>                                ret = lstat (hpath, &amp;stbuf);<br>                                if (!ret &amp;&amp; S_ISDIR (stbuf.st_mode))<br>                                        continue;<br>                        }<br>                }<br></div>/d_<br><div><div><div><div><div><div><div><div><br></div></div></div></div></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Oct 12, 2014 at 11:56 AM, Benjamin Kingston <span dir="ltr">&lt;<a href="mailto:list@nexusnebula.net" target="_blank">list@nexusnebula.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I fixed that particular issue as ucred.h was in /usr/include not /usr/include/sys so I made a symlink, unfortunately now I&#39;m getting a new issue here:<div><br></div><div><div>../../contrib/mount/mntent.c: In function `statfs_to_mntent&#39;:</div><div>../../contrib/mount/mntent.c:129:36: error: dereferencing pointer to incomplete type</div><div>         _mntent.mnt_fsname = mntbuf-&gt;f_mntfromname;</div><div>                                    ^</div><div>../../contrib/mount/mntent.c:130:33: error: dereferencing pointer to incomplete type</div><div>         _mntent.mnt_dir = mntbuf-&gt;f_mntonname;</div><div>                                 ^</div><div>../../contrib/mount/mntent.c:131:34: error: dereferencing pointer to incomplete type</div><div>         _mntent.mnt_type = mntbuf-&gt;f_fstypename;</div><div>                                  ^</div><div>../../contrib/mount/mntent.c:136:25: error: dereferencing pointer to incomplete type</div><div>         f_flags = mntbuf-&gt;f_flags;</div><div>                         ^</div><div>../../contrib/mount/mntent.c: In function `getmntent&#39;:</div><div>../../contrib/mount/mntent.c:160:17: warning: implicit declaration of function `getmntinfo&#39; [-Wimplicit-function-declaration]</div><div>                 mntsize = getmntinfo (&amp;mntbuf, MNT_NOWAIT);</div><div>                 ^</div><div>../../contrib/mount/mntent.c:160:48: error: `MNT_NOWAIT&#39; undeclared (first use in this function)</div><div>                 mntsize = getmntinfo (&amp;mntbuf, MNT_NOWAIT);</div><div>                                                ^</div><div>../../contrib/mount/mntent.c:168:9: error: invalid use of undefined type `struct statfs&#39;</div><div>         return (statfs_to_mntent (&amp;mntbuf[pos]));</div><div>         ^</div><div>../../contrib/mount/mntent.c:168:42: error: dereferencing pointer to incomplete type</div><div>         return (statfs_to_mntent (&amp;mntbuf[pos]));</div><span class=""><div>                                          ^</div><div>../../contrib/mount/mntent.c:169:1: warning: control reaches end of non-void function [-Wreturn-type]</div><div> }</div></span><div> ^</div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 10, 2014 at 8:48 PM, Benjamin Kingston <span dir="ltr">&lt;<a href="mailto:list@nexusnebula.net" target="_blank">list@nexusnebula.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>I went back and build 3.6 and 3.7 with the build failing in the same place when building libglusterfs<br><br><br></div><div>One thing I did find as different in the master build <a href="https://forge.gluster.org/glusterfs-core/glusterfs/commit/f5d544d435b1ca0868846e74ce292faa2e7388e4" target="_blank">f5d544d</a>:<br><br>../../contrib/mount/mntent.c as I receive an error when compiling libglusterfs stating sys/ucred.h is not found and mount.h.<br></div>I have the proper libraries in /usr/include, so I went to edit mntent.c to point them there (still not sure if I should use /usr/include/sys/mount.h or nfs/mount.h I tried both). I now get an error of<br><br>../../contrib/mount/mntent.c:169:1: warning: control reaches end of non-void function [-Wreturn-type]<br> }<br><br></div>this may be a bug?<br><div><br></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 10, 2014 at 6:13 PM, Benjamin Kingston <span dir="ltr">&lt;<a href="mailto:list@nexusnebula.net" target="_blank">list@nexusnebula.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I tried building the 3.6.0 tag last night to no avail, but I&#39;ll try the newer betas as well as the master branch tonight, maybe even the 3.7alpha for good measure. Good to hear about recent x-platform work, so maybe a hope.<br><br></div>As a side note, I&#39;m considering using Solaris 11 as a tcp/ip NFS brick to a Centos 7 node, would that be inadvisable? This isn&#39;t production, just a lab for the moment.<br></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 10, 2014 at 2:55 PM, Justin Clift <span dir="ltr">&lt;<a href="mailto:justin@gluster.org" target="_blank">justin@gluster.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>----- Original Message -----<br>
&gt; I&#39;m trying to get gluster 3.5.2, or really any version at this point, to<br>
&gt; compile on Solaris so I can take advantage of ZFS and encryption. This<br>
&gt; would be a killer app for me, as I&#39;m a big fan of gluster on linux, but I&#39;m<br>
&gt; running into a number of road blocks with compiling.<br>
&gt;<br>
&gt; any pointers or success stories will be greatly appreciated.<br>
<br>
</span>As a thought, have you tried compiling 3.6.0 &lt;latest beta&gt;, or our upstream<br>
master branch?<br>
<br>
Asking because there&#39;s been a bunch of cross-platform portability work<br>
happening over the last few months, which _might_ have made things easier<br>
for Solaris too (unsure).<br>
<br>
Worth a shot, just in case. :)<br>
<br>
Regards and best wishes,<br>
<br>
Justin Clift<br>
<span><font color="#888888"><br>
--<br>
GlusterFS - <a href="http://www.gluster.org" target="_blank">http://www.gluster.org</a><br>
<br>
An open source, distributed file system scaling to several<br>
petabytes, and handling thousands of clients.<br>
<br>
My personal twitter: <a href="http://twitter.com/realjustinclift" target="_blank">twitter.com/realjustinclift</a><br>
</font></span><div><div>_______________________________________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
<a href="http://supercolony.gluster.org/mailman/listinfo/gluster-users" target="_blank">http://supercolony.gluster.org/mailman/listinfo/gluster-users</a><br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>