[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gnucap] static linking default plugins
From: |
al davis |
Subject: |
Re: [Help-gnucap] static linking default plugins |
Date: |
Sat, 20 Jun 2015 20:40:18 -0400 |
User-agent: |
KMail/1.13.7 (Linux/3.2.0-4-amd64; KDE/4.8.4; x86_64; ; ) |
On Saturday 20 June 2015, wikitronic wrote:
> I'm trying to compile with the default plugins staticly
> linked.I keep getting the error:
>
> build error: link order: dispatcher not yet constructed
It has to do with the order of running static constructors.
Static constructors are run in the order linked, which is
determined by the order that the object files are listed in the
Makefile.
As a generalization, any *container* must be constructed before
you can put anything in it.
In this case, the containers are the dispatchers. The
dispatchers must be constructed before anything that goes in
them.
Normally, the dispatchers are in core, and plugins are added at
run time, but there are a few exceptions to this.
The dispatchers are defined in lib/globals.cc, in the list of
sources, it must be first. (or last if your linker is
backwards).
If you are static linking default plugins, the "lib" directory
must be linked before the "apps" directory.