Re: Missing routines in the distribution.

[email protected] (Thomas Schulz)
Newsgroups gmane.comp.web.amaya.devel
Message-ID <[email protected]>
> Date: Thu, 1 Apr 2004 09:36:29 +0200
> From: Irene Vatton <[email protected]>
> To: [email protected] (Thomas Schulz)
> Cc: [email protected]
> Subject: Re: Missing routines in the distribution.
> 
> Yes grm is the meta compiler that generates str, prs, tra and app compilers.
> The file APP.LAN defines the grammar of the language A of Thot.
> Make should build grm, then str, ..., then app is launched to generate 
> EDITORAPP.c, HTMLAPP.c, etc. These files are necessary to compile amaya.

That got me looking in the right direction.  If you need grm to build app,
than grm can not depend on a file created by app!  But the error I had was

.../thotlib/libThotEditor.a(appdialogue.o)(.pr+0x2044):../../thotlib/
dialogue/ppdialogue.c: undefined reference to `.TteLoadApplications()'

and TteLoadApplications is in EDITORAPP.c which is generated by app.
Then I noticed that TteLoadApplications was needed by a file in
libThotEditor.a which is one of the libraries that I added to the
link command in an effort to resolve undefined references.  I went back
to the original link (g++) command and the errors were as follows:

../thotlib/libThotKernel.a(structlist.o)(.pr+0x3510):../../thotlib/base/
structlist.c: undefined reference to `.AbsBoxType(_AbstractBox*, unsigned
char)'
../thotlib/libThotKernel.a(structlist.o)(.pr+0x37b0):../../thotlib/base/
structlist.c: undefined reference to `.GetExtraMargins(_Box*, _AbstractBox*,
int*, int*, int*, int*)'
------ 5 skipped ------
../thotlib/libThotKernel.a(structlist.o)(.pr+0x7ca4):../../thotlib/base/
structlist.c: undefined reference to `.AppliedView(_ElementDescr*,
_AttributeBlock*, _DocumentDescr*, int)'
../thotlib/libThotKernel.a(presentationapiND.o)(.pr+0x5c):../../thotlib/
presentation/presentationapi.c: undefined reference to
`.NumTypePRuleAPI(_PresRule*)'
../thotlib/libThotKernel.a(presentationapiND.o)(.pr+0x1c0):../../thotlib/
presentation/presentationapi.c: undefined reference to
`.NumTypePRuleAPI(_PresRule*)'

I decided to remove structlist.o and presentationapiND.o from
libThotKernel.a in order to see what caused them to be included.
When I did that, grm linked without error!  I then put structlist.o
and presentationapiND.o back in at the end of libThotKernel.a and
the errors returned.  Then I thought that there might be some bug
in the GNU linker and switched back to the AIX linker.  The errors
remained (well, the text of the errors changed).  I then dumped
the archive symbol table to see if there are any symbols that are in
structlist.o or presentationapiND.o that are also defined in some
other file.  I fould none, so I have no idea why structlist.o and
presentationapiND.o are being linked in.

Currently I am continuing the build with structlist.o and
presentationapiND.o removed from libThotKernel.a.  I intend to
put them back in as soon as I get a link failure that indicates
that they are required.  I have a very slow machine, so I will not
know for a long time how this will work out.

Tom schulz
Applied Dynamics Intl.
[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.