Suite aux judicieux conseils de Vincent Rogier - l'auteur de OCILIB - et contrairement à mes dires, j'ai finalement réussi à compiler Ocilib 3.4.0 avec Oracle 8.1.7.4.0.et effectuer mes tests

1. Installation

Conformément à ma documentation sur Oracle 8i, on chroot et on installe

wget "http://downloads.sourceforge.net/project/orclib/OCILIB%20Sources/3.4.0/ocilib-3.4.0-gnu.tar.gz?use_mirror=freefr" -q -O - | tar -xzf -
cd ocilib-3.4.0/
LDFLAGS="-L$ORACLE_HOME/lib/ -lclient8"  CPPFLAGS="-I$ORACLE_HOME/rdbms/demo" ./configure && make && make install

2. Petits tests

Le même programme que le précédent billet

monroe:~/ocilib-test# cat connection1.c
#include "ocilib.h"
  
int main(void)
{
  OCI_Connection *cn;
  
  if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT))
    return EXIT_FAILURE;
  
  cn = OCI_ConnectionCreate("webmedia", "udweb", "udweb", OCI_SESSION_DEFAULT);
  
  if (cn != NULL)
  {
    printf(OCI_GetVersionServer(cn));
    
    printf("Server major    version : %i\n", OCI_GetServerMajorVersion(cn));
    printf("Server minor    version : %i\n", OCI_GetServerMinorVersion(cn));
    printf("Server revision version : %i\n", OCI_GetServerRevisionVersion(cn));
    
    printf("Connection      version : %i\n", OCI_GetVersionConnection(cn));

    OCI_ConnectionFree(cn);
  }
  
  OCI_Cleanup();
  
  return EXIT_SUCCESS;
}      

En ayant le Makefile suivant:

INCS =  -I/usr/local/include
CFLAGS = -DOCI_IMPORT_LINKAGE -DOCI_CHARSET_ANSI
LDFLAGS= -L/u01/app/oracle/product/8.1.7/lib -lclntsh  -L/usr/local/lib -locilib
CC = gcc
SRCS = connection1.c
OBJS = $(SRCS:.c=.o)

all: connection1

demo: $(OBJS)
	$(CC) $(LDFLAGS) -o $@ $(OBJS)

.c.o:
	$(CC) $(INCS) $(CFLAGS) -c -o $@ $<

clean: 
	rm -f *~ $(OBJS)

on compile et on test

monroe:~/ocilib-test# make
gcc -I/usr/local/include -DOCI_IMPORT_LINKAGE -DOCI_CHARSET_ANSI -c -o connection1.o connection1.c
gcc -L/u01/app/oracle/product/8.1.7/lib -lclntsh  -L/usr/local/lib -locilib  connection1.o   -o connection1
monroe:~/ocilib-test# ./connection1 
Oracle8i Enterprise Edition Release 8.1.7.4.0 - Production
With the Partitioning option
JServer Release 8.1.7.4.0 - ProductionServer major    version : 8
Server minor    version : 1
Server revision version : 8
Connection      version : 0