I am porting C code to a linux system but I am unable to link a call to the sysfs function.
An excerpt from my code is:
Code:
if (fstat(fileno(TrCtl.Fp), &fsstat) != -1)
{
(void) sysfs(1, fsname);
if (strcmp(fsname, "nfs"))
{
(void) lockf(fileno(TrCtl.Fp), F_LOCK, 0L);
}
}
This code is compiled into a library, but when linked to the main executable I get the following error:
Code:
/usr/bin/gcc -o oracle_connect oracle_connect.o -L /usr/lib -L /home/mb/build/dev/Lib -ltrace /home/mb/build/dev/Lib/libtrace.a
(traceopen.o)(.text+0x172): In function `traceopen':
: undefined reference to `sysfs'
collect2: ld returned 1 exit status
The man page suggests that I do not need to reference any particular headers or files.
I have checked the libc library and it does contain sysfs.o,
but I am at loss as how to reference it.
Does any one know? Is it even possible in Linux?
My versions are:
Red Hat Enterprise Linux AS release 3 (Taroon)
Linux ccabccesd2 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:52:56 EDT 2003 i686 i686 i38 6 GNU/Linux
On my box sysfs in defined in libc.0 which is a link to the current version of libc.
Which is where you'd expect it to be....
try to find where sysfs is located:
Code:
for file in *
do
nm $file | grep sysfs
if [ $? -eq 0 ]; then
echo $file
fi
done
look for the entry point:
sysfs | 0|sdef |code |$CODE$
If all else fails then link against libc.a as the very last step in the link statement.
Assuming that nm shows it to be in there. Your compiler does support sysfs ie., it's in the man pages?
Yay, sysfs is indeed in the man pages and describes 3 variants.
I had already searched through the libraries using ar, and found sysfs.o in libc.a! Within the same library archive are the standard goodies such as printf and I have no trouble with this function.
Is it possible that it is not supported? In my man page there is a cryptic statement which may suggest this: "There is no libc or glibc support."
I was recently working on a project where some gpio pins were being toggled from within the user space:
const char *const amplifierGPIO = "/sys/class/gpio/gpio107/value";
void amplifierUnmute()
{
std::ofstream amp(amplifierGPIO);
if (amp.is_open())
{
... (3 Replies)
Hello All,
I am new to use linux. I installed SUSE Linux Enterprise Server 11 (x86_64) trail version which is free for 60 days.
Now I want to again format the whole system and install the same OS again but its not happening.
I am trying with a bootable pen drive which has an .iso image of... (1 Reply)
Guys,
May i know how can we de reference the code reference variable.?
my $a = sub{$a=shift;$b=shift;print "SUM:",($a+$b),"\n";};
print $a->(4,5);
How can we print the whole function ?
Please suggest me regarding this.
Thanks for your time :)
Cheers,
Ranga :) (0 Replies)
Hi
I am using red hat linux, In my folder a strange folder is created i.e. " -a " , folder name is preceded with hyphen. Now if i try to remove with rm -rf -1 , i am unable to do it.
Can anyone please let me know how to do it, & what this kind of folder means
Thanks
Sarbjit (3 Replies)
Hi all,
I installed red hat 2.6.9-5 and when I am trying to ping it.I am able to ping any other machine in the network but unable to do vice-versa(means unable to ping this machine from any other machine) and getting the message --
please provide your valuable suggestions ... (2 Replies)
Hi all,
Currently i am involved in developing a device driver for a custom hardware.
My linux stack already has the sysfs directory structure
/sys/class/hwmon/
My need is that, while loading my device driver i need to create a "xyz" sysfs directory inside hwmon sysfs directory as... (0 Replies)
hello to everyone, need your expertise with regards to linux. one of the systems engineer in our project created a ftp account in redhat linux. i'm using xftp for file transfer, the given ftp useraccount were able to login in the ftp browser, but the problem occurs when transfering files from xp... (10 Replies)
Hello
I am able to connect from Linux machine to Windows machine, but i can not connect from Windows to Linux. Even i can print also from linux to windows... what could be the problem... pl help.
thanks (5 Replies)