[Discuss OpenCPI] Re: Application Makefiles

From: Ian Chodera <iac_at_md1tech.co.uk>
Date: Thu, 11 May 23 17:03:04 +0100

I now have a custom makefile that lets the application compile

include $(OCPI_CDK_DIR)/include/ocpisetup.mk

HHApp: HHApp.cc
    g++ -o $_at_ -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


I’m sure there is a better way to specify the libraries that are needed - what is it?
Why does a ‘empty’ OCPI application require AD6361 library to be linked - shouldn’t it be hardware agnostic?

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_at_md1tech.co.uk
w: www.md1tech.co.uk






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_at_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_at_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_at_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_at_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
>>
>







9001-RGB-Logo-136x136.jpg
(image/jpeg attachment: 9001-RGB-Logo-136x136.jpg)

Received on Thu May 11 2023 - 16:03:04 CDT

This archive was generated by hypermail 2.3.0 : Fri Jun 05 2026 - 08:45:25 CDT