Help with fglgo recompile
Posted in 1994
Topics: Connectivity: ESQL/C, 4GL & Embedded SQL
I am attempting to call C functions from within 4GL-RDS 4.11-UC2. I am using gcc version 2.3.3 but when I get to linking I die with the following error. ld: elf error: file /opt/informix/lib/libfesql.a: elf_begin: Format error: archive fmag Has anyone seen this before ? I tried Informix support but they had never heard of gcc <sigh>. I have included the files I am using below for reference: Thanks in advance for any pointers -- Frank Dauns dauns@andrews.edu ---------- fgiusr.c ---------- #include "fgicfunc.h" int foobar(); cfunc_t usrcfuncs[] = { "foobar", foobar, 0, 0, 0, 0 }; --------- foobar.c ----------- #include <stdio.h> #include <time.h> foobar() { int x; printf("Hello World\\n"); scanf("%d%*c",&x); printf("%d",x); } --------- fun.4gl ------------ main call foobar() end main --------- cfglgo ------------- # ********************************************************************** # # script to make new 4GL Runner # # ********************************************************************** INFDIR=${INFORMIXDIR=/usr/informix} ESQLC=$INFDIR/lib/esqlc FGIUSR=$INFDIR/etc/fgiusr.c LIBFMAIN=$INFDIR/lib/libfmain.a LIBFGLGO=$INFDIR/lib/libfglgo.a LIB4GL=$INFDIR/lib/lib4gl.a LIB4IO=$INFDIR/lib/lib4io.a LIBCOLOR=$INFDIR/lib/libncolor.a LIBFE=$INFDIR/lib/libfe.a LIBSQL=$INFDIR/lib/libfesql.a LIBES="$LIBFGLGO $LIB4GL $Lncl $A $LIBFMAIN $LIBES -ltermlib \\ /usr/ucblib/libucb.a -L /opt/SUNWspro/SC2.0.1/cg92 STAT=$? fi exit $STAT API="true" ;; *.ec ) $ECHO $ESQLC $F A="$A `basename $F .ec`.c" ;; *fgiusr.o ) FGIUSR= A="$A $F" ;; *fgiusr.c ) FGIUSR= A="$A $F" ;; * ) A="$A $F" ;; esac done if [ $API ] then if [ ! -r ./fgiusr.o ] then RMFGIUSR="true" fi # $ECHO cc -fast -xO3 -xcg92 \\ # -DINFORMIX_RDS -I$INFDIR/incl $A $FGIUSR $LIBES -ltermlib \\ # /usr/ucblib/libucb.a -L /opt/SUNWspro/SC2.0.1/cg92 $ECHO gcc \\ -DINFORMIX_RDS -I$INFDIR/incl $A $FGIUSR $LIBES -ltermlib \\ /usr/ucblib/libucb.a -L /opt/SUNWspro/SC2.0.1/cg92 STAT=$? if [ $RMFGIUSR ] then rm -f ./fgiusr.o fi else # $ECHO cc -fast -xO3 -xcg92 \\ # -I$INFDIR/incl $A $LIBFMAIN $LIBES -ltermlib \\ # /usr/ucblib/libucb.a -L /opt/SUNWspro/SC2.0.1/cg92 $ECHO gcc \\ -I$INFDIR/incl $A $LIBFMAIN $LIBES -ltermlib \\ /usr/ucblib/libucb.a -L /opt/SUNWspro/SC2.0.1/cg92 STAT=$? fi exit $STAT -- Frank Dauns dauns@andrews.edu