Bug 761867 (GLUSTER-135)

Summary: fdatasync symbol not found
Product: [Community] GlusterFS Reporter: Amar Tumballi <amarts>
Component: posixAssignee: Harshavardhana <fharshav>
Status: CLOSED WONTFIX QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: 2.0.3CC: cww, gluster-bugs, rabhat, vraman
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Solaris   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTNR Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Amar Tumballi 2009-07-14 06:01:45 UTC
changed OS to Solaris as it was seen only on solaris..

Comment 1 Harshavardhana 2009-07-14 06:45:07 UTC
fdatasync seems to be not present in the earlier solaris releases, but we have fdatasync in solaris since 5 Feb 2008, i guess the Solaris 10u6 is quite old. As we didn't face the same issue at partners, can we have access to those machines where the problem is seen?.

Till then let me figure out how to fix this, if "fdatasync" is not present.

Comment 2 Harshavardhana 2009-07-14 07:14:03 UTC
ok amar solution is that to build a package at partners machine or a machine with
10u6 or 10u7 from Solaris release rather than OpenSolaris. 

Problem summary:

OpenSolaris 200809 man page says
fdatasync works with "#include <unistd.h>" with no compiler flags 
and stuff. This is becoz it is a new version "5.11" 

Whereas
Solaris 10u6 or 10u7 says
fdatasync works with "#include <unistd.h>" with "-lrt" compiler flag. 
This is old version "5.10" 

Now there is no sane way of fixing this as "fdatasync" would not have
come into picture at configure level at partners becoz we don't pass
-lrt at configure check time and it would have failed to get "fdatasync"
ultimately not including it with "posix.so" -> no problems here. 

But with building a package with OpenSolaris 200809 gives a problem
including "fdatasync" into posix.so which would not work at customer site.

Comment 3 Amar Tumballi 2009-07-14 09:01:14 UTC
I deployed a 'binary' image of GlusterFS built on Open Solaris 200809 machine on Sun Solaris 10u6 machine, and while running GlusterFS got the below error:

posix.so: undefined symbol 'fdatasync', dlopen failed.

Need to make our solaris packaging robust for these flags, or should understand which package caused this behavior.

-Amar

Comment 4 Amar Tumballi 2009-11-13 16:52:32 UTC
This problem persists on Solaris. No way we can provide a port package, as Solaris changed LDFLAGS itself from version to version..

Solution is to build glusterfs on the machine itself as harsha suggested.