axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Supun Kamburugamuva (JIRA)" <>
Subject [jira] Commented: (AXIS2C-1142) Circular dependency between engine and http_common libraries
Date Wed, 28 May 2008 09:39:46 GMT


Supun Kamburugamuva commented on AXIS2C-1142:

The patch provided here looks like a hack and I don't think we should include a hack to the
core functionalities of axis2/c unless it is really really necessary.

Here it is hard to create a http_common dll under windows because of the circular dependencies.
But if we get it right we shouldn't have circular dependencies in the first place. The engine
should work with any transport and to do that it shouldn't depend on any specific transport.
But here engine has a dependency on to the http transport.

The only option I can see is that removing the http common library from Linux and merge the
http_common library and axis2_engine together. But the correct way to do this is to remove
the http dependencies from the engine code and insert them to the http code. But I'm not sure
weather this is possible.


> Circular dependency between engine and http_common libraries
> ------------------------------------------------------------
>                 Key: AXIS2C-1142
>                 URL:
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: core/engine, core/transport
>    Affects Versions: 1.4.0
>         Environment: CentOS 4.6 (linux), GCC 3.4.6/4.2.3
>            Reporter: Steve Nairn
>            Priority: Minor
>         Attachments: http_common.patch
> Following discussion on the Axis2/C dev list, there is a circular dependency between
libaxis2_engine and libaxis2_http_common.
> The http_common library contains references to a large number of symbols that are resolved
by the engine library. Unfortunately the engine library contains references to axis2_http_accept_record_free
and axis2_http_header_free, that are resolved by the http_common library. Therefore there
is a circular dependency between the libraries.
> The circular dependency makes it very difficult to build these libraries on platforms
that do not allow shared libraries to contain unresolved symbols (for example, Windows DLLs).

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message