[comp.soft-sys.andrew] dofix-problem

gk5g+@ANDREW.CMU.EDU (Gary Keim) (07/09/90)

From andrew/config/ImakeMacros.d:

4.2.2	DynamicMultiObject

Syntax:
DynamicMultiObject(dobj, objs, libs, syslibs)

Arguments:
dobj - final name for resulting dynamic object (with extension)
objs - space separated list of object (.o) files
libs - space separated list of library (.a) files which dobj can be
dependent upon
syslibs - space separated list of system library files to be linked against
(most common use: -lm  for the math library)

Note:
All arguments need not be present - but the commas must be there, and
the arguments which are to be filled in should be in the correct place
with respect to the commas.

Expanded Macro:
all:: dobj

dobj: objs libs
	$(MAKEDO) $(MAKEDOFLAGS) -o dobj objs libs syslibs

Use:
Use for creating dynamic object files that are dependent upon several
object (.o) files and/or library (.a) files and/or system library files.

Put a line like this in your Imakefile, re-run genmake and see if that helps.

Gary Keim
ATK Group

vdbroek@shapetc.UUCP (Klaas vd Broek) (07/10/90)

I am trying to make an Andrew application to interact with Oracle RDBMS.
I added the proper included statements and embedded SQL statements in 
a .c file together with the class methods and procedures, run it through
the CPP (Oracle C preprocessor that produces c code) and the let the
make do the rest of the job.
cc runs fine with no objections.
The problem arise when makedo tries to make a do.
I get lots of unresolveds from doload.
like : 
dofix:  Undefined:  _sqllo2
dofix:  Undefined:  _sqlsca
dofix:  Undefined:  _sqlbs2
dofix:  Undefined:  _sqlsch
dofix:  Undefined:  _sqlscc
dofix:  Undefined:  _sqltfl
dofix:  Undefined:  _sqlopn
dofix:  Undefined:  _sqlosq
dofix:  Undefined:  _sqlad2
dofix:  Undefined:  _sqlexe
dofix:  Undefined:  _sqlfch
doload:  Errors while prodoload:  Undefined symbol: _sqlsca
doload:  Undefined symbol: _sqllo2
I tried to add the appropriate libraries to the ld line in makedo
that gives a different list like l

