<div dir="ltr"><div class="gmail_quote"><div dir="ltr">Hi, i've just tried to compile cyrus with openio, and it gave this error:<div><br></div><div><div><font face="monospace, monospace">libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I./lib -I. -I./lib -DLIBEXEC_DIR=\"/usr/cyrus/libexec\" -DSBIN_DIR=\"/usr/cyrus/sbin\" -DSYSCONF_DIR=\"/etc\" -DHAVE_CONFIG_H -I/usr/include/libxml2 -I/usr/include/postgresql -fPIC -fvisibility=hidden -g -O2 -I/usr/include -MT imap/imap_libcyrus_imap_la-objectstore_openio.lo -MD -MP -MF imap/.deps/imap_libcyrus_imap_la-objectstore_openio.Tpo -c imap/objectstore_openio.c  -fPIC -DPIC -o imap/.libs/imap_libcyrus_imap_la-objectstore_openio.o</font></div><div><font face="monospace, monospace">imap/objectstore_openio.c: In function 'objectstore_put':</font></div><div><font face="monospace, monospace">imap/objectstore_openio.c:195:42: warning: passing argument 2 of 'oio_sds_upload_from_file' from incompatible pointer type</font></div><div><font face="monospace, monospace">     err = oio_sds_upload_from_file (sds, &ul_dst, fname, 0, 0);</font></div><div><font face="monospace, monospace">                                          ^</font></div><div><font face="monospace, monospace">In file included from imap/objectstore_openio.c:49:0:</font></div><div><font face="monospace, monospace">/usr/include/oio_sds.h:250:21: note: expected 'struct oio_url_s *' but argument is of type 'struct oio_sds_ul_dst_s *'</font></div><div><font face="monospace, monospace"> struct oio_error_s* oio_sds_upload_from_file (struct oio_sds_s *sds,</font></div><div><font face="monospace, monospace">                     ^</font></div><div><font face="monospace, monospace">imap/objectstore_openio.c:195:11: error: too many arguments to function 'oio_sds_upload_from_file'</font></div><div><font face="monospace, monospace">     err = oio_sds_upload_from_file (sds, &ul_dst, fname, 0, 0);</font></div><div><font face="monospace, monospace">           ^</font></div><div><font face="monospace, monospace">In file included from imap/objectstore_openio.c:49:0:</font></div><div><font face="monospace, monospace">/usr/include/oio_sds.h:250:21: note: declared here</font></div><div><font face="monospace, monospace"> struct oio_error_s* oio_sds_upload_from_file (struct oio_sds_s *sds,</font></div><div><font face="monospace, monospace">                     ^</font></div><div><font face="monospace, monospace">Makefile:4679: recipe for target 'imap/imap_libcyrus_imap_la-objectstore_openio.lo' failed</font></div><div><font face="monospace, monospace">make[2]: *** [imap/imap_libcyrus_imap_la-objectstore_openio.lo] Error 1</font></div><div><font face="monospace, monospace">make[2]: Leaving directory '/opt/cyrus-imapd'</font></div><div><font face="monospace, monospace">Makefile:5800: recipe for target 'all-recursive' failed</font></div><div><font face="monospace, monospace">make[1]: *** [all-recursive] Error 1</font></div><div><font face="monospace, monospace">make[1]: Leaving directory '/opt/cyrus-imapd'</font></div><div><font face="monospace, monospace">Makefile:2511: recipe for target 'all' failed</font></div><div><font face="monospace, monospace">make: *** [all] Error 2</font></div></div><div><div><font face="monospace, monospace">root@jessie:/opt/cyrus-imapd# </font></div></div><div><br></div><div><br></div><div>any clue how to fix this ?</div><div><br></div><div>OS: debian jessie amd64</div><div>openio-sds installed version 1.0.1-1</div>







<div><br></div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 14, 2016 at 4:14 PM, Bron Gondwana via Cyrus-devel <span dir="ltr"><<a href="mailto:cyrus-devel@lists.andrew.cmu.edu" target="_blank">cyrus-devel@lists.andrew.cmu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>




