Discussion:
[Ipmitool-devel] Streams: system library stropts
milos
2016-03-11 14:35:05 UTC
Permalink
Dear devels.

Preparing ipmitool build environment with enabled Solaris 10 IPMI tool
configuration option (--enable-intf-bmc)
fails to build bmc:

/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H -I. -I../../.. -I../../../include -g -O2 -Wall
-Wextra -std=c99 -pedantic -Wformat -Wformat-nonliteral -MT bmc.lo -MD
-MP -MF .deps/bmc.Tpo -c -o bmc.lo bmc.c
bmc.c:46:25: fatal error: sys/stropts.h: No such file or directory
#include <sys/stropts.h>
^
compilation terminated.
make: *** [bmc.lo] Error 1


One of the sources the bmc.c code needs system header file stropts.h.
The header provides
macros requesters and structs argument to ioctl. Example of both are
I_STR and struct strioctl.
Streams are optional in POSIX. They are not implemented on all Linux
distributions. Ubuntu and Centos are examples
which clearly shows discrepancies. The former provides the stream
functionality with libc6-\* packages, on the
other hand Centos does not in anyway (probably in some other way).
We need the ipmi bmc support for our platforms.

Any comments are appreciated concerning the issue.


Ipmitool
-----------
Source fresh checkouted from superfeature branch

System OS and packages
----------------------------------
Centos-7 x86_64
kernel 3.10.0-327.10.1.el7,
glibc-devel-2.17-106
glibc-2.17-106
glibc-common-2.17-106
glibc-headers-2.17-106
compat-glibc-2.12-4
compat-glibc-headers-2.12-4


Best regards,
Milos
--
Milos Bajic
Software Development Engineer
P: +386 5 335 26 00
E: ***@i-tech.si <mailto:***@i-tech.si>
Instrumentation Technologies, d. d.
Velika pot 22 - 5250 Solkan - Slovenia
F: +386 5 335 26 01
www.i-tech.si <http://www.i-tech.si>

/The information transmitted is intended solely for the addresses and
may contain confidential and/or privileged information. Any review,
retention, disclosure or other use by persons other than the intended
recipient is prohibited. If you received this in error, please notify
the sender and delete all copies.///////
Zdenek Styblik
2016-03-11 18:03:23 UTC
Permalink
Post by milos
Dear devels.
Preparing ipmitool build environment with enabled Solaris 10 IPMI tool
configuration option (--enable-intf-bmc)
/bin/sh ../../../libtool --silent --tag=CC --mode=compile gcc
-DHAVE_CONFIG_H -I. -I../../.. -I../../../include -g -O2 -Wall -Wextra
-std=c99 -pedantic -Wformat -Wformat-nonliteral -MT bmc.lo -MD -MP -MF
.deps/bmc.Tpo -c -o bmc.lo bmc.c
bmc.c:46:25: fatal error: sys/stropts.h: No such file or directory
#include <sys/stropts.h>
^
compilation terminated.
make: *** [bmc.lo] Error 1
One of the sources the bmc.c code needs system header file stropts.h. The
header provides
macros requesters and structs argument to ioctl. Example of both are I_STR
and struct strioctl.
Streams are optional in POSIX. They are not implemented on all Linux
distributions. Ubuntu and Centos are examples
which clearly shows discrepancies. The former provides the stream
functionality with libc6-\* packages, on the
other hand Centos does not in anyway (probably in some other way).
We need the ipmi bmc support for our platforms.
Hello,

the only and very stupid reply which comes to my mind is ... to
re-implement for GNU/Linux :-\

Best regards,
Z.

--
Zdenek Styblik
Post by milos
Any comments are appreciated concerning the issue.
Ipmitool
-----------
Source fresh checkouted from superfeature branch
System OS and packages
----------------------------------
Centos-7 x86_64
kernel 3.10.0-327.10.1.el7,
glibc-devel-2.17-106
glibc-2.17-106
glibc-common-2.17-106
glibc-headers-2.17-106
compat-glibc-2.12-4
compat-glibc-headers-2.12-4
Best regards,
Milos
--
Milos Bajic
Software Development Engineer
P: +386 5 335 26 00
Instrumentation Technologies, d. d.
Velika pot 22 - 5250 Solkan - Slovenia
F: +386 5 335 26 01
www.i-tech.si
The information transmitted is intended solely for the addresses and may
contain confidential and/or privileged information. Any review, retention,
disclosure or other use by persons other than the intended recipient is
prohibited. If you received this in error, please notify the sender and
delete all copies.
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Raymundo M. Vega
2016-03-11 20:04:38 UTC
Permalink
There is no need to be radical, this from ubuntu 14.04 system:

