Feature #213

Monolithic build fails with attr-sql plugin

Added by Peter van Liesdonk 10 months ago. Updated 13 days ago.

Status:FeedbackStart date:03.08.2012
Priority:LowDue date:
Assignee:Tobias Brunner% Done:

0%

Category:-
Target version:-
Resolution:

Description

I'm trying a build of 5.0.0 with:

> ./configure --enable-monolithic --enable-attr-sql
> make

which fails with

make[4]: *** No rule to make target `../../../../src/libhydra/libhydra.la', needed by `pool'.  Stop.
make[4]: Leaving directory `/home/build/build/strongswan-5.0.0/src/libhydra/plugins/attr_sql'

so we do a

> cd src/libhydra
> make libhydra.la
...
make: *** No rule to make target `plugins/kernel_netlink/libstrongswan-kernel-netlink.la', needed by `libhydra.la'.  Stop.

> cd plugins/kernel_netlink
> make libstrongswan-kernel-netlink.la 
...succeeds...
> cd ../..
> make libhydra.la
make: *** No rule to make target `plugins/resolve/libstrongswan-resolve.la', needed by `libhydra.la'.  Stop.
> cd plugins/resolve
> make libstrongswan-resolve.la
...succeeds...
> cd ../..
> make libhydra.la
...succeeds...
> cd ../..
> make
...succeeds...

This results in a completed build.
So no real bug here, but some sort of dependency error.

History

#1 Updated by Tobias Brunner 9 months ago

  • Status changed from New to Feedback

Yes this is known issue. The problem is that with the monolithic build we have to build the plugins of each library before that library itself is built (SUBDIRS= instead of SUBDIRS=. in the library's Makefile.am). As seen above this causes the Makefile for the attr-sql plugin to be evaluated before the main Makefile which means libhydra.la is not yet ready when the pool utility (defined in the attr_sql Makefile) is about to be built. The workaround of manually building the remaining plugins and then libhydra.la works fine, though.

A better solution would be to move these utility programs (there are others) from the plugin directories to a separate directory which can then be built after all libraries are ready. We refrained from doing so to keep the code for the utilities and plugins together, but perhaps we should have a look at this again. Since the monolithic build is mainly intended for the Android and other client builds (where such plugins are not relevant) this will probably have low priority.

#2 Updated by Andreas Steffen 13 days ago

  • Tracker changed from Bug to Feature
  • Assignee set to Tobias Brunner

Also available in: Atom PDF