You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Supun Kamburugamuva (JIRA)" <ji...@apache.org> on 2008/05/28 11:39:46 UTC

[jira] Commented: (AXIS2C-1142) Circular dependency between engine and http_common libraries

    [ https://issues.apache.org/jira/browse/AXIS2C-1142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600415#action_12600415 ] 

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.

Supun.

> Circular dependency between engine and http_common libraries
> ------------------------------------------------------------
>
>                 Key: AXIS2C-1142
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1142
>             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: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org