This may be a consequence of (building and) running the app outside the context of OpenCPI projects and ocpidev.
When applications are run, the binary worker implementations, in "OpenCPI artifact" files, are found using OCPI_LIBRARY_PATH.
When ocpidev runs an application, it automatically includes any projects' artifact directories in OCPI_LIBRARY_PATH, including any other project dependencies.
In the "outside of OpenCPI projects and ocpidev" mode, you need to manually set OCPI_LIBRARY_PATH to do that.
I.e., something like:
OCPI_LIBRARY_PATH=/home/me/opencpi-projects/HHprojects/artifacts:$(OCPI_ROOT_DIR)/projects/core/artifacts

I assume there is some good reason why you are avoiding ocpidev to build and run the application.

Cheers,
Jim



On 5/12/23 3:52 AM, Ian Chodera wrote:
Hi Jim

Thanks for this info, I didn’t actually see your reply till after I found my crude compile fix. It is a neater way than I found, but essentially the same solution

The runtime problem still exists: 

My app.xml instantiates a component
<Instance component='local.HHProject.HHLib.HHComp' externals='true' />

But at runtime the component isn’t found
app failed: No acceptable implementations found in any libraries for "local.HHProject.HHLib.HHComp". Use log level 8 for more detail.

The component does exists (can be seen in the listing ‘ocpidev show components’ and if I build the application without the custom Makefile the app runs fine

Ian Chodera
MD1 Technology Ltd.

e: iac@md1tech.co.uk
w: www.md1tech.co.uk


9001-RGB-Logo-136x136.jpg



MD1TechnologyLtd. is registered in England & Wales with company number 09378746. 
Registered address: Cheltenham Film & Photographic Studios, Hatherley Lane, Cheltenham, Gloucestershire, England. GL51 6PN.
VAT registration number: GB 206 3877 05

On 11 May 2023, at 13:56, James Kulp <jek@parera.com> wrote:

This "build outside of OpenCPI" setup is missing an update in the "develop" branch, causing two variables to be set incorrectly.

A short term workaround would be to set these variables properly after including the ocpisetup.mk script in your Makefile:

OCPI_PREREQUISITES_LIBS:=lzma gmp gpsd ad9361
OCPI_API_LIBS:=application remote_support container library  msg metadata transport xfer drc drc_ad9361 base util foreign os

I only tested this fix on centos7.

Hopefully this will get fixed in a future release.

Jim





On 5/11/23 5:50 AM, Ian Chodera wrote:

(On page 52) There is an example makefile for building an ACI program outside of OpenCPI projects, but using it results in the linker error /usr/bin/ld: cannot find -locpi_msg_driver_interface: No such file or directory

Does anyone have a fix for this? Or can you point me in the direction of what needs to be changed?

"OpenCPI version is 2.5.0-develop”

Ian Chodera
MD1 Technology Ltd.

e: iac@md1tech.co.uk
w: www.md1tech.co.uk


<9001-RGB-Logo-136x136.jpg>



MD1TechnologyLtd. is registered in England & Wales with company number 09378746. 
Registered address: Cheltenham Film & Photographic Studios, Hatherley Lane, Cheltenham, Gloucestershire, England. GL51 6PN.
VAT registration number: GB 206 3877 05


_______________________________________________
discuss mailing list -- discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.org


_______________________________________________
discuss mailing list -- discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.org