Tiny Core Linux

Tiny Core Base => TCB Bugs => Topic started by: lapawa on March 25, 2014, 11:46:35 AM

Title: 5.2: glibc does not export any xdr_ symbols
Post by: lapawa on March 25, 2014, 11:46:35 AM
Once again I'm compiling open-vm-tools for TCL 5.2.
They depend on rpc method exported by the glibc.
I've found the corresponding xdr_ functions in the header file /usr/include/rpc/xdr.h.
E.g.: extern bool_t xdr_int16_t (XDR *__xdrs, int16_t *__ip) __THROW;
But the linker can't find the symbols in any shared library.
Are they missing in the glibc binary of TCL5.2?

They were available back in tcl version 4.7

Thanks for any comments.

Title: Re: 5.2: glibc does not export any xdr_ symbols
Post by: Juanito on March 25, 2014, 02:22:15 PM
Perhaps you need libtirpc-dev?
Title: Re: 5.2: glibc does not export any xdr_ symbols
Post by: curaga on March 26, 2014, 06:34:07 AM
RPC was removed from upstream glibc several versions ago, IIRC in 2.14.
Title: Re: 5.2: glibc does not export any xdr_ symbols
Post by: andyj on March 26, 2014, 11:38:03 AM
What version of open-vm-tools are you using? I have some scripts that I developed for TC 5.0 which will build open-vm-tools-9.2.3-1031360 using libtirpc-0.2.3, but I haven't maintained them for the latest versions. I went around with the TC team about the move from eglibc to glibc and the lack of RPC and lost, so we're on our own. Someday I'll update the wiki for 5.0, when I get it working with libtirpc-0.2.4.

Andy
Title: Re: 5.2: glibc does not export any xdr_ symbols
Post by: lapawa on April 08, 2014, 06:30:49 AM
I'm working with the newest version from sf.net: open-vm-tools-9.4.0-1280544.tar.gz
The build does not work with the tirpc library.

Code: [Select]
--snipped--
dynxdr.c: In function 'DynXdr_Create':
dynxdr.c:320:7: error: initialization from incompatible pointer type [-Werror]
dynxdr.c:320:7: error: (near initialization for 'dynXdrOps.x_getpostn') [-Werror]
dynxdr.c:326:7: error: excess elements in struct initializer [-Werror]
dynxdr.c:326:7: error: (near initialization for 'dynXdrOps') [-Werror]
cc1: all warnings being treated as errors
--snipped--

I've tried
   CFLAGS=-I/usr/local/include/tirpc
and
   LDFLAGS=-ltirpc
without success.
I don't want to dive too deep into the automake/configure mechanism this is always very time consuming.
Do you habe any patches or hints for me to get a version with tirpc running.
In the source code (e.g. lib/dynxdr/dynxdr.c and lib/include/vmxrpc.h) are some preprocessor statements #if defined(__GLIBC__) || defined(__SUN__) hidden.
Have you altered them?
Thanks for any advice
Title: Re: 5.2: glibc does not export any xdr_ symbols
Post by: bmarkus on April 08, 2014, 08:10:43 AM
Did you install libtirpc.tcz?
Title: Re: 5.2: glibc does not export any xdr_ symbols
Post by: lapawa on April 08, 2014, 11:24:31 AM
I've worked out a way to get the tools working with libtirpc.
The source files need some patching. There are several #define statements asuming a glibc implementation with rpc support.
I've extended them with a HAVE_TIRPC statement. Et voila. the tools can be build.
Here is the patch and some incomplete build instructions:
  https://github.com/lapawa/tc5-open-vm-tools/blob/master/open-vm-tools-9.4.0-1280544.patch
Any questions are welcome....
Title: Re: 5.2: glibc does not export any xdr_ symbols
Post by: andyj on April 10, 2014, 10:17:25 PM
I built a working set of patch files for libtirpc-0.2.3 to get open-vm-tools working, but I haven't worked on libtirpc-0.2.4. I saw that someone uploaded the unpatched libtirpc extension, but knowing it wasn't patched I'm not surprised that open-vm-tools doesn't work with it. As far as I know, you are the only other person that has any interest in working on this. If you want to get the latest open-vm-tools and libtirpc working, let me know and I'll send you what I have for the previous versions and we can work from there.

Andy