Application Makefiles

IC
Ian Chodera
Thu, May 11, 2023 9:50 AM

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

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

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  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
JK
James Kulp
Thu, May 11, 2023 12:56 PM

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:

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


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

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: > 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 > > > _______________________________________________ > discuss mailing list --discuss@lists.opencpi.org > To unsubscribe send an email todiscuss-leave@lists.opencpi.org
IC
Ian Chodera
Thu, May 11, 2023 1:07 PM

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

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

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  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 >
IC
Ian Chodera
Thu, May 11, 2023 4:03 PM

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

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

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 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@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@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 >> >
IC
Ian Chodera
Fri, May 12, 2023 7:52 AM

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

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:

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 mailto:iac@md1tech.co.uk
w: www.md1tech.co.uk http://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 mailto:discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.org mailto:discuss-leave@lists.opencpi.org


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

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  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: >> 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 <mailto:iac@md1tech.co.uk> >> w: www.md1tech.co.uk <http://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 <mailto:discuss@lists.opencpi.org> >> To unsubscribe send an email to discuss-leave@lists.opencpi.org <mailto:discuss-leave@lists.opencpi.org> > > _______________________________________________ > discuss mailing list -- discuss@lists.opencpi.org > To unsubscribe send an email to discuss-leave@lists.opencpi.org
JK
James Kulp
Fri, May 12, 2023 1:43 PM

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:

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


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


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

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: >>> 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 >>> >>> >>> _______________________________________________ >>> discuss mailing list --discuss@lists.opencpi.org >>> To unsubscribe send an email todiscuss-leave@lists.opencpi.org >> >> >> _______________________________________________ >> discuss mailing list -- discuss@lists.opencpi.org >> To unsubscribe send an email to discuss-leave@lists.opencpi.org >