Author |
Message
|
shrusonu |
Posted: Tue Feb 20, 2018 4:54 am Post subject: mqsicreatebar : Shared library cannot be in-lined |
|
|
 Novice
Joined: 20 Dec 2013 Posts: 16
|
Version : IIB v10.0.0.11
OS : Windows
I have an application built in toolkit - NO_TEST. NO_TEST is referenced by one static library which contains subflows & common esql methods.
NO_TEST is also referenced by 2 shared libraries which contains backend wsdls imported in one shared libraries & host wsdls imported in another.
NO_TEST.msgflow also contains a user defined node used for logging.
There are no errors in toolkit.
When i am building bar from toolkit, it throws below error.
Note that : Compile & in-line resources is selected, as i am using user defined node.
Code: |
[2018/02/20/08:11:13] [INFO] AddToBARFileOperation: barGeneratorDelegate { Adding NO_TEST/.project to BAR file }
[2018/02/20/08:11:13] [ERROR] { Error adding to BAR Model. fileToAdd: L/NO_TEST/.project } - com.ibm.etools.mft.bar.model.BrokerArchiveException
ERROR: BIP0841E The resource .project could not be added to BAR file. Application 'NO_TEST' references shared library 'ESB_SHARED_BACKEND'. However, resources (E.g. ESQL files) in shared library 'ESB_SHARED_BACKEND' can not be inlined.
[2018/02/20/08:11:13] [INFO] CommandProcessor: saveBar { }
BIP0963E Error saving file in mqsicreatebar.
|
Could you pls help ? Is it like we cannot refer static & shared libraries together to an application. (which is not the case in ibm docs)
All libraries shared & static does not have any references linked. I have tried from toolkit & command console, getting same error. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Feb 20, 2018 5:31 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
That's most likely because the "in line" compile is considered legacy and predates IIB10. Have you tried the "compile as source" option?
Does it work if you don't in-line anything? Where did you see in the infocenter that you could "in line" a shared library?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
timber |
Posted: Tue Feb 20, 2018 5:49 am Post subject: |
|
|
 Grand Master
Joined: 25 Aug 2015 Posts: 1292
|
If your user-defined node is a 'subflow UDN' then I know what the problem is. Subflow UDNs cannot be compiled as source, so you have to tick the 'Compile & inline resources' option. Sounds as if your application has something that must be inlined (the UDN) and something that cannot be inlined. |
|
Back to top |
|
 |
abhi_thri |
Posted: Tue Feb 20, 2018 5:55 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
You got the issue that shared libraries cannot be in-lined and user defined node cannot be complied as source...guess you will have to switch shared library to static one and then compile as inline. |
|
Back to top |
|
 |
shrusonu |
Posted: Wed Feb 21, 2018 2:18 am Post subject: |
|
|
 Novice
Joined: 20 Dec 2013 Posts: 16
|
fjb_saper wrote: |
That's most likely because the "in line" compile is considered legacy and predates IIB10. Have you tried the "compile as source" option?
Does it work if you don't in-line anything? Where did you see in the infocenter that you could "in line" a shared library?  |
I have removed user defined node (use for logging) & built a bar (without checking 'Compile in-line resources') successfully from toolkit.
As i am using user defined node, i have to select 'Compile in-line resources' option, which causes error in 'in-line'(ing) shared library. I have not found documentation related to it for shared library. Seeking help, to keep all wsdl & its artefacts single copy as a shared library. |
|
Back to top |
|
 |
abhi_thri |
Posted: Wed Feb 21, 2018 2:33 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
From what i've seen shared libraries cannot be inlined, you could try creating a simple shared library with a single xsd and try compiling as in-line and see...guess there are bits in infocenter which are not documented explicitly for some reason. |
|
Back to top |
|
 |
shrusonu |
Posted: Wed Feb 21, 2018 2:38 am Post subject: |
|
|
 Novice
Joined: 20 Dec 2013 Posts: 16
|
timber wrote: |
If your user-defined node is a 'subflow UDN' then I know what the problem is. Subflow UDNs cannot be compiled as source, so you have to tick the 'Compile & inline resources' option. Sounds as if your application has something that must be inlined (the UDN) and something that cannot be inlined. |
There are no subflows in a message flow.
If i am not referencing any shared library to application (means importing wsdls directly in application) then i can successfully build bar file from toolkit using 'Compile in-line resources' option. [Compile in-line resources option is checked because of UDN used in message flow]
I guess, its something related to shared libraries cannot be compiled & in-lined. |
|
Back to top |
|
 |
shrusonu |
Posted: Wed Feb 21, 2018 3:06 am Post subject: |
|
|
 Novice
Joined: 20 Dec 2013 Posts: 16
|
abhi_thri wrote: |
From what i've seen shared libraries cannot be inlined, you could try creating a simple shared library with a single xsd and try compiling as in-line and see...guess there are bits in infocenter which are not documented explicitly for some reason. |
Yeah tried that got error.
"Resources in shared library cannot be inlined"
My objective is to maintain all wsdl & its related artefacts as a single copy (shared) & reference them to all applications. This can be done but problem is UDN being used for which i must select 'Compile in-line resources'
Thanks all for your information |
|
Back to top |
|
 |
Armageddon123 |
Posted: Wed Feb 21, 2018 9:11 am Post subject: |
|
|
Acolyte
Joined: 11 Feb 2014 Posts: 61
|
As shared library is to be shared by all flows in the EG, it makes sense to have a separate bar for the same for maintance easiness. |
|
Back to top |
|
 |
|