Hi,
I am developing an app that writes sound files. When I link it with the FC6 libsndfile libraries, either statically or dynamically, it gives me an error that it cannot open the file. It is able to create the file, because I see it there empty. When I compile the libsndfile 1.0.17 source myself, and link statically to it, the application is able to create and write the file (i.e. it works as it is supposed to).
Unfortunately the debugging information has been stripped from the FC6 libraries so I can't trace the problem. The only thing I can think of is that this is some sort of SELinux issue. I am running this as a user with the default permissions (permissive if I recall). From what I have read this should mean there are no issues with SELinux at all under targeted policy.
Any suggestions as to why this is happening, and possible fixes?
Thanks, Stan
At 10:44 AM -0700 4/22/07, stan wrote:
Hi,
I am developing an app that writes sound files. When I link it with the FC6 libsndfile libraries, either statically or dynamically, it gives me an error that it cannot open the file. It is able to create the file, because I see it there empty. When I compile the libsndfile 1.0.17 source myself, and link statically to it, the application is able to create and write the file (i.e. it works as it is supposed to).
Unfortunately the debugging information has been stripped from the FC6 libraries so I can't trace the problem.
Enable the -debuginfo repos and install the libsndfile-debuginfo package:
# yum --enablerepo extras-debuginfo install libsndfile-debuginfo
The only thing I can think of is that this is some sort of SELinux issue. I am running this as a user with the default permissions (permissive if I recall). From what I have read this should mean there are no issues with SELinux at all under targeted policy.
Any suggestions as to why this is happening, and possible fixes?
Find out if selinux is in permissive mode:
# sestatus
Find out if selinux is denying access by looking in the log, either /ver/log/messages, or if audit is installed /var/log/audit/audit.log.
On Sun, 22 Apr 2007 15:37:20 -0400 Tony Nelson tonynelson@georgeanelson.com wrote:
At 10:44 AM -0700 4/22/07, stan wrote:
Hi,
I am developing an app that writes sound files. When I link it with the FC6 libsndfile libraries, either statically or dynamically, it gives me an error that it cannot open the file. It is able to create the file, because I see it there empty. When I compile the libsndfile 1.0.17 source myself, and link statically to it, the application is able to create and write the file (i.e. it works as it is supposed to).
Unfortunately the debugging information has been stripped from the FC6 libraries so I can't trace the problem.
Enable the -debuginfo repos and install the libsndfile-debuginfo package:
# yum --enablerepo extras-debuginfo install libsndfile-debuginfo
This worked great. They are optimized, so the source is a little disjointed. And mystery solved. At configuration, libsndfile checks for flac. It it isn't there, it puts in a stub that returns an error. Libsndfile just returns a null pointer in this case so there is no indication of what is wrong. The maintainer of the libsndfile package doesn't have flac installed on the machine they compile on. That's why it worked when I compiled on my machine where flac is installed.
The only thing I can think of is that this is some sort of SELinux issue. I am running this as a user with the default permissions (permissive if I recall). From what I have read this should mean there are no issues with SELinux at all under targeted policy.
Any suggestions as to why this is happening, and possible fixes?
Find out if selinux is in permissive mode:
# sestatus
# /usr/sbin/sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: permissive Mode from config file: permissive Policy version: 21 Policy from config file: targeted
Find out if selinux is denying access by looking in the log, either /ver/log/messages, or if audit is installed /var/log/audit/audit.log.
This proved informative. SELinux wasn't denying the request. But I noticed that a remote attacker was using compromised machines from all over the world to try to log into sshd on my machine. I disabled it.
Thanks for your help Tony.
Stan
On 23/04/07, stan wrote:
And mystery solved. At configuration, libsndfile checks for flac. It it isn't there, it puts in a stub that returns an error. Libsndfile just returns a null pointer in this case so there is no indication of what is wrong. The maintainer of the libsndfile package doesn't have flac installed on the machine they compile on. That's why it worked when I compiled on my machine where flac is installed.
Then that is a missing "BuildRequires: flac-devel" in the Fedora Extras 6 package. Can you please submit a bug report about your problem at http://bugzilla.redhat.com