Sun RPC support not detected in glibc-2.26 or later, build fails
Dominik 'Rathann' Mierzejewski <[email protected]>
| Newsgroups | gmane.comp.lang.4gl.aubit.general |
|---|---|
| Message-ID | <[email protected]> |
Dear developers,
Sun RPC interfaces in glibc were deprecated in glibc-2.26 and consumers
must migrate to libtirpc (API compatible). These flags must be used
during compilation:
$ pkg-config --cflags libtirpc
-I/usr/include/tirpc
$ pkg-config --libs libtirpc
-ltirpc
https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html
[...]
* Sun RPC is deprecated. The rpcgen program, librpcsvc, and Sun RPC headers
will only be built and installed when the GNU C Library is configured with
--enable-obsolete-rpc. This allows alternative RPC implementations, such
as TIRPC or rpcsvc-proto, to be used.
This affects Fedora 28 or later and any other Linux distribution based
on glibc-2.26 or later.
I tried the latest SVN r12635 and compilation fails:
...
Checking for Sun RPC support:
checking for svctcp_create... no
checking rpc/rpc.h usability... no
checking rpc/rpc.h presence... no
checking for rpc/rpc.h... no
checking rpc.h usability... no
checking rpc.h presence... no
checking for rpc.h... no
configure: WARNING: Ooops-you dont have RPC function in GLIBC
checking for main in -lrpclib... no
checking for main in -lrpcsvc... no
checking for rpcgen... /usr/bin/rpcgen
...
/usr/bin/rpcgen form_x.x
gcc -Wall -Wredundant-decls -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -g -fPIC -DPIC -DSRC_TREE -DDEBUG -DHAVE_CONFIG_H= -I/builddir/build/BUILD/aubit4gl-20190208/incl -I/builddir/build/BUILD/aubit4gl-20190208 -fPIC -DPIC -I.. -D_NO_FORM_X_H_ -I../../tools/no_rpc/cygwin -Wno-unused -c form_x_xdr.c -o form_x_xdr.o
In file included from ../../tools/no_rpc/cygwin/rpc/rpc.h:62,
from form_x.h:9,
from form_x_xdr.c:6:
../../tools/no_rpc/cygwin/rpc/auth.h:74:5: error: unknown type name 'u_int32'
u_int32 high;
^~~~~~~
../../tools/no_rpc/cygwin/rpc/auth.h:75:5: error: unknown type name 'u_int32'
u_int32 low;
^~~~~~~
...
I tried patching configure.in to use tirpc and regenerating it with autoconf -fiv,
but it fails to regenerate:
...
autoheader: warning: missing template: HAS_SIGACTION_SA_HANDLER
autoheader: Use AC_DEFINE([HAS_SIGACTION_SA_HANDLER], [], [Description])
autoheader: warning: missing template: HAVE_CURSES
autoheader: warning: missing template: HAVE_ECPGGET_CONNECTION
autoheader: warning: missing template: HAVE_ECPGGET_PGCONN
autoheader: warning: missing template: HAVE_ECPG_GET_CONNECTION
autoheader: warning: missing template: HAVE_HARU
autoheader: warning: missing template: HAVE_IFX
autoheader: warning: missing template: HAVE_IFX_IUS
autoheader: warning: missing template: HAVE_LIBQRENCODE_ENCODEMASK
autoheader: warning: missing template: HAVE_LIB_DL
autoheader: warning: missing template: HAVE_PGSQL
autoheader: warning: missing template: HAVE_PQCMDTUPLES
autoheader: warning: missing template: HAVE_SAPDB
autoheader: warning: missing template: HAVE_SELECT
autoheader: warning: missing template: HAVE_SENDMAIL
autoheader: warning: missing template: HAVE_SMTPLIB_PART_END
autoheader: warning: missing template: HAVE_WIDE_NCURSES
autoheader: warning: missing template: HAVE_WINSLEEP
autoheader: warning: missing template: IFX_VERSION
autoreconf: /usr/bin/autoheader failed with exit status: 1
Regards,
Dominik
--
Fedora https://getfedora.org | RPM Fusion http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
-- from "Collected Sayings of Muad'Dib" by the Princess Irulan