***@eng10:~$ find /usr/include -name stropts.h
/usr/include/x86_64-linux-gnu/sys/stropts.h
/usr/include/x86_64-linux-gnu/bits/stropts.h
/usr/include/stropts.h

~raymundo
milos
2016-03-14 08:16:35 UTC
Permalink
Post by Raymundo M. Vega
/usr/include/x86_64-linux-gnu/sys/stropts.h
/usr/include/x86_64-linux-gnu/bits/stropts.h
/usr/include/stropts.h
~raymundo
What you suggested is not functional solution. One thing are header
files providing definitions and function declarations, the other is
implementation collection of the declared functions providing necessary
functionalities to outside world. The functionalities are generally
exposed as shared libraries located in one of the system architecture
library folders (/lib<qual>, /usr/lib<qual>, /libnx32) or in others
(/usr/local/lib<qual>). Key Linux system functionalities provides GNU
with (g)libc* libraries.
Post by Raymundo M. Vega
the only and very stupid reply which comes to my mind is ... to
re-implement for GNU/Linux
The same thing cross my mind.

Best regards,
M
Raymundo M. Vega
2016-03-14 18:58:07 UTC
Permalink
Based on provided listing, libtool is being used in compile mode to produce a libtool object file from bmc.c
compile stopped because compiler did not found header <sys/stropts.h> in any of the provided path
under ā€œ-Iā€ arguments, in your place i will find where is the file and add that path in the Makefile and try again

~raymundo
milos
2016-03-15 10:10:50 UTC
Permalink
Thanks for all the replies.

Not supported workaround is by copying the system header file from
Ubuntu distribution or any other
for the same manner on the destination distribution without system
library non-POSIX STREAM support.
To summarize, STREAM headers local location src/plugins/includefor
64-bit arch. (multiarch support
become serious issue and unmanageable)

[***@localhost:plugins]$ find -L include -type f -exec ls -li {} +
10486869 -rw-r--r--. 2 root root 8533 feb 16 20:24 include/bits/stropts.h
10486877 -rw-r--r--. 2 root root 1214 feb 16 20:14 include/bits/xtitypes.h
10486875 -rw-r--r--. 1 root root 3111 feb 16 20:24 include/stropts.h
10486872 lrwxrwxrwx. 1 root root 33 feb 16 20:29 include/sys/stropts.h
-> ../x86_64-linux-gnu/sys/stropts.h
10486869 -rw-r--r--. 2 root root 8533 feb 16 20:24
include/x86_64-linux-gnu/bits/stropts.h
10486877 -rw-r--r--. 2 root root 1214 feb 16 20:14
include/x86_64-linux-gnu/bits/xtitypes.h
10486749 -rw-r--r--. 1 root root 21 feb 16 20:24
include/x86_64-linux-gnu/sys/stropts.h

Extend rules in {lipmi,bmc}/Makefile.am files by adding compiler search
header path -I$(srcdir)/../include
Adding different system libraries from other distributions is
blasphemously!

I highly discourage such procedures, since it should be the ipmi devels
responsibility the ipmitool is POSIX compliance.
Please, take this into consideration if possible for future developments.

Best regards,
M
Zdenek Styblik
2016-03-16 06:38:35 UTC
Permalink
On Tue, Mar 15, 2016 at 11:10 AM, milos <***@i-tech.si> wrote:
[...]
Post by milos
I highly discourage such procedures, since it should be the ipmi devels
responsibility the ipmitool is POSIX compliance.
Please, take this into consideration if possible for future developments.
Hello Milos,

if there were any developers, they probably would. It's (F)OSS. If you have
itch, scratch it. Either by yourself, or by paying somebody.
Sorry, but that's how it is.

Best regards,
Z.

--
Zdenek Styblik
Post by milos
Best regards,
M
------------------------------------------------------------------------------
Post by milos
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Ipmitool-devel mailing list
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
Loading...