I now have a custom makefile that lets the application compile

include $(OCPI_CDK_DIR)/include/ocpisetup.mk

HHApp: HHApp.cc
g++ -o $@ -std=c++0x $(OCPI_EXPORT_DYNAMIC) -I$(OCPI_INC_DIR) $< \
-L$(OCPI_LIB_DIR) $(OCPI_API_LIBS:%=-locpi_%) \
$(OCPI_PREREQUISITES_LIBS:%=$(OCPI_LIB_DIR)/lib%.a) \
$(OCPI_SYSTEM_LIBS:%=-l%) \
$(OCPI_ROOT_DIR)/exports/ubuntu22_04/lib/libocpi_base.a \
$(OCPI_ROOT_DIR)/exports/ubuntu22_04/lib/libocpi_container.a \
$(OCPI_ROOT_DIR)/exports/ubuntu22_04/lib/libocpi_drc.a \
$(OCPI_ROOT_DIR)/exports/ubuntu22_04/lib/libocpi_drc_ad9361.a \
$(OCPI_ROOT_DIR)/exports/ubuntu22_04/lib/libad9361.a

run: HHApp
OCPI_LIBRARY_PATH=$(OCPI_ROOT_DIR)/projects/core/artifacts ./$<

clean:
rm -f HHApp



BUT the main / biggest problem I am left with is that when I do an ocpidev run I get a missing worker error

app failed: No acceptable implementations found in any libraries for "local.HHProject.HHLib.HHComp".  Use log level 8 for more detail.

ocpidev show components shows that the component exists
--------------------------------------------------------------------------------------------------------
| Library Package ID    | Component Pathname                                               | Component |
| --------------------- | ---------------------------------------------------------------- | --------- |
| local.HHProject.HHLib | /home/ian/maturation/ocpi/HHProject/components/HHLib/HHComp.comp | HHComp    |
--------------------------------------------------------------------------------------------------------

And the app runs correctly if I delete the custom makefile. So what am I still missing from the makefile???


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 14:07, Ian Chodera <iac@md1tech.co.uk> wrote:

I have found that the ocpi_msg_driver_interface file is referenced from the $OCPI_CDK_DIR/include/setup-target-platform.mk file but doesn’t exist. 
Changing msg_driver_interface to msg_drivers in that file fixes that specify linker error, but creates a whole lot of new errors!

On a related note: the SourceFiles attribute listed in "Table 8: Attributes in the Application Development XML File" on page 78 of the "OpenCPI Application Development Guide" doesn’t seem to do anything at all - the referenced file(s) don’t get compiled 

Any help in adding other source files / libraries to my application would be appreciated

Thanks

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 10:50, Ian Chodera <iac@md1tech.co.uk> wrote:

In the OpenCPI Application Development Guide https://opencpi.gitlab.io/releases/latest/docs/OpenCPI_Application_Development_Guide.pdf

(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