I'm having issues compiling (specifically linking) the example API scripts under Solaris and Linux. I'm getting errors using gcc on both operating systems. My versions for the Solaris machine are listed below, as well as the output of the make command. Any ideas for me?
-=-= Solaris 5.8 =-=-
[/usr/local/morph3/api]$ texis -version
Texis Web Script (Vortex) Copyright (c) 1996-2004 Thunderstone - EPI, Inc.
Commercial Version 5.00.1092163669 20040810 (sparc-sun-solaris2.6-64-32)
[/usr/local/morph3/api]$ gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs
gcc version 2.95.3 20010315 (release)
[/usr/local/morph3/api]$ make netex3
gcc -L/usr/local/morph3/api -o netex3 netex3.o /usr/local/morph3/api/txclnop.o -lntexis -ltexis -lvhttpd -lcgi -lntexis -ltexis -lapi3 -lm -lkstat -lsocket -lnsl -lresolv
Undefined first referenced
symbol in file
dlclose /usr/local/morph3/api/libtexis.a(sysdep.o) (symbol belongs to implicit dependency /usr/lib/libdl.so.1)
dlsym /usr/local/morph3/api/libtexis.a(sysdep.o) (symbol belongs to implicit dependency /usr/lib/libdl.so.1)
dlopen /usr/local/morph3/api/libtexis.a(sysdep.o) (symbol belongs to implicit dependency /usr/lib/libdl.so.1)
dlerror /usr/local/morph3/api/libtexis.a(sysdep.o) (symbol belongs to implicit dependency /usr/lib/libdl.so.1)
ld: fatal: Symbol referencing errors. No output written to netex3
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `netex3'
I have tried both the default cc options and the ones provided in the makefile under the #Solaris comment (above). Both sets of flags result in the same errors.
These errors look more like none of the linking is working.
Redhat Adv Server, update 3
$ texis -version
Texis Web Script (Vortex) Copyright (c) 1996-2004 Thunderstone - EPI, Inc.
Commercial Version 5.01.1101229358 20041123 (i686-unknown-linux2.4.9-64-32)
$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux7/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-128)
$ make netex3
cc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_REENTRANT -I/usr/local/morph3/api -O -g -c -o netex3.o netex3.c
netex3.c: In function `main':
netex3.c:223: warning: return type of `main' is not `int'
cc -L/usr/local/morph3/api -o netex3 netex3.o /usr/local/morph3/api/txclnop.o -lntexis -ltexis -lvhttpd -lcgi -lntexis -ltexis -lapi3 -lm -lcrypt -ldl -lpthread
/usr/local/morph3/api/libtexis.a(fdbf.o)(.text+0xe21): In function `openfdbf':
: the use of `tempnam' is dangerous, better use `mkstemp'
/usr/local/morph3/api/libntexis.a(texiscl.o)(.text+0x407c): In function `newindirect':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libntexis.a(ezsock.o)(.text+0x1142): In function `ezsvc2int':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libntexis.a(tisp.o)(.text+0x62a): In function `tspdispatch':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libntexis.a(tisp.o)(.text+0x775): In function `tsprun':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libntexis.a(tisp.o)(.text+0xba5): In function `tspfgets':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libntexis.a(url.o)(.text+0x15): more undefined references to `__ctype_b' follow
/usr/local/morph3/api/libntexis.a(sregex.o)(.text+0x7f3): In function `sregprefix':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libntexis.a(sregex.o)(.text+0x81e): In function `sregprefix':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(monsock.o)(.text+0x26d7): In function `proc_schedule':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(monsock.o)(.text+0x26f4): In function `proc_schedule':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(strcat3.o)(.text+0x3d8): In function `readfunctionargs':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(strcat3.o)(.text+0x4a1): In function `valsplit':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(strcat3.o)(.text+0x50c): more undefined references to `__ctype_b' follow
/usr/local/morph3/api/libtexis.a(fdbim.o)(.text+0x4822): In function `wtix_insert':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libtexis.a(fdbim.o)(.text+0x4965): In function `wtix_insertloc':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libtexis.a(dbtbl.o)(.text+0x9c3): In function `createdbtbl':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(dbtbl.o)(.text+0x4229): In function `fupper':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libtexis.a(dbtbl.o)(.text+0x4275): In function `flower':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libtexis.a(dbtbl.o)(.text+0x42b6): In function `finitcap':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(dbtbl.o)(.text+0x42d7): In function `finitcap':: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libtexis.a(dbtbl.o)(.text+0x42ee): In function `finitcap':: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libtexis.a(dbtbl.o)(.text+0x42fd): In function `finitcap':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(dbtable.o)(.text+0xe19): In function `dbuftofld':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(dbtable.o)(.text+0xe93): In function `dbuftofld':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(text2mm.o)(.text+0x419): In function `getexps':: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libtexis.a(strlwr.o)(.text+0x22): In function `strlwr':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0x1c2): In function `token':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0x1ff): In function `token':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0x231): In function `token':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0x280): In function `token':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0xac7): In function `ymdhms':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0xae4): more undefined references to `__ctype_b' follow
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0xafa): In function `ymdhms':: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0xb17): In function `ymdhms':: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0x15bc): In function `skipof':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0x15e3): In function `skipof':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(parsetim.o)(.text+0x17ee): In function `parsetime':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(vcalendar.o)(.text+0x1b8): In function `timelist':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(vcalendar.o)(.text+0x1e0): In function `timelist':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(vcalendar.o)(.text+0x309): more undefined references to `__ctype_b' follow
/usr/local/morph3/api/libtexis.a(match.o)(.text+0x19e): In function `TXtransexp':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libtexis.a(match.o)(.text+0x1b9): In function `TXtransexp':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libtexis.a(spectype.o)(.text+0x57c): In function `fococh':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(spectype.o)(.text+0x81c): In function `hex2bin':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(spectype.o)(.text+0x85a): In function `hex2bin':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(spectype.o)(.text+0x8dc): In function `hex2bin':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(abstract.o)(.text+0x45b): In function `abstract':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(abstract.o)(.text+0x529): more undefined references to `__ctype_b' follow
/usr/local/morph3/api/libtexis.a(vxsandr.o)(.text+0x209): In function `parserepl':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libtexis.a(ddgetidx.o)(.text+0xbf): In function `fieldmatch':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(ddgetidx.o)(.text+0xd2): In function `fieldmatch':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(readtoke.o)(.text+0x256): In function `readtoken':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(readtoke.o)(.text+0x328): In function `readtoken':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(readtoke.o)(.text+0x678): In function `readtoken':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libtexis.a(readtoke.o)(.text+0x6fc): more undefined references to `__ctype_b' follow
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0x263): In function `opencp':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0x930): In function `hex_to_dec':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0x938): In function `hex_to_dec':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0x9bb): In function `get_echar':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0xc34): In function `skip_whitespace':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0xdc8): In function `is_number':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0xe7e): In function `get_long':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0xf42): In function `get_ulong':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0xfe9): In function `is_alpha':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0x1008): In function `is_bool':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0x11c0): In function `is_id':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(cp.o)(.text+0x1f83): In function `build_echar':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(eqvpar.o)(.text+0xb5): In function `fixlogic':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(eqvpar.o)(.text+0x109): more undefined references to `__ctype_b' follow
/usr/local/morph3/api/libapi3.a(mdpar.o)(.text+0x2e2): In function `qdelims':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(mdpar.o)(.text+0x318): In function `qdelims':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(mdpar.o)(.text+0x736): In function `mdpar':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(txstrncpy.o)(.text+0x94): In function `TXstrnispacecmp':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(txstrncpy.o)(.text+0x9c): In function `TXstrnispacecmp':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(txstrncpy.o)(.text+0x113): In function `TXstrnispacecmp':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(txstrncpy.o)(.text+0x138): In function `TXstrnispacecmp':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(txstrncpy.o)(.text+0x168): In function `TXstrnispacecmp':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(txstrncpy.o)(.text+0x190): In function `TXstrnispacecmp':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(strtoh.o)(.text+0x69): In function `strtouh':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(langc.o)(.text+0x10): In function `iinitwlc':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(ppm.o)(.text+0x13): In function `initppmct':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(ppm.o)(.text+0x26): In function `initppmct':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(ppm.o)(.text+0x816): In function `initppms':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(ppm.o)(.text+0x853): In function `initppms':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(ppm.o)(.text+0x86b): In function `initppms':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(ppm.o)(.text+0x895): In function `initppms':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(ppm.o)(.text+0x8b9): In function `initppms':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(ppm.o)(.text+0x1396): In function `xlateppm':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(ppm.o)(.text+0x1402): In function `xlateppm':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(presuf.o)(.text+0x172): In function `prefcmpi':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(presuf.o)(.text+0x1f0): In function `PSbsrch':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(presuf.o)(.text+0x2b2): In function `prefsz':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(presuf.o)(.text+0x4bb): In function `rmsuffix':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(presuf.o)(.text+0x4e7): In function `rmsuffix':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(presuf.o)(.text+0x505): more undefined references to `__ctype_tolower' follow
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0xa1): In function `dobslash':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0xe1): In function `dobslash':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0x121): In function `dobslash':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0x161): In function `dobslash':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0x1a1): In function `dobslash':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0x1e1): more undefined references to `__ctype_b' follow
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0x372): In function `dobslash':: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0x603): In function `eatspace':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0x63a): In function `eatdigit':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0x6e4): In function `reppar':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0x76d): In function `reppar':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0x7bb): In function `reppar':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0xca8): more undefined references to `__ctype_b' follow
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0xcb4): In function `f3par':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0xccd): In function `f3par':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(rex_lib.o)(.text+0xcd9): In function `f3par':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(spm.o)(.text+0x1a): In function `initspmct':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(spm.o)(.text+0x37): In function `initspmct':
: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(spm.o)(.text+0x5c): In function `initspmct':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(apimm3e.o)(.text+0x4e2): In function `xpmsetup':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(apimm3e.o)(.text+0xa8b): In function `initmmct':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(apimm3e.o)(.text+0xa9e): In function `initmmct':: undefined reference to `__ctype_toupper'
/usr/local/morph3/api/libapi3.a(apimm3e.o)(.text+0xaa7): In function `initmmct':: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(apimm3e.o)(.text+0x1866): In function `fnameseek':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(apimm3e.o)(.text+0x1896): In function `fnameseek':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(npm.o)(.text+0x29b): In function `getnpm':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(npmp_lib.o)(.text+0x22c): In function `ntlst':
: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(npmp_lib.o)(.text+0x256): In function `ntlst':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(npmp_lib.o)(.text+0x56d): In function `ctoi':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(npmp_lib.o)(.text+0x605): In function `diglexy':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(npmp_lib.o)(.text+0x67c): In function `diglexy':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(npmp_lib.o)(.text+0x6e1): In function `diglexy':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(npmp_lib.o)(.text+0x7a0): In function `diglexy':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(npmp_lib.o)(.text+0x7f1): In function `diglexy':: undefined reference to `__ctype_b'
/usr/local/morph3/api/libapi3.a(npmp_lib.o)(.text+0x925): more undefined references to `__ctype_b' follow
/usr/local/morph3/api/libapi3.a(xpm.o)(.text+0x1b6): In function `openxpm':
: undefined reference to `__ctype_tolower'
/usr/local/morph3/api/libapi3.a(xpm.o)(.text+0x1f9): In function `openxpm':
: undefined reference to `__ctype_toupper'
collect2: ld returned 1 exit status
make: *** [netex3] Error 1
Yes, cc and gcc are the same thing on Linux. Looks like part of your standard lib is missing/changed, "ctypes" in particular. Compiling with the exact gcc you are works for me on redhat 7.3 with 2.4.18-19.7.x kernel and glibc 2.2.5 (ls -l /lib/libc.so.6).