Re: Missing routines in the distribution.

> Date: Thu, 1 Apr 2004 09:36:29 +0200
> From: Irene Vatton <irene.vatton@inrialpes.fr>
> To: schulz@adi.com (Thomas Schulz)
> Cc: www-amaya-dev@w3.org
> 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.
schulz@adi.com

Received on Thursday, 1 April 2004 16:18:16 UTC