dofix:  Undefined:  _ttyname
dofix:  Undefined:  _strrchr
dofix:  Undefined:  _strchr
dofix:  Undefined:  _memcmp
dofix:  Undefined:  _memcmp
dofix:  Undefined:  _strcat
dofix:  Undefined:  _fork
dofix:  Undefined:  _strncat
dofix:  Undefined:  _execve
dofix:  Undefined:  _strcat
dofix:  Undefined:  _shmat
dofix:  Undefined:  _semop
dofix:  Undefined:  _shmdt
dofix:  Undefined:  _shmctl
dofix:  Undefined:  _semctl
dofix:  Undefined:  _semop
dofix:  Undefined:  _semop
dofix:  Undefined:  _semop
dofix:  Undefined:  _wait
dofix:  Undefined:  _semop
dofix:  Undefined:  _wait
dofix:  Undefined:  _shmget
dofix:  Undefined:  _semop
dofix:  Undefined:  _getuid
dofix:  Undefined:  _getgid
dofix:  Undefined:  _shmctl
dofix:  Undefined:  _getppid
dofix:  Undefined:  _semget
dofix:  Undefined:  _pipe
dofix:  Undefined:  _pipe
dofix:  Undefined:  _fork
dofix:  Undefined:  _strncat
dofix:  Undefined:  _execve
dofix:  Undefined:  _strcat
dofix:  Undefined:  _getppid
dofix:  Undefined:  _wait
dofix:  Undefined:  _getppid
dofix:  Undefined:  _getenv
dofix:  Undefined:  _getenv
dofix:  Undefined:  _strcat
dofix:  Undefined:  _getenv
dofix:  Undefined:  _getenv
dofix:  Undefined:  _getenv
dofix:  Undefined:  _strcat
dofix:  Undefined:  _getenv
dofix:  Undefined:  _getenv
dofix:  Undefined:  _getenv
dofix:  Undefined:  _getenv
dofix:  Undefined:  _times
dofix:  Undefined:  _getrusage
dofix:  Undefined:  Fflts
dofix:  Undefined:  Fstod
dofix:  Undefined:  Fdivd
dofix:  Undefined:  Fflts
dofix:  Undefined:  Fstod
dofix:  Undefined:  Fdivd
dofix:  Undefined:  Fflts
dofix:  Undefined:  Fstod
dofix:  Undefined:  Fmuld
dofix:  Undefined:  Fflts
dofix:  Undefined:  Fstod
dofix:  Undefined:  Fmuld
dofix:  Undefined:  _getrusage
dofix:  Undefined:  Fflts
dofix:  Undefined:  Fstod
dofix:  Undefined:  Fdivd
dofix:  Undefined:  Fflts
dofix:  Undefined:  Fstod
dofix:  Undefined:  Fdivd
dofix:  Undefined:  Fflts
dofix:  Undefined:  Fstod
dofix:  Undefined:  Fmuld
dofix:  Undefined:  Fflts
dofix:  Undefined:  Fstod
dofix:  Undefined:  Fmuld
dofix:  Undefined:  _getenv
dofix:  Undefined:  _strchr
dofix:  Undefined:  _pipe
dofix:  Undefined:  _pipe
dofix:  Undefined:  _fork
dofix:  Undefined:  _strncat
dofix:  Undefined:  _execve
dofix:  Undefined:  _strcat
dofix:  Undefined:  Fdtos
dofix:  Undefined:  Fstod
dofix:  Undefined:  Fstod
dofix:  Undefined:  Ffltd
dofix:  Undefined:  Fmuld
dofix:  Undefined:  Fdivd
dofix:  Undefined:  Ffltd
dofix:  Undefined:  Fmuld
dofix:  Undefined:  Fmuld
dofix:  Undefined:  Fdivd
dofix:  Undefined:  Fdtos
dofix:  Undefined:  _memcmp
dofix:  Undefined:  _memcmp
doload:  Errors while processing
doload:  Undefined symbol: _ttyname
doload:  Undefined symbol: _strrchr
doload:  Undefined symbol: _strchr
doload:  Undefined symbol: _memcmp
doload:  Undefined symbol: _strcat
doload:  Undefined symbol: _fork
doload:  Undefined symbol: _strncat
doload:  Undefined symbol: _execve
doload:  Undefined symbol: _shmat
doload:  Undefined symbol: _semop
doload:  Undefined symbol: _shmdt
doload:  Undefined symbol: _shmctl
doload:  Undefined symbol: _semctl
doload:  Undefined symbol: _wait
doload:  Undefined symbol: _shmget
doload:  Undefined symbol: _getuid
doload:  Undefined symbol: _getgid
doload:  Undefined symbol: _getppid
doload:  Undefined symbol: _semget
doload:  Undefined symbol: _pipe
doload:  Undefined symbol: _getenv
doload:  Undefined symbol: _times
doload:  Undefined symbol: _getrusage
doload:  Undefined symbol: Fflts
doload:  Undefined symbol: Fstod
doload:  Undefined symbol: Fdivd
doload:  Undefined symbol: Fmuld
doload:  Undefined symbol: Fdtos


Can sombody tell me if it is at all possible what I am trying to do,
and if so how?

slr@THUMPER.BELLCORE.COM (Steve Rohall) (07/10/90)

I had an application last summer that had Oracle and ATK working fine
together.  Then, Oracle produced a new release (version 6--we had been
using version 5), and I couldn't get it to compile either.  Through
appropriate munging of the makefile (by adding explicit ld's) I was able
to get my errors down to the following:
	doload: Undefined symbol: _end
But isn't end inserted by the loader itself?

After numerous calls to Oracle support and email with people at the ITC,
my guess as to the problem was that Oracle v6 had been ``improved'' to
be AT&T System V Unix compatible, whereas everything else we were using
was BSD compatible.  The one suggestion I got was to recompile all of
ATK using System V cc to see if that made the libraries compatible.  I
didn't try this--my project went away for other reasons,  and the
interface never worked again.  I'd be interesting in hearing if anybody
has gotten this combination to work.
			-Steve.
[An Andrew ToolKit view (a raster image) was included here, but could
not be displayed.]Steven L. Rohall
445 South Street, Room 2B-284
Morristown, NJ 07960-2742
(201)829-5203
slr@thumper.bellcore.com