<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 22, 2015 at 6:18 PM, Anoop C S <span dir="ltr">&lt;<a href="mailto:anoopcs@redhat.com" target="_blank">anoopcs@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, 2015-07-22 at 18:12 +0530, Anoop C S wrote:<br>
&gt; On Wed, 2015-07-22 at 12:19 +0530, Anand Nekkunti wrote:<br>
&gt; &gt;<br>
&gt; &gt; On 07/22/2015 11:47 AM, Raghavendra Bhat wrote:<br>
&gt; &gt; &gt; On 07/22/2015 09:50 AM, Atin Mukherjee wrote:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On 07/22/2015 12:50 AM, Anand Nekkunti wrote:<br>
&gt; &gt; &gt; &gt; &gt; Hi All<br>
&gt; &gt; &gt; &gt; &gt;     &quot;gluster vol start&quot; is failing when glusterfs is compiled<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; with<br>
&gt; &gt; &gt; &gt; &gt; debug<br>
&gt; &gt; &gt; &gt; &gt; enable .<br>
&gt; &gt; &gt; &gt; &gt; Link: :<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1245331" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1245331</a><br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; *brick start is failing with fallowing error:*<br>
&gt; &gt; &gt; &gt; &gt; 2015-07-21 19:01:59.408729] I [MSGID: 100030]<br>
&gt; &gt; &gt; &gt; &gt; [glusterfsd.c:2296:main]<br>
&gt; &gt; &gt; &gt; &gt; 0-/usr/local/sbin/glusterfsd: Started running<br>
&gt; &gt; &gt; &gt; &gt; /usr/local/sbin/glusterfsd<br>
&gt; &gt; &gt; &gt; &gt; version 3.8dev (args: /usr/local/sbin/glusterfsd -s<br>
&gt; &gt; &gt; &gt; &gt; 192.168.0.4<br>
&gt; &gt; &gt; &gt; &gt; --volfile-id VOL.192.168.0.4.tmp-BRICK1 -p<br>
&gt; &gt; &gt; &gt; &gt; /var/lib/glusterd/vols/VOL/run/192.168.0.4-tmp-BRICK1.pid -S<br>
&gt; &gt; &gt; &gt; &gt; /var/run/gluster/0a4faf3d8d782840484629176ecf307a.socket -<br>
&gt; &gt; &gt; &gt; &gt; -brick-name<br>
&gt; &gt; &gt; &gt; &gt; /tmp/BRICK1 -l /var/log/glusterfs/bricks/tmp-BRICK1.log -<br>
&gt; &gt; &gt; &gt; &gt; -xlator-option<br>
&gt; &gt; &gt; &gt; &gt; *-posix.glusterd-uuid=4ec09b0c-6043-40f0-bc1a-5cc312d49a78 -<br>
&gt; &gt; &gt; &gt; &gt; -brick-port<br>
&gt; &gt; &gt; &gt; &gt; 49152 --xlator-option VOL-server.listen-port=49152)<br>
&gt; &gt; &gt; &gt; &gt; [2015-07-21 19:02:00.075574] I [MSGID: 101190]<br>
&gt; &gt; &gt; &gt; &gt; [event-epoll.c:627:event_dispatch_epoll_worker] 0-epoll:<br>
&gt; &gt; &gt; &gt; &gt; Started thread<br>
&gt; &gt; &gt; &gt; &gt; with index 1<br>
&gt; &gt; &gt; &gt; &gt; [2015-07-21 19:02:00.078905] W [MSGID: 101095]<br>
&gt; &gt; &gt; &gt; &gt; [xlator.c:189:xlator_dynload] 0-xlator:<br>
&gt; &gt; &gt; &gt; &gt; /usr/local/lib/libgfdb.so.0:<br>
&gt; &gt; &gt; &gt; &gt; undefined symbol: gf_sql_str2sync_t<br>
&gt; &gt; &gt; &gt; &gt; [2015-07-21 19:02:00.078947] E [MSGID: 101002]<br>
&gt; &gt; &gt; &gt; &gt; [graph.y:211:volume_type]<br>
&gt; &gt; &gt; &gt; &gt; 0-parser: Volume &#39;VOL-changetimerecorder&#39;, line 16: type<br>
&gt; &gt; &gt; &gt; &gt; &#39;features/changetimerecorder&#39; is not valid or not found on<br>
&gt; &gt; &gt; &gt; &gt; this<br>
&gt; &gt; &gt; &gt; &gt; machine<br>
&gt; &gt; &gt; &gt; &gt; [2015-07-21 19:02:00.079020] E [MSGID: 101019]<br>
&gt; &gt; &gt; &gt; &gt; [graph.y:319:volume_end]<br>
&gt; &gt; &gt; &gt; &gt; 0-parser: &quot;type&quot; not specified for volume VOL<br>
&gt; &gt; &gt; &gt; &gt; -changetimerecorder<br>
&gt; &gt; &gt; &gt; &gt; [2015-07-21 19:02:00.079150] E [MSGID: 100026]<br>
&gt; &gt; &gt; &gt; &gt; [glusterfsd.c:2151:glusterfs_process_volfp] 0-: failed to<br>
&gt; &gt; &gt; &gt; &gt; construct the<br>
&gt; &gt; &gt; &gt; &gt; graph<br>
&gt; &gt; &gt; &gt; &gt; [2015-07-21 19:02:00.079399] W<br>
&gt; &gt; &gt; &gt; &gt; [glusterfsd.c:1214:cleanup_and_exit]<br>
&gt; &gt; &gt; &gt; &gt; (--&gt;/usr/local/sbin/glusterfsd(mgmt_getspec_cbk+0x343)<br>
&gt; &gt; &gt; &gt; &gt; [0x40df64]<br>
&gt; &gt; &gt; &gt; &gt; --&gt;/usr/local/sbin/glusterfsd(glusterfs_process_volfp+0x1a2)<br>
&gt; &gt; &gt; &gt; &gt; [0x409b58]<br>
&gt; &gt; &gt; &gt; &gt; --&gt;/usr/local/sbin/glusterfsd(cleanup_and_exit+0x77)<br>
&gt; &gt; &gt; &gt; &gt; [0x407a6f]<br>
&gt; &gt; &gt; &gt; &gt; ) 0-:<br>
&gt; &gt; &gt; &gt; &gt; received signum (0), shutting down<br>
&gt; &gt; &gt; &gt; I am not able to hit this though.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; This seems to be the case of inline functions being considerd as<br>
&gt; &gt; &gt; undefined symblols. There has been a discussion about it in the<br>
&gt; &gt; &gt; mailing list.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; <a href="https://www.gluster.org/pipermail/gluster-devel/2015" rel="noreferrer" target="_blank">https://www.gluster.org/pipermail/gluster-devel/2015</a><br>
&gt; &gt; &gt; -June/045942.html<br>
&gt; &gt; it seems issue with inline functions , but why it is happening in<br>
&gt; &gt; only<br>
&gt; &gt; in debug build ?<br>
&gt;<br>
&gt; AFAIK, this is the reason why these undefined errors are not seen<br>
&gt; with<br>
&gt; --enable-debug option.<br>
&gt;<br>
<br>
</div></div>s/with --enable-debug option/without --enable-debug option. :)<br>
<div><div class="h5"><br>
&gt; When --enable-debug is specified, as per the <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> script we<br>
&gt; doesn&#39;t include the optimization level -O2. Instead we add -O0. See<br>
&gt; the<br>
&gt; following snippet.<br>
&gt;<br>
&gt; -------------------------------------------<br>
&gt; if test &quot;x$enable_debug&quot; = &quot;xyes&quot;; then<br>
&gt;          BUILD_DEBUG=yes<br>
&gt;          CFLAGS=&quot;${CFLAGS} -g -O0 -DDEBUG&quot;<br>
&gt; else<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;          BUILD_DEBUG=no<br>
&gt;          CFLAGS=&quot;${CFLAGS} -g -O2&quot;<br>
&gt; fi<br>
&gt; -------------------------------------------<br>
&gt;<br>
&gt; with -O0 optimization level, the compiler doesn&#39;t do inlining, so it<br>
&gt; requires extern definitions of the inline functions. It&#39;s the problem<br>
&gt; described at <a href="https://gcc.gnu.org/gcc-5/porting_to.html" rel="noreferrer" target="_blank">https://gcc.gnu.org/gcc-5/porting_to.html</a> regarding<br>
&gt; porting changes with GCC v5.x.<br>
&gt;<br>
&gt; From gcc man page<br>
&gt;<br>
&gt; ---------------------------------------------------------------------<br>
&gt; --<br>
&gt; -O0 Reduce compilation time and make debugging produce the expected<br>
&gt; results. This is the default.<br>
&gt;<br>
&gt; -O2 Optimize even more. GCC performs nearly all supported<br>
&gt; optimizations<br>
&gt; that do not involve a space-speed tradeoff.  As compared to -O, this<br>
&gt; option increases both compilation time and the performance of the<br>
&gt; generated code.<br>
&gt; ---------------------------------------------------------------------<br>
&gt; --<br>
&gt;<br>
&gt; So now we have two options:<br>
&gt;<br>
<br>
</div></div>s/two/three. :)<br>
<div class="HOEnZb"><div class="h5"><br>
&gt; [1] Use -fgnu89-inline. [Refer the other thread for more details (<br>
&gt; <a href="https://www.gluster.org/pipermail/gluster-devel/2015-June/045942.html" rel="noreferrer" target="_blank">https://www.gluster.org/pipermail/gluster-devel/2015-June/045942.html</a><br>
&gt; )]<br>
&gt; [2] Fix the code to work with C99 inline semantics by either changing<br>
&gt; all inline to static inline or provide external definitions for each<br>
&gt; inline functions in .h file<br>
&gt; [3] Or fix the the optimization flags in <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> accordingly.<br></div></div></blockquote><div><br></div><div><br></div><div>Thanks for the detailed explanation Anoop.</div><div>Of the above three, only option 2 is the right way to go.</div><div><br></div><div>As Kaleb and others have suggested in the other thread,<br></div><div>we should fix occurrences of inline.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
&gt;<br>
&gt; Thanks,<br>
&gt; Anoop C S.<br>
&gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Regards,<br>
&gt; &gt; &gt; Raghavendra Bhat<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Thanks&amp;Regards<br>
&gt; &gt; &gt; &gt; &gt; Anand.N<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; &gt; &gt; Gluster-devel mailing list<br>
&gt; &gt; &gt; &gt; &gt; <a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
&gt; &gt; &gt; &gt; &gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; Gluster-devel mailing list<br>
&gt; &gt; &gt; <a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
&gt; &gt; &gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Gluster-devel mailing list<br>
&gt; &gt; <a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><font color="#666666"><b>Raghavendra Talur </b></font><div><br></div></div></div>
</div></div>