[Bugs] [Bug 1226255] New: Undefined symbol "changelog_select_event"
bugzilla at redhat.com
bugzilla at redhat.com
Fri May 29 10:07:26 UTC 2015
https://bugzilla.redhat.com/show_bug.cgi?id=1226255
Bug ID: 1226255
Summary: Undefined symbol "changelog_select_event"
Product: GlusterFS
Version: mainline
Component: porting
Assignee: bugs at gluster.org
Reporter: pellaeon at cnmc.tw
CC: bugs at gluster.org, gluster-bugs at redhat.com
Created attachment 1031821
--> https://bugzilla.redhat.com/attachment.cgi?id=1031821&action=edit
patch for clang
Description of problem:
When starting a volume, GlusterFS will fail with followint mesage:
[2015-05-28 14:27:39.093136] W [xlator.c:192:xlator_dynload] 0-xlator:
/usr/local/lib/glusterfs/3.8dev/xlator/features/changelog.so: Undefined symbol
"changelog_select_event"
[2015-05-28 14:27:39.093183] E [graph.y:212:volume_type] 0-parser: Volume
'vietnam-changelog', line 30: type 'features/changelog' is not valid or not
found on this machine
[2015-05-28 14:27:39.093212] E [graph.y:321:volume_end] 0-parser: "type" not
specified for volume vietnam-changelog
[2015-05-28 14:27:39.093393] E [MSGID: 100026]
[glusterfsd.c:2149:glusterfs_process_volfp] 0-: failed to construct the graph
Version-Release number of selected component (if applicable):
master at 19d7b609
How reproducible:
Build & install GlusterFS on FreeBSD 10.1 amd64.
Create a volume then start a volume.
Steps to Reproduce:
1. get glusterfs source code
2. cd glusterfs
3. ./autogen
4. ./configure
5. make
6. sudo make install
7. glusterd -p /var/run/glusterd.pid
8. gluster volume create vietnam a.gluster:/brick1/brick1
9. gluster volume start vietnam
10. see brick log file
Actual results:
Cannot start volume.
Expected results:
Volume starts.
Additional info:
This bug is caused by clang and gcc handles inline functions differently.
By writing "inline" in source files, gcc will emit standalone object code, so
it may be called externally.
But for clang, "inline" will not emit standalone object code, therefore the
"undefined symbol" error, to achieve the same behavior as in gcc, you need to
write "extern inline".
In the attachment find the patch. This patch should also work for gcc.
Reference: http://www.greenend.org.uk/rjk/tech/inline.html
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list