<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=InterCallExample</id>
	<title>InterCallExample - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=InterCallExample"/>
	<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=InterCallExample&amp;action=history"/>
	<updated>2026-04-28T22:08:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://pickwiki.org/index.php?title=InterCallExample&amp;diff=1907&amp;oldid=prev</id>
		<title>Conversion script: link fix</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=InterCallExample&amp;diff=1907&amp;oldid=prev"/>
		<updated>2015-02-26T23:48:55Z</updated>

		<summary type="html">&lt;p&gt;link fix&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;HomePage&amp;gt;&amp;gt;SourceCode&amp;gt;&amp;gt;ExternalSource&amp;gt;&amp;gt;[[C Programs]]&amp;gt;&amp;gt;&amp;lt;nowiki&amp;gt;InterCallExample&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[InterCall]] is a C API for [[UniVerse/UniData]].  &lt;br /&gt;
&lt;br /&gt;
Administrative Supplement for Client API&amp;#039;s: http://www-3.ibm.com/software/data/u2/pubs/library/100univ/8762.pdf&lt;br /&gt;
&lt;br /&gt;
[[InterCall]] Developer&amp;#039;s Guide: http://www-3.ibm.com/software/data/u2/pubs/library/100univ/8764.pdf&lt;br /&gt;
&lt;br /&gt;
On page 12 of the [[InterCall]] Developer&amp;#039;s Guide are instructions for compiling the sample program, ictest.&lt;br /&gt;
&lt;br /&gt;
On Redhat Linux 8.0, with [[UniData]] 6.0 PE installed, I followed the instructions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@crisium icsdk]# make -f ictest.mak&lt;br /&gt;
cc ictest.o -L/usr/ud60/lib -luvic -lsocket -lnsl -lm -lc -o ictest&lt;br /&gt;
/usr/bin/ld: cannot find -lsocket&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
make: *** [ictest] Error 1&lt;br /&gt;
[root@crisium icsdk]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: You must have the environment variable UDTLIB set, (mine is /usr/ud60/lib)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ UDTLIB=/usr/ud60/lib&lt;br /&gt;
$ exort UDTLIB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The message &amp;quot;cannot find -lsocket&amp;quot; means that the compiler cannot find the file libsocket.a, which does not appear to be included with Redhat 8.  You can get it here:  http://www.phekda.freeserve.co.uk/richdawe/lsck/lsck_dl.htm  or here: http://www.isaac.cs.berkeley.edu/palmdevel/ (Thanks to Jef Lee for the second link).&lt;br /&gt;
&lt;br /&gt;
Once libsocket.a is installed (copied to /usr/lib in my case) I tried again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@crisium icsdk]# make -f ictest.mak&lt;br /&gt;
cc ictest.o -L/usr/ud60/lib -luvic -lsocket -lnsl -lm -lc -o ictest&lt;br /&gt;
ictest.o: In function `getstr&amp;#039;:&lt;br /&gt;
ictest.o(.text+0x31): the `gets&amp;#039; function is dangerous and should not be used.&lt;br /&gt;
/usr/ud60/lib/libuvic.a(rpc.o): In function `uvrpc_readn&amp;#039;:&lt;br /&gt;
rpc.o(.text+0x289d): undefined reference to `SSL_pending&amp;#039;&lt;br /&gt;
rpc.o(.text+0x28b8): undefined reference to `SSL_read&amp;#039;&lt;br /&gt;
rpc.o(.text+0x28c3): undefined reference to `SSL_get_error&amp;#039;&lt;br /&gt;
/usr/ud60/lib/libuvic.a(rpc.o): In function `uvrpc_writen&amp;#039;:&lt;br /&gt;
rpc.o(.text+0x2cdb): undefined reference to `SSL_write&amp;#039;&lt;br /&gt;
rpc.o(.text+0x2ce6): undefined reference to `SSL_get_error&amp;#039;&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
make: *** [ictest] Error 1&lt;br /&gt;
[root@crisium icsdk]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I had been forewarned about this by an email from Jeff Butera saying that they added SSL support with UD6 and I need the openssl libraries installed on my system.&lt;br /&gt;
&lt;br /&gt;
The SSL libraries in question are distributed with [[UniData]] 6 in triplicate.  The files are libssl.a and libcrypto.a.&lt;br /&gt;
&lt;br /&gt;
The ictest.mak file needs a small edit to make it link these libraries.  Edit ictest.mak and change this line:&lt;br /&gt;
:systemlibs   = -lsocket -lnsl -lm -lc&lt;br /&gt;
To this: &lt;br /&gt;
:systemlibs   = -lsocket -lnsl -lm -lc -lssl -lcrypto&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And finally, to compile:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@crisium icsdk]# make -f ictest.mak&lt;br /&gt;
cc -O -Dunix -I. -c ictest.c&lt;br /&gt;
cc ictest.o -L/usr/ud60/lib -luvic -lsocket -lnsl -lm -lc -lssl -lcrypto -o ictest&lt;br /&gt;
ictest.o: In function `getstr&amp;#039;:&lt;br /&gt;
ictest.o(.text+0x31): the `gets&amp;#039; function is dangerous and should not be used.&lt;br /&gt;
[root@crisium icsdk]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And to run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@crisium icsdk]# ./ictest&lt;br /&gt;
Host: crisium&lt;br /&gt;
User: uduser&lt;br /&gt;
Password:&lt;br /&gt;
Path or Account: /data/ud/test&lt;br /&gt;
Session open!&lt;br /&gt;
Open of VOC returned status = 18&lt;br /&gt;
Read of record returned status 0&lt;br /&gt;
Size of record = 4&lt;br /&gt;
Record contents:&lt;br /&gt;
Field 01: V&lt;br /&gt;
Field 02: ED&lt;br /&gt;
[root@crisium icsdk]#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
Wendy Smoak mailto:wsmoak@asu.edu&lt;/div&gt;</summary>
		<author><name>Conversion script</name></author>
	</entry>
</feed>