<div><div style="font-family:Arial">There were a couple of nits around style:<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">+    int remove_temp_spool_file = 0 ;<br></div>
<div style="font-family:Arial">+    int object_storage_enabled = 0 ;<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">(we don't put a space before the ; anywhere in the rest of the codebase)<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">And some <br></div>
<div style="font-family:Arial">}<br></div>
<div style="font-family:Arial">else<br></div>
<div style="font-family:Arial">{<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">or<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">if (condition)<br></div>
<div style="font-family:Arial">{<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">We cuddle the brace like this:<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">}<br></div>
<div style="font-family:Arial">else {<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">if (condition) {<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">Pretty much exclusively.  But those can be fixed easily enough.  The important thing for me was to check that the non-object storage paths are the same, and they read identically to me.<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">I've done a build and Cassandane test run, and I'm happy with it. Pushing a merge of that branch to master now.  Sorry about taking so long to get to this.<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">Meeting in just under 2 hours, might see you there :)<br></div>
<div> </div>
<div style="font-family:Arial">Bron.<br></div>
<div> </div>
<div>On Wed, Feb 24, 2016, at 01:39, Raymond Poitras wrote:<br></div>
<blockquote type="cite"><div dir="ltr"><div style="font-family:Arial">Hi Bron<br></div>
<div> </div>
<div>Sorry for the delay and thank you for pushing this work to master.<br></div>
<div> </div>
<div>A) While doing this, some of the logic was broken.  (This is now fix.)<br></div>
<div>B) The new solution works very well with a mix of archive (in object storage) and non archive (on regular spool) emails.<br></div>
<div>C) Unarchive have been fix.  (was used previously to remove email from object storage.  Now a new function is used for that).<br></div>
<div>D) Include reconstruct support.  Works very well if message.db file is reliable.<br></div>
<div> </div>
<div>Please let me know if you can update master again from here <a href="https://github.com/RaymondPo/cyrus-imapd/tree/Cyrus-OpenIO" target="_blank">https://github.com/RaymondPo/cyrus-imapd/tree/Cyrus-OpenIO</a><br></div>
<div> </div>
<div>When is the next meeting? Jean-Francois and I would like to attend<br></div>
<div> </div>
<div>Regards<br></div>
<div>Raymond<br></div>
<div> </div>
</div>
<div><div style="font-family:Arial"> </div>
<div><div style="font-family:Arial">2015-10-13 8:03 GMT-04:00 Bron Gondwana <span dir="ltr"><<a href="mailto:brong@fastmail.fm" target="_blank">brong@fastmail.fm</a>></span>:<br></div>
<blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div style="font-family:Arial">I've pushed the objectstorage code based on Raymond and Jean-Francois's work to master.  It's almost exactly what was on Raymond's branch with just a couple of modifications.<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">
1) updated for some API changes I'd made to archiving in append.c<br></div>
<div style="font-family:Arial">
2) fixed compilation under warn-unused-variables<br></div>
<div style="font-family:Arial">
3) normalised logic between append_fromstage and append_copy for handling objectstorage errors by creating non-ARCHIVED files.<br></div>
<div style="font-family:Arial">
4) fixed file copy in mailbox_archive to work the same way as the file moves, where it correctly passes the source/destination file to objectstorage and gets the file back, so unarchive works.<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">
WARNING WARNING WARNING: while I've tested that normal operation and normal archive file operation (non-objectstorage) works correctly with Cassandane and FastMail experimental branch, I haven't done more than rudimentary testing with the dummy objectstorage.<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">
I'm almost positive that reconstruct won't work correctly with object storage turned on right now.<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">
This is still very much work in progress - but putting it on master means that the code will be maintained and updated as other API changes are made.<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">
Thanks Raymond and Jean-Francois for all your work on this.  I hope it gets more testing and use.<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">
Cheers,<br></div>
<div style="font-family:Arial"> </div>
<div style="font-family:Arial">
Bron.<span><font color="#888888"><br></font></span></div><span><font color="#888888">
<div style="font-family:Arial">
<span><span style="color:rgb(136,136,136)"><br>
--<br>
  Bron Gondwana<br>
  <a href="mailto:brong@fastmail.fm" target="_blank">brong@fastmail.fm</a></span></span></div>
</font></span></blockquote></div><span><font color="#888888">
</font></span></div><span><font color="#888888">
</font></span></blockquote><span><font color="#888888"><div style="font-family:Arial"> </div>
<div><div>-- <br></div>
<div>  Bron Gondwana<br></div>
<div>  <a href="mailto:brong@fastmail.fm" target="_blank">brong@fastmail.fm</a><br></div>
<div> </div>
</div>
<div style="font-family:Arial"> </div>
</font></span></div>

</blockquote></div><br></div>
</div></div></div><br></div>