New RCC platform issues (no available containers)

PE
Paulz, Eric
Tue, May 7, 2019 2:47 PM

Hello,

A week or two ago you guys were helping me get an SD card created using a new RCC platform spec.  That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs).  I am now running into a couple more errors.

First I will note that I am not booting my board from the SD card.  I am just using the opencpi file tree created by the 'make deploy' command.

When I run the setup script on my board, I get the following error message:

[root@asdr-24 opencpi]# . ./default_mysetup.sh
Discovering available containers...
Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri
ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/
brik2/lib/libocpi_rcc_s.so: internal error
%

'libocpi_rcc_s.so' exists in the location specified.  Perhaps someone could elaborate on what 'internal error' might mean?

I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers.  Here is the message I get when I try that:

% . ./default_mysetup.sh
Discovering available containers...
Available containers:

Model Platform      OS    OS-Version  Arch    Name

% cd ../brik2/bin/
% ls
busybox  gdb          ocpidriver  ocpiocltest  ocpiserve  ocpizynq
ctests    loadFlash    ocpihdl    ocpiremote  ocpitest  probeJtag
cxxtests  ocfrp_check  ocpiocl    ocpirun      ocpixml    rsync
% ./ocpirun -v -l8 ../../applications/copy.xml
OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml"
OCPI( 8: 13.0633): Performing discovery for all transfer drivers
OCPI( 8: 13.0633): Performing discovery for all library drivers
OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH
OCPI( 8: 14.0149): Performing discovery for all container drivers

OCPI( 8: 14.0149): Component: file_read name: file_read impl:  spec: ocpi.core.file_read selection:
OCPI( 8: 14.0149): Component: file_write name: file_write impl:  spec: ocpi.core.file_write selection:
OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c
ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so"
OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn
t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so"
OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): For instance file_read there were 1 candidates.  These had potential containers:
OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5
OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers
No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read').
The implementations found were:
Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_
read.rcc.0.brik2.so
OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple
mentation found.
Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou
nd.
%

The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar).  I'm just not sure what I need to do to make a container available so I can run a test application.

Thanks in advance,

Eric C. Paulz

Computer Engineer

Hume Center for National Security & Technology

epaulz@vt.edumailto:epaulz@vt.edu

Office: 540-231-6180

Cell: 864-243-6767

Hello, A week or two ago you guys were helping me get an SD card created using a new RCC platform spec. That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs). I am now running into a couple more errors. First I will note that I am not booting my board from the SD card. I am just using the opencpi file tree created by the 'make deploy' command. When I run the setup script on my board, I get the following error message: [root@asdr-24 opencpi]# . ./default_mysetup.sh Discovering available containers... Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/ brik2/lib/libocpi_rcc_s.so: internal error % 'libocpi_rcc_s.so' exists in the location specified. Perhaps someone could elaborate on what 'internal error' might mean? I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers. Here is the message I get when I try that: % . ./default_mysetup.sh Discovering available containers... Available containers: # Model Platform OS OS-Version Arch Name % cd ../brik2/bin/ % ls busybox gdb ocpidriver ocpiocltest ocpiserve ocpizynq ctests loadFlash ocpihdl ocpiremote ocpitest probeJtag cxxtests ocfrp_check ocpiocl ocpirun ocpixml rsync % ./ocpirun -v -l8 ../../applications/copy.xml OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml" OCPI( 8: 13.0633): Performing discovery for all transfer drivers OCPI( 8: 13.0633): Performing discovery for all library drivers OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH OCPI( 8: 14.0149): Performing discovery for all container drivers OCPI( 8: 14.0149): Component: file_read name: file_read impl: spec: ocpi.core.file_read selection: OCPI( 8: 14.0149): Component: file_write name: file_write impl: spec: ocpi.core.file_write selection: OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so" OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so" OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): For instance file_read there were 1 candidates. These had potential containers: OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5 OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read'). The implementations found were: Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_ read.rcc.0.brik2.so OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple mentation found. Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou nd. % The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar). I'm just not sure what I need to do to make a container available so I can run a test application. Thanks in advance, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767
CH
Chris Hinkey
Tue, May 7, 2019 2:56 PM

that container "driver" getting loaded is what allows ocpirun to use the rcc container.  by commenting those lines out of the system xml you are essentially saying you don't have a rcc container.  this is why when you comment them out you are seeing that error.
You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve.

What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform?
Also what is your system.xml with teh rcc container in it?


From: discuss discuss-bounces@lists.opencpi.org on behalf of Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 10:47 AM
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] New RCC platform issues (no available containers)

Hello,

A week or two ago you guys were helping me get an SD card created using a new RCC platform spec.  That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs).  I am now running into a couple more errors.

First I will note that I am not booting my board from the SD card.  I am just using the opencpi file tree created by the 'make deploy' command.

When I run the setup script on my board, I get the following error message:

[root@asdr-24 opencpi]# . ./default_mysetup.sh
Discovering available containers...
Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri
ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/
brik2/lib/libocpi_rcc_s.so: internal error
%

'libocpi_rcc_s.so' exists in the location specified.  Perhaps someone could elaborate on what 'internal error' might mean?

I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers.  Here is the message I get when I try that:

% . ./default_mysetup.sh
Discovering available containers...
Available containers:

Model Platform      OS    OS-Version  Arch    Name

% cd ../brik2/bin/
% ls
busybox  gdb          ocpidriver  ocpiocltest  ocpiserve  ocpizynq
ctests    loadFlash    ocpihdl    ocpiremote  ocpitest  probeJtag
cxxtests  ocfrp_check  ocpiocl    ocpirun      ocpixml    rsync
% ./ocpirun -v -l8 ../../applications/copy.xml
OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml"
OCPI( 8: 13.0633): Performing discovery for all transfer drivers
OCPI( 8: 13.0633): Performing discovery for all library drivers
OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH
OCPI( 8: 14.0149): Performing discovery for all container drivers

OCPI( 8: 14.0149): Component: file_read name: file_read impl:  spec: ocpi.core.file_read selection:
OCPI( 8: 14.0149): Component: file_write name: file_write impl:  spec: ocpi.core.file_write selection:
OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c
ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so"
OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn
t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so"
OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): For instance file_read there were 1 candidates.  These had potential containers:
OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5
OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers
No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read').
The implementations found were:
Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_
read.rcc.0.brik2.so
OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple
mentation found.
Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou
nd.
%

The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar).  I'm just not sure what I need to do to make a container available so I can run a test application.

Thanks in advance,

Eric C. Paulz

Computer Engineer

Hume Center for National Security & Technology

epaulz@vt.edumailto:epaulz@vt.edu

Office: 540-231-6180

Cell: 864-243-6767

that container "driver" getting loaded is what allows ocpirun to use the rcc container. by commenting those lines out of the system xml you are essentially saying you don't have a rcc container. this is why when you comment them out you are seeing that error. You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve. What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform? Also what is your system.xml with teh rcc container in it? ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 10:47 AM To: discuss@lists.opencpi.org Subject: [Discuss OpenCPI] New RCC platform issues (no available containers) Hello, A week or two ago you guys were helping me get an SD card created using a new RCC platform spec. That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs). I am now running into a couple more errors. First I will note that I am not booting my board from the SD card. I am just using the opencpi file tree created by the 'make deploy' command. When I run the setup script on my board, I get the following error message: [root@asdr-24 opencpi]# . ./default_mysetup.sh Discovering available containers... Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/ brik2/lib/libocpi_rcc_s.so: internal error % 'libocpi_rcc_s.so' exists in the location specified. Perhaps someone could elaborate on what 'internal error' might mean? I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers. Here is the message I get when I try that: % . ./default_mysetup.sh Discovering available containers... Available containers: # Model Platform OS OS-Version Arch Name % cd ../brik2/bin/ % ls busybox gdb ocpidriver ocpiocltest ocpiserve ocpizynq ctests loadFlash ocpihdl ocpiremote ocpitest probeJtag cxxtests ocfrp_check ocpiocl ocpirun ocpixml rsync % ./ocpirun -v -l8 ../../applications/copy.xml OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml" OCPI( 8: 13.0633): Performing discovery for all transfer drivers OCPI( 8: 13.0633): Performing discovery for all library drivers OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH OCPI( 8: 14.0149): Performing discovery for all container drivers OCPI( 8: 14.0149): Component: file_read name: file_read impl: spec: ocpi.core.file_read selection: OCPI( 8: 14.0149): Component: file_write name: file_write impl: spec: ocpi.core.file_write selection: OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so" OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so" OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): For instance file_read there were 1 candidates. These had potential containers: OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5 OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read'). The implementations found were: Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_ read.rcc.0.brik2.so OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple mentation found. Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou nd. % The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar). I'm just not sure what I need to do to make a container available so I can run a test application. Thanks in advance, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767
PE
Paulz, Eric
Tue, May 7, 2019 3:02 PM

[root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so
/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

'system.xml' is basically the same as the ZedBoard default.  It looks like this on my system:

<opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi>

From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 10:56:27 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

that container "driver" getting loaded is what allows ocpirun to use the rcc container.  by commenting those lines out of the system xml you are essentially saying you don't have a rcc container.  this is why when you comment them out you are seeing that error.
You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve.

What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform?
Also what is your system.xml with teh rcc container in it?


From: discuss discuss-bounces@lists.opencpi.org on behalf of Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 10:47 AM
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] New RCC platform issues (no available containers)

Hello,

A week or two ago you guys were helping me get an SD card created using a new RCC platform spec.  That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs).  I am now running into a couple more errors.

First I will note that I am not booting my board from the SD card.  I am just using the opencpi file tree created by the 'make deploy' command.

When I run the setup script on my board, I get the following error message:

[root@asdr-24 opencpi]# . ./default_mysetup.sh
Discovering available containers...
Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri
ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/
brik2/lib/libocpi_rcc_s.so: internal error
%

'libocpi_rcc_s.so' exists in the location specified.  Perhaps someone could elaborate on what 'internal error' might mean?

I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers.  Here is the message I get when I try that:

% . ./default_mysetup.sh
Discovering available containers...
Available containers:

Model Platform      OS    OS-Version  Arch    Name

% cd ../brik2/bin/
% ls
busybox  gdb          ocpidriver  ocpiocltest  ocpiserve  ocpizynq
ctests    loadFlash    ocpihdl    ocpiremote  ocpitest  probeJtag
cxxtests  ocfrp_check  ocpiocl    ocpirun      ocpixml    rsync
% ./ocpirun -v -l8 ../../applications/copy.xml
OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml"
OCPI( 8: 13.0633): Performing discovery for all transfer drivers
OCPI( 8: 13.0633): Performing discovery for all library drivers
OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH
OCPI( 8: 14.0149): Performing discovery for all container drivers

OCPI( 8: 14.0149): Component: file_read name: file_read impl:  spec: ocpi.core.file_read selection:
OCPI( 8: 14.0149): Component: file_write name: file_write impl:  spec: ocpi.core.file_write selection:
OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c
ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so"
OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn
t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so"
OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): For instance file_read there were 1 candidates.  These had potential containers:
OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5
OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers
No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read').
The implementations found were:
Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_
read.rcc.0.brik2.so
OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple
mentation found.
Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou
nd.
%

The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar).  I'm just not sure what I need to do to make a container available so I can run a test application.

Thanks in advance,

Eric C. Paulz

Computer Engineer

Hume Center for National Security & Technology

epaulz@vt.edumailto:epaulz@vt.edu

Office: 540-231-6180

Cell: 864-243-6767

[root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped 'system.xml' is basically the same as the ZedBoard default. It looks like this on my system: <opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi> ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 10:56:27 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) that container "driver" getting loaded is what allows ocpirun to use the rcc container. by commenting those lines out of the system xml you are essentially saying you don't have a rcc container. this is why when you comment them out you are seeing that error. You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve. What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform? Also what is your system.xml with teh rcc container in it? ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 10:47 AM To: discuss@lists.opencpi.org Subject: [Discuss OpenCPI] New RCC platform issues (no available containers) Hello, A week or two ago you guys were helping me get an SD card created using a new RCC platform spec. That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs). I am now running into a couple more errors. First I will note that I am not booting my board from the SD card. I am just using the opencpi file tree created by the 'make deploy' command. When I run the setup script on my board, I get the following error message: [root@asdr-24 opencpi]# . ./default_mysetup.sh Discovering available containers... Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/ brik2/lib/libocpi_rcc_s.so: internal error % 'libocpi_rcc_s.so' exists in the location specified. Perhaps someone could elaborate on what 'internal error' might mean? I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers. Here is the message I get when I try that: % . ./default_mysetup.sh Discovering available containers... Available containers: # Model Platform OS OS-Version Arch Name % cd ../brik2/bin/ % ls busybox gdb ocpidriver ocpiocltest ocpiserve ocpizynq ctests loadFlash ocpihdl ocpiremote ocpitest probeJtag cxxtests ocfrp_check ocpiocl ocpirun ocpixml rsync % ./ocpirun -v -l8 ../../applications/copy.xml OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml" OCPI( 8: 13.0633): Performing discovery for all transfer drivers OCPI( 8: 13.0633): Performing discovery for all library drivers OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH OCPI( 8: 14.0149): Performing discovery for all container drivers OCPI( 8: 14.0149): Component: file_read name: file_read impl: spec: ocpi.core.file_read selection: OCPI( 8: 14.0149): Component: file_write name: file_write impl: spec: ocpi.core.file_write selection: OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so" OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so" OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): For instance file_read there were 1 candidates. These had potential containers: OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5 OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read'). The implementations found were: Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_ read.rcc.0.brik2.so OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple mentation found. Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou nd. % The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar). I'm just not sure what I need to do to make a container available so I can run a test application. Thanks in advance, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767
CH
Chris Hinkey
Tue, May 7, 2019 5:24 PM

can you also do a file on ocpirun?

the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library.
Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file?


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 11:02 AM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so
/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

'system.xml' is basically the same as the ZedBoard default.  It looks like this on my system:

<opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi>

From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 10:56:27 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

that container "driver" getting loaded is what allows ocpirun to use the rcc container.  by commenting those lines out of the system xml you are essentially saying you don't have a rcc container.  this is why when you comment them out you are seeing that error.
You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve.

What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform?
Also what is your system.xml with teh rcc container in it?


From: discuss discuss-bounces@lists.opencpi.org on behalf of Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 10:47 AM
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] New RCC platform issues (no available containers)

Hello,

A week or two ago you guys were helping me get an SD card created using a new RCC platform spec.  That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs).  I am now running into a couple more errors.

First I will note that I am not booting my board from the SD card.  I am just using the opencpi file tree created by the 'make deploy' command.

When I run the setup script on my board, I get the following error message:

[root@asdr-24 opencpi]# . ./default_mysetup.sh
Discovering available containers...
Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri
ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/
brik2/lib/libocpi_rcc_s.so: internal error
%

'libocpi_rcc_s.so' exists in the location specified.  Perhaps someone could elaborate on what 'internal error' might mean?

I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers.  Here is the message I get when I try that:

% . ./default_mysetup.sh
Discovering available containers...
Available containers:

Model Platform      OS    OS-Version  Arch    Name

% cd ../brik2/bin/
% ls
busybox  gdb          ocpidriver  ocpiocltest  ocpiserve  ocpizynq
ctests    loadFlash    ocpihdl    ocpiremote  ocpitest  probeJtag
cxxtests  ocfrp_check  ocpiocl    ocpirun      ocpixml    rsync
% ./ocpirun -v -l8 ../../applications/copy.xml
OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml"
OCPI( 8: 13.0633): Performing discovery for all transfer drivers
OCPI( 8: 13.0633): Performing discovery for all library drivers
OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH
OCPI( 8: 14.0149): Performing discovery for all container drivers

OCPI( 8: 14.0149): Component: file_read name: file_read impl:  spec: ocpi.core.file_read selection:
OCPI( 8: 14.0149): Component: file_write name: file_write impl:  spec: ocpi.core.file_write selection:
OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c
ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so"
OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn
t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so"
OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): For instance file_read there were 1 candidates.  These had potential containers:
OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5
OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers
No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read').
The implementations found were:
Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_
read.rcc.0.brik2.so
OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple
mentation found.
Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou
nd.
%

The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar).  I'm just not sure what I need to do to make a container available so I can run a test application.

Thanks in advance,

Eric C. Paulz

Computer Engineer

Hume Center for National Security & Technology

epaulz@vt.edumailto:epaulz@vt.edu

Office: 540-231-6180

Cell: 864-243-6767

can you also do a file on ocpirun? the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library. Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file? ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 11:02 AM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped 'system.xml' is basically the same as the ZedBoard default. It looks like this on my system: <opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi> ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 10:56:27 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) that container "driver" getting loaded is what allows ocpirun to use the rcc container. by commenting those lines out of the system xml you are essentially saying you don't have a rcc container. this is why when you comment them out you are seeing that error. You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve. What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform? Also what is your system.xml with teh rcc container in it? ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 10:47 AM To: discuss@lists.opencpi.org Subject: [Discuss OpenCPI] New RCC platform issues (no available containers) Hello, A week or two ago you guys were helping me get an SD card created using a new RCC platform spec. That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs). I am now running into a couple more errors. First I will note that I am not booting my board from the SD card. I am just using the opencpi file tree created by the 'make deploy' command. When I run the setup script on my board, I get the following error message: [root@asdr-24 opencpi]# . ./default_mysetup.sh Discovering available containers... Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/ brik2/lib/libocpi_rcc_s.so: internal error % 'libocpi_rcc_s.so' exists in the location specified. Perhaps someone could elaborate on what 'internal error' might mean? I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers. Here is the message I get when I try that: % . ./default_mysetup.sh Discovering available containers... Available containers: # Model Platform OS OS-Version Arch Name % cd ../brik2/bin/ % ls busybox gdb ocpidriver ocpiocltest ocpiserve ocpizynq ctests loadFlash ocpihdl ocpiremote ocpitest probeJtag cxxtests ocfrp_check ocpiocl ocpirun ocpixml rsync % ./ocpirun -v -l8 ../../applications/copy.xml OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml" OCPI( 8: 13.0633): Performing discovery for all transfer drivers OCPI( 8: 13.0633): Performing discovery for all library drivers OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH OCPI( 8: 14.0149): Performing discovery for all container drivers OCPI( 8: 14.0149): Component: file_read name: file_read impl: spec: ocpi.core.file_read selection: OCPI( 8: 14.0149): Component: file_write name: file_write impl: spec: ocpi.core.file_write selection: OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so" OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so" OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): For instance file_read there were 1 candidates. These had potential containers: OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5 OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read'). The implementations found were: Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_ read.rcc.0.brik2.so OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple mentation found. Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou nd. % The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar). I'm just not sure what I need to do to make a container available so I can run a test application. Thanks in advance, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767
PE
Paulz, Eric
Tue, May 7, 2019 6:21 PM

[root@asdr-24 opencpi]# file brik2/bin/ocpirun
brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped

No I did not use -fPIC.

My .mk is very similar to the preexisting 'xilinx13_3.mk'.  My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on.  My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments.  I have attached my platform definition file.


From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 1:24:48 PM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

can you also do a file on ocpirun?

the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library.
Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file?


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 11:02 AM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so
/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

'system.xml' is basically the same as the ZedBoard default.  It looks like this on my system:

<opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi>

From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 10:56:27 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

that container "driver" getting loaded is what allows ocpirun to use the rcc container.  by commenting those lines out of the system xml you are essentially saying you don't have a rcc container.  this is why when you comment them out you are seeing that error.
You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve.

What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform?
Also what is your system.xml with teh rcc container in it?


From: discuss discuss-bounces@lists.opencpi.org on behalf of Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 10:47 AM
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] New RCC platform issues (no available containers)

Hello,

A week or two ago you guys were helping me get an SD card created using a new RCC platform spec.  That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs).  I am now running into a couple more errors.

First I will note that I am not booting my board from the SD card.  I am just using the opencpi file tree created by the 'make deploy' command.

When I run the setup script on my board, I get the following error message:

[root@asdr-24 opencpi]# . ./default_mysetup.sh
Discovering available containers...
Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri
ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/
brik2/lib/libocpi_rcc_s.so: internal error
%

'libocpi_rcc_s.so' exists in the location specified.  Perhaps someone could elaborate on what 'internal error' might mean?

I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers.  Here is the message I get when I try that:

% . ./default_mysetup.sh
Discovering available containers...
Available containers:

Model Platform      OS    OS-Version  Arch    Name

% cd ../brik2/bin/
% ls
busybox  gdb          ocpidriver  ocpiocltest  ocpiserve  ocpizynq
ctests    loadFlash    ocpihdl    ocpiremote  ocpitest  probeJtag
cxxtests  ocfrp_check  ocpiocl    ocpirun      ocpixml    rsync
% ./ocpirun -v -l8 ../../applications/copy.xml
OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml"
OCPI( 8: 13.0633): Performing discovery for all transfer drivers
OCPI( 8: 13.0633): Performing discovery for all library drivers
OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH
OCPI( 8: 14.0149): Performing discovery for all container drivers

OCPI( 8: 14.0149): Component: file_read name: file_read impl:  spec: ocpi.core.file_read selection:
OCPI( 8: 14.0149): Component: file_write name: file_write impl:  spec: ocpi.core.file_write selection:
OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c
ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so"
OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn
t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so"
OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): For instance file_read there were 1 candidates.  These had potential containers:
OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5
OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers
No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read').
The implementations found were:
Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_
read.rcc.0.brik2.so
OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple
mentation found.
Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou
nd.
%

The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar).  I'm just not sure what I need to do to make a container available so I can run a test application.

Thanks in advance,

Eric C. Paulz

Computer Engineer

Hume Center for National Security & Technology

epaulz@vt.edumailto:epaulz@vt.edu

Office: 540-231-6180

Cell: 864-243-6767

[root@asdr-24 opencpi]# file brik2/bin/ocpirun brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped No I did not use -fPIC. My .mk is very similar to the preexisting 'xilinx13_3.mk'. My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on. My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments. I have attached my platform definition file. ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 1:24:48 PM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) can you also do a file on ocpirun? the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library. Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file? ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 11:02 AM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped 'system.xml' is basically the same as the ZedBoard default. It looks like this on my system: <opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi> ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 10:56:27 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) that container "driver" getting loaded is what allows ocpirun to use the rcc container. by commenting those lines out of the system xml you are essentially saying you don't have a rcc container. this is why when you comment them out you are seeing that error. You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve. What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform? Also what is your system.xml with teh rcc container in it? ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 10:47 AM To: discuss@lists.opencpi.org Subject: [Discuss OpenCPI] New RCC platform issues (no available containers) Hello, A week or two ago you guys were helping me get an SD card created using a new RCC platform spec. That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs). I am now running into a couple more errors. First I will note that I am not booting my board from the SD card. I am just using the opencpi file tree created by the 'make deploy' command. When I run the setup script on my board, I get the following error message: [root@asdr-24 opencpi]# . ./default_mysetup.sh Discovering available containers... Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/ brik2/lib/libocpi_rcc_s.so: internal error % 'libocpi_rcc_s.so' exists in the location specified. Perhaps someone could elaborate on what 'internal error' might mean? I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers. Here is the message I get when I try that: % . ./default_mysetup.sh Discovering available containers... Available containers: # Model Platform OS OS-Version Arch Name % cd ../brik2/bin/ % ls busybox gdb ocpidriver ocpiocltest ocpiserve ocpizynq ctests loadFlash ocpihdl ocpiremote ocpitest probeJtag cxxtests ocfrp_check ocpiocl ocpirun ocpixml rsync % ./ocpirun -v -l8 ../../applications/copy.xml OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml" OCPI( 8: 13.0633): Performing discovery for all transfer drivers OCPI( 8: 13.0633): Performing discovery for all library drivers OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH OCPI( 8: 14.0149): Performing discovery for all container drivers OCPI( 8: 14.0149): Component: file_read name: file_read impl: spec: ocpi.core.file_read selection: OCPI( 8: 14.0149): Component: file_write name: file_write impl: spec: ocpi.core.file_write selection: OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so" OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so" OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): For instance file_read there were 1 candidates. These had potential containers: OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5 OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read'). The implementations found were: Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_ read.rcc.0.brik2.so OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple mentation found. Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou nd. % The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar). I'm just not sure what I need to do to make a container available so I can run a test application. Thanks in advance, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767
CH
Chris Hinkey
Tue, May 7, 2019 6:31 PM

Seems like the problem is that you are using the xilinx compiler from 2013.4 instead of the toolchain that is provided with your board.  The developer of your board has to have a toolchain that they provide you with that goes along with the operating system that is installed on the board.


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 2:21 PM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file brik2/bin/ocpirun
brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped

No I did not use -fPIC.

My .mk is very similar to the preexisting 'xilinx13_3.mk'.  My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on.  My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments.  I have attached my platform definition file.


From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 1:24:48 PM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

can you also do a file on ocpirun?

the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library.
Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file?


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 11:02 AM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so
/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

'system.xml' is basically the same as the ZedBoard default.  It looks like this on my system:

<opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi>

From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 10:56:27 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

that container "driver" getting loaded is what allows ocpirun to use the rcc container.  by commenting those lines out of the system xml you are essentially saying you don't have a rcc container.  this is why when you comment them out you are seeing that error.
You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve.

What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform?
Also what is your system.xml with teh rcc container in it?


From: discuss discuss-bounces@lists.opencpi.org on behalf of Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 10:47 AM
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] New RCC platform issues (no available containers)

Hello,

A week or two ago you guys were helping me get an SD card created using a new RCC platform spec.  That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs).  I am now running into a couple more errors.

First I will note that I am not booting my board from the SD card.  I am just using the opencpi file tree created by the 'make deploy' command.

When I run the setup script on my board, I get the following error message:

[root@asdr-24 opencpi]# . ./default_mysetup.sh
Discovering available containers...
Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri
ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/
brik2/lib/libocpi_rcc_s.so: internal error
%

'libocpi_rcc_s.so' exists in the location specified.  Perhaps someone could elaborate on what 'internal error' might mean?

I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers.  Here is the message I get when I try that:

% . ./default_mysetup.sh
Discovering available containers...
Available containers:

Model Platform      OS    OS-Version  Arch    Name

% cd ../brik2/bin/
% ls
busybox  gdb          ocpidriver  ocpiocltest  ocpiserve  ocpizynq
ctests    loadFlash    ocpihdl    ocpiremote  ocpitest  probeJtag
cxxtests  ocfrp_check  ocpiocl    ocpirun      ocpixml    rsync
% ./ocpirun -v -l8 ../../applications/copy.xml
OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml"
OCPI( 8: 13.0633): Performing discovery for all transfer drivers
OCPI( 8: 13.0633): Performing discovery for all library drivers
OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH
OCPI( 8: 14.0149): Performing discovery for all container drivers

OCPI( 8: 14.0149): Component: file_read name: file_read impl:  spec: ocpi.core.file_read selection:
OCPI( 8: 14.0149): Component: file_write name: file_write impl:  spec: ocpi.core.file_write selection:
OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c
ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so"
OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn
t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so"
OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): For instance file_read there were 1 candidates.  These had potential containers:
OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5
OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers
No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read').
The implementations found were:
Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_
read.rcc.0.brik2.so
OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple
mentation found.
Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou
nd.
%

The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar).  I'm just not sure what I need to do to make a container available so I can run a test application.

Thanks in advance,

Eric C. Paulz

Computer Engineer

Hume Center for National Security & Technology

epaulz@vt.edumailto:epaulz@vt.edu

Office: 540-231-6180

Cell: 864-243-6767

Seems like the problem is that you are using the xilinx compiler from 2013.4 instead of the toolchain that is provided with your board. The developer of your board has to have a toolchain that they provide you with that goes along with the operating system that is installed on the board. ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 2:21 PM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file brik2/bin/ocpirun brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped No I did not use -fPIC. My .mk is very similar to the preexisting 'xilinx13_3.mk'. My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on. My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments. I have attached my platform definition file. ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 1:24:48 PM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) can you also do a file on ocpirun? the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library. Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file? ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 11:02 AM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped 'system.xml' is basically the same as the ZedBoard default. It looks like this on my system: <opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi> ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 10:56:27 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) that container "driver" getting loaded is what allows ocpirun to use the rcc container. by commenting those lines out of the system xml you are essentially saying you don't have a rcc container. this is why when you comment them out you are seeing that error. You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve. What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform? Also what is your system.xml with teh rcc container in it? ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 10:47 AM To: discuss@lists.opencpi.org Subject: [Discuss OpenCPI] New RCC platform issues (no available containers) Hello, A week or two ago you guys were helping me get an SD card created using a new RCC platform spec. That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs). I am now running into a couple more errors. First I will note that I am not booting my board from the SD card. I am just using the opencpi file tree created by the 'make deploy' command. When I run the setup script on my board, I get the following error message: [root@asdr-24 opencpi]# . ./default_mysetup.sh Discovering available containers... Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/ brik2/lib/libocpi_rcc_s.so: internal error % 'libocpi_rcc_s.so' exists in the location specified. Perhaps someone could elaborate on what 'internal error' might mean? I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers. Here is the message I get when I try that: % . ./default_mysetup.sh Discovering available containers... Available containers: # Model Platform OS OS-Version Arch Name % cd ../brik2/bin/ % ls busybox gdb ocpidriver ocpiocltest ocpiserve ocpizynq ctests loadFlash ocpihdl ocpiremote ocpitest probeJtag cxxtests ocfrp_check ocpiocl ocpirun ocpixml rsync % ./ocpirun -v -l8 ../../applications/copy.xml OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml" OCPI( 8: 13.0633): Performing discovery for all transfer drivers OCPI( 8: 13.0633): Performing discovery for all library drivers OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH OCPI( 8: 14.0149): Performing discovery for all container drivers OCPI( 8: 14.0149): Component: file_read name: file_read impl: spec: ocpi.core.file_read selection: OCPI( 8: 14.0149): Component: file_write name: file_write impl: spec: ocpi.core.file_write selection: OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so" OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so" OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): For instance file_read there were 1 candidates. These had potential containers: OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5 OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read'). The implementations found were: Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_ read.rcc.0.brik2.so OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple mentation found. Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou nd. % The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar). I'm just not sure what I need to do to make a container available so I can run a test application. Thanks in advance, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767
MA
Marasco, Aaron
Wed, May 8, 2019 10:56 AM

I agree with Chris that you need to ensure it is the proper compiler and the PIC option is required. Additionally, I glanced at your Makefile attachment and noticed that "OcpiPlatformPrerequisites" has a mistaken semicolon. That might save you a little heartburn in the future.

You can consider writing a trivial example program that uses dlopen() and then ensure that you can cross-compile and run it using the flags you're putting into that RCC platform definition. A quick search gave me https://gist.github.com/tailriver/30bf0c943325330b7b6a which might help.


From: discuss discuss-bounces@lists.opencpi.org on behalf of Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 14:31
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: [Discuss OpenCPI] New RCC platform issues (no available containers)

Seems like the problem is that you are using the xilinx compiler from 2013.4 instead of the toolchain that is provided with your board.  The developer of your board has to have a toolchain that they provide you with that goes along with the operating system that is installed on the board.


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 2:21 PM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file brik2/bin/ocpirun
brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped

No I did not use -fPIC.

My .mk is very similar to the preexisting 'xilinx13_3.mk'.  My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on.  My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments.  I have attached my platform definition file.


From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 1:24:48 PM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

can you also do a file on ocpirun?

the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library.
Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file?


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 11:02 AM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so
/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

'system.xml' is basically the same as the ZedBoard default.  It looks like this on my system:

<opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi>

From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 10:56:27 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

that container "driver" getting loaded is what allows ocpirun to use the rcc container.  by commenting those lines out of the system xml you are essentially saying you don't have a rcc container.  this is why when you comment them out you are seeing that error.
You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve.

What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform?
Also what is your system.xml with teh rcc container in it?


From: discuss discuss-bounces@lists.opencpi.org on behalf of Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 10:47 AM
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] New RCC platform issues (no available containers)

Hello,

A week or two ago you guys were helping me get an SD card created using a new RCC platform spec.  That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs).  I am now running into a couple more errors.

First I will note that I am not booting my board from the SD card.  I am just using the opencpi file tree created by the 'make deploy' command.

When I run the setup script on my board, I get the following error message:

[root@asdr-24 opencpi]# . ./default_mysetup.sh
Discovering available containers...
Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri
ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/
brik2/lib/libocpi_rcc_s.so: internal error
%

'libocpi_rcc_s.so' exists in the location specified.  Perhaps someone could elaborate on what 'internal error' might mean?

I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers.  Here is the message I get when I try that:

% . ./default_mysetup.sh
Discovering available containers...
Available containers:

Model Platform      OS    OS-Version  Arch    Name

% cd ../brik2/bin/
% ls
busybox  gdb          ocpidriver  ocpiocltest  ocpiserve  ocpizynq
ctests    loadFlash    ocpihdl    ocpiremote  ocpitest  probeJtag
cxxtests  ocfrp_check  ocpiocl    ocpirun      ocpixml    rsync
% ./ocpirun -v -l8 ../../applications/copy.xml
OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml"
OCPI( 8: 13.0633): Performing discovery for all transfer drivers
OCPI( 8: 13.0633): Performing discovery for all library drivers
OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH
OCPI( 8: 14.0149): Performing discovery for all container drivers

OCPI( 8: 14.0149): Component: file_read name: file_read impl:  spec: ocpi.core.file_read selection:
OCPI( 8: 14.0149): Component: file_write name: file_write impl:  spec: ocpi.core.file_write selection:
OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c
ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so"
OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn
t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so"
OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): For instance file_read there were 1 candidates.  These had potential containers:
OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5
OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers
No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read').
The implementations found were:
Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_
read.rcc.0.brik2.so
OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple
mentation found.
Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou
nd.
%

The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar).  I'm just not sure what I need to do to make a container available so I can run a test application.

Thanks in advance,

Eric C. Paulz

Computer Engineer

Hume Center for National Security & Technology

epaulz@vt.edumailto:epaulz@vt.edu

Office: 540-231-6180

Cell: 864-243-6767

I agree with Chris that you need to ensure it is the proper compiler and the PIC option is required. Additionally, I glanced at your Makefile attachment and noticed that "OcpiPlatformPrerequisites" has a mistaken semicolon. That might save you a little heartburn in the future. You can consider writing a trivial example program that uses dlopen() and then ensure that you can cross-compile and run it using the flags you're putting into that RCC platform definition. A quick search gave me https://gist.github.com/tailriver/30bf0c943325330b7b6a which might help. ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 14:31 To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: [Discuss OpenCPI] New RCC platform issues (no available containers) Seems like the problem is that you are using the xilinx compiler from 2013.4 instead of the toolchain that is provided with your board. The developer of your board has to have a toolchain that they provide you with that goes along with the operating system that is installed on the board. ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 2:21 PM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file brik2/bin/ocpirun brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped No I did not use -fPIC. My .mk is very similar to the preexisting 'xilinx13_3.mk'. My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on. My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments. I have attached my platform definition file. ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 1:24:48 PM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) can you also do a file on ocpirun? the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library. Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file? ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 11:02 AM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped 'system.xml' is basically the same as the ZedBoard default. It looks like this on my system: <opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi> ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 10:56:27 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) that container "driver" getting loaded is what allows ocpirun to use the rcc container. by commenting those lines out of the system xml you are essentially saying you don't have a rcc container. this is why when you comment them out you are seeing that error. You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve. What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform? Also what is your system.xml with teh rcc container in it? ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 10:47 AM To: discuss@lists.opencpi.org Subject: [Discuss OpenCPI] New RCC platform issues (no available containers) Hello, A week or two ago you guys were helping me get an SD card created using a new RCC platform spec. That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs). I am now running into a couple more errors. First I will note that I am not booting my board from the SD card. I am just using the opencpi file tree created by the 'make deploy' command. When I run the setup script on my board, I get the following error message: [root@asdr-24 opencpi]# . ./default_mysetup.sh Discovering available containers... Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/ brik2/lib/libocpi_rcc_s.so: internal error % 'libocpi_rcc_s.so' exists in the location specified. Perhaps someone could elaborate on what 'internal error' might mean? I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers. Here is the message I get when I try that: % . ./default_mysetup.sh Discovering available containers... Available containers: # Model Platform OS OS-Version Arch Name % cd ../brik2/bin/ % ls busybox gdb ocpidriver ocpiocltest ocpiserve ocpizynq ctests loadFlash ocpihdl ocpiremote ocpitest probeJtag cxxtests ocfrp_check ocpiocl ocpirun ocpixml rsync % ./ocpirun -v -l8 ../../applications/copy.xml OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml" OCPI( 8: 13.0633): Performing discovery for all transfer drivers OCPI( 8: 13.0633): Performing discovery for all library drivers OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH OCPI( 8: 14.0149): Performing discovery for all container drivers OCPI( 8: 14.0149): Component: file_read name: file_read impl: spec: ocpi.core.file_read selection: OCPI( 8: 14.0149): Component: file_write name: file_write impl: spec: ocpi.core.file_write selection: OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so" OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so" OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): For instance file_read there were 1 candidates. These had potential containers: OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5 OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read'). The implementations found were: Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_ read.rcc.0.brik2.so OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple mentation found. Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou nd. % The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar). I'm just not sure what I need to do to make a container available so I can run a test application. Thanks in advance, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767
PE
Paulz, Eric
Tue, May 21, 2019 6:41 PM

I hope it's ok to revive this thread, I've been trying to continue work on this in the midst of us moving into a new building.

I got in touch with someone at the board vendor and was told that I should be using the Xilinx SDK cross-compile tools.  However, I was not given a specific version.  I've tried 2013.4, 2016.2, and a few other versions with the same result.  Unfortunately, none of my followup emails on the topic have been answered yet.

Aaron, I took your suggestion and built a simple dlopen() example.  I compiled it with the tools provided in the Xilinx SDK 2016.2 (arm-xilinx-linux-gnueabi-gcc), and this is the output I get when trying to run it on my board.

[root@foo-24 dlopen]# ls
animal.h  dlopen_sample    dog.c      libdog.so
cat.c    dlopen_sample.c  libcat.so  Makefile
[root@foo-24 dlopen]# ./dlopen_sample
Usage: ./dlopen_sample animal_type
[root@foo-24 dlopen]# ./dlopen_sample dog
Error: ./libdog.so: internal error
[root@foo-24 dlopen]#

When I run the executable alone, it seems to run properly and gives me feedback on proper usage.  It's only when it attempts to access the .so file that I have issues (which is exactly what I'm stuck on with the RCC Platform).  I know this is getting a little off track as it isn't exactly an OpenCPI issue.  I'm hoping to heard back from the vendor with some clarification soon.

Thanks,
Eric


From: Marasco, Aaron aaron.marasco@bia-boeing.com
Sent: Wednesday, May 8, 2019 6:56:00 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

I agree with Chris that you need to ensure it is the proper compiler and the PIC option is required. Additionally, I glanced at your Makefile attachment and noticed that "OcpiPlatformPrerequisites" has a mistaken semicolon. That might save you a little heartburn in the future.

You can consider writing a trivial example program that uses dlopen() and then ensure that you can cross-compile and run it using the flags you're putting into that RCC platform definition. A quick search gave me https://gist.github.com/tailriver/30bf0c943325330b7b6a which might help.


From: discuss discuss-bounces@lists.opencpi.org on behalf of Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 14:31
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: [Discuss OpenCPI] New RCC platform issues (no available containers)

Seems like the problem is that you are using the xilinx compiler from 2013.4 instead of the toolchain that is provided with your board.  The developer of your board has to have a toolchain that they provide you with that goes along with the operating system that is installed on the board.


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 2:21 PM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file brik2/bin/ocpirun
brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped

No I did not use -fPIC.

My .mk is very similar to the preexisting 'xilinx13_3.mk'.  My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on.  My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments.  I have attached my platform definition file.


From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 1:24:48 PM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

can you also do a file on ocpirun?

the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library.
Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file?


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 11:02 AM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so
/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

'system.xml' is basically the same as the ZedBoard default.  It looks like this on my system:

<opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi>

From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 10:56:27 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

that container "driver" getting loaded is what allows ocpirun to use the rcc container.  by commenting those lines out of the system xml you are essentially saying you don't have a rcc container.  this is why when you comment them out you are seeing that error.
You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve.

What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform?
Also what is your system.xml with teh rcc container in it?


From: discuss discuss-bounces@lists.opencpi.org on behalf of Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 10:47 AM
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] New RCC platform issues (no available containers)

Hello,

A week or two ago you guys were helping me get an SD card created using a new RCC platform spec.  That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs).  I am now running into a couple more errors.

First I will note that I am not booting my board from the SD card.  I am just using the opencpi file tree created by the 'make deploy' command.

When I run the setup script on my board, I get the following error message:

[root@asdr-24 opencpi]# . ./default_mysetup.sh
Discovering available containers...
Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri
ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/
brik2/lib/libocpi_rcc_s.so: internal error
%

'libocpi_rcc_s.so' exists in the location specified.  Perhaps someone could elaborate on what 'internal error' might mean?

I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers.  Here is the message I get when I try that:

% . ./default_mysetup.sh
Discovering available containers...
Available containers:

Model Platform      OS    OS-Version  Arch    Name

% cd ../brik2/bin/
% ls
busybox  gdb          ocpidriver  ocpiocltest  ocpiserve  ocpizynq
ctests    loadFlash    ocpihdl    ocpiremote  ocpitest  probeJtag
cxxtests  ocfrp_check  ocpiocl    ocpirun      ocpixml    rsync
% ./ocpirun -v -l8 ../../applications/copy.xml
OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml"
OCPI( 8: 13.0633): Performing discovery for all transfer drivers
OCPI( 8: 13.0633): Performing discovery for all library drivers
OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH
OCPI( 8: 14.0149): Performing discovery for all container drivers

OCPI( 8: 14.0149): Component: file_read name: file_read impl:  spec: ocpi.core.file_read selection:
OCPI( 8: 14.0149): Component: file_write name: file_write impl:  spec: ocpi.core.file_write selection:
OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c
ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so"
OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn
t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so"
OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): For instance file_read there were 1 candidates.  These had potential containers:
OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5
OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers
No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read').
The implementations found were:
Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_
read.rcc.0.brik2.so
OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple
mentation found.
Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou
nd.
%

The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar).  I'm just not sure what I need to do to make a container available so I can run a test application.

Thanks in advance,

Eric C. Paulz

Computer Engineer

Hume Center for National Security & Technology

epaulz@vt.edumailto:epaulz@vt.edu

Office: 540-231-6180

Cell: 864-243-6767

I hope it's ok to revive this thread, I've been trying to continue work on this in the midst of us moving into a new building. I got in touch with someone at the board vendor and was told that I should be using the Xilinx SDK cross-compile tools. However, I was not given a specific version. I've tried 2013.4, 2016.2, and a few other versions with the same result. Unfortunately, none of my followup emails on the topic have been answered yet. Aaron, I took your suggestion and built a simple dlopen() example. I compiled it with the tools provided in the Xilinx SDK 2016.2 (arm-xilinx-linux-gnueabi-gcc), and this is the output I get when trying to run it on my board. [root@foo-24 dlopen]# ls animal.h dlopen_sample dog.c libdog.so cat.c dlopen_sample.c libcat.so Makefile [root@foo-24 dlopen]# ./dlopen_sample Usage: ./dlopen_sample animal_type [root@foo-24 dlopen]# ./dlopen_sample dog Error: ./libdog.so: internal error [root@foo-24 dlopen]# When I run the executable alone, it seems to run properly and gives me feedback on proper usage. It's only when it attempts to access the .so file that I have issues (which is exactly what I'm stuck on with the RCC Platform). I know this is getting a little off track as it isn't exactly an OpenCPI issue. I'm hoping to heard back from the vendor with some clarification soon. Thanks, Eric ________________________________ From: Marasco, Aaron <aaron.marasco@bia-boeing.com> Sent: Wednesday, May 8, 2019 6:56:00 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) I agree with Chris that you need to ensure it is the proper compiler and the PIC option is required. Additionally, I glanced at your Makefile attachment and noticed that "OcpiPlatformPrerequisites" has a mistaken semicolon. That might save you a little heartburn in the future. You can consider writing a trivial example program that uses dlopen() and then ensure that you can cross-compile and run it using the flags you're putting into that RCC platform definition. A quick search gave me https://gist.github.com/tailriver/30bf0c943325330b7b6a which might help. ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 14:31 To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: [Discuss OpenCPI] New RCC platform issues (no available containers) Seems like the problem is that you are using the xilinx compiler from 2013.4 instead of the toolchain that is provided with your board. The developer of your board has to have a toolchain that they provide you with that goes along with the operating system that is installed on the board. ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 2:21 PM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file brik2/bin/ocpirun brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped No I did not use -fPIC. My .mk is very similar to the preexisting 'xilinx13_3.mk'. My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on. My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments. I have attached my platform definition file. ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 1:24:48 PM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) can you also do a file on ocpirun? the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library. Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file? ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 11:02 AM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped 'system.xml' is basically the same as the ZedBoard default. It looks like this on my system: <opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi> ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 10:56:27 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) that container "driver" getting loaded is what allows ocpirun to use the rcc container. by commenting those lines out of the system xml you are essentially saying you don't have a rcc container. this is why when you comment them out you are seeing that error. You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve. What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform? Also what is your system.xml with teh rcc container in it? ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 10:47 AM To: discuss@lists.opencpi.org Subject: [Discuss OpenCPI] New RCC platform issues (no available containers) Hello, A week or two ago you guys were helping me get an SD card created using a new RCC platform spec. That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs). I am now running into a couple more errors. First I will note that I am not booting my board from the SD card. I am just using the opencpi file tree created by the 'make deploy' command. When I run the setup script on my board, I get the following error message: [root@asdr-24 opencpi]# . ./default_mysetup.sh Discovering available containers... Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/ brik2/lib/libocpi_rcc_s.so: internal error % 'libocpi_rcc_s.so' exists in the location specified. Perhaps someone could elaborate on what 'internal error' might mean? I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers. Here is the message I get when I try that: % . ./default_mysetup.sh Discovering available containers... Available containers: # Model Platform OS OS-Version Arch Name % cd ../brik2/bin/ % ls busybox gdb ocpidriver ocpiocltest ocpiserve ocpizynq ctests loadFlash ocpihdl ocpiremote ocpitest probeJtag cxxtests ocfrp_check ocpiocl ocpirun ocpixml rsync % ./ocpirun -v -l8 ../../applications/copy.xml OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml" OCPI( 8: 13.0633): Performing discovery for all transfer drivers OCPI( 8: 13.0633): Performing discovery for all library drivers OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH OCPI( 8: 14.0149): Performing discovery for all container drivers OCPI( 8: 14.0149): Component: file_read name: file_read impl: spec: ocpi.core.file_read selection: OCPI( 8: 14.0149): Component: file_write name: file_write impl: spec: ocpi.core.file_write selection: OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so" OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so" OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): For instance file_read there were 1 candidates. These had potential containers: OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5 OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read'). The implementations found were: Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_ read.rcc.0.brik2.so OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple mentation found. Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou nd. % The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar). I'm just not sure what I need to do to make a container available so I can run a test application. Thanks in advance, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767
CH
Chris Hinkey
Tue, May 21, 2019 6:56 PM

this seems like the exact same problem you were seeing in opencpi Its crazy that the board vendor doesn't provide you with a way to install a specific cross compiler or at least say use the cross compiler form xilinx at this version with the board they provide.  we may be able to make a good guess based on the kernel that they have built if it was a xilinx suppiled kernel.

what does "uname -a" return on the board?

This test that you have created here is great and as soon as we solve that problem you will have the solution you need in the framework.

-Chris


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 21, 2019 2:41 PM
To: Marasco, Aaron; discuss@lists.opencpi.org; Chris Hinkey
Subject: Re: New RCC platform issues (no available containers)

I hope it's ok to revive this thread, I've been trying to continue work on this in the midst of us moving into a new building.

I got in touch with someone at the board vendor and was told that I should be using the Xilinx SDK cross-compile tools.  However, I was not given a specific version.  I've tried 2013.4, 2016.2, and a few other versions with the same result.  Unfortunately, none of my followup emails on the topic have been answered yet.

Aaron, I took your suggestion and built a simple dlopen() example.  I compiled it with the tools provided in the Xilinx SDK 2016.2 (arm-xilinx-linux-gnueabi-gcc), and this is the output I get when trying to run it on my board.

[root@foo-24 dlopen]# ls
animal.h  dlopen_sample    dog.c      libdog.so
cat.c    dlopen_sample.c  libcat.so  Makefile
[root@foo-24 dlopen]# ./dlopen_sample
Usage: ./dlopen_sample animal_type
[root@foo-24 dlopen]# ./dlopen_sample dog
Error: ./libdog.so: internal error
[root@foo-24 dlopen]#

When I run the executable alone, it seems to run properly and gives me feedback on proper usage.  It's only when it attempts to access the .so file that I have issues (which is exactly what I'm stuck on with the RCC Platform).  I know this is getting a little off track as it isn't exactly an OpenCPI issue.  I'm hoping to heard back from the vendor with some clarification soon.

Thanks,
Eric


From: Marasco, Aaron aaron.marasco@bia-boeing.com
Sent: Wednesday, May 8, 2019 6:56:00 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

I agree with Chris that you need to ensure it is the proper compiler and the PIC option is required. Additionally, I glanced at your Makefile attachment and noticed that "OcpiPlatformPrerequisites" has a mistaken semicolon. That might save you a little heartburn in the future.

You can consider writing a trivial example program that uses dlopen() and then ensure that you can cross-compile and run it using the flags you're putting into that RCC platform definition. A quick search gave me https://gist.github.com/tailriver/30bf0c943325330b7b6a which might help.


From: discuss discuss-bounces@lists.opencpi.org on behalf of Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 14:31
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: [Discuss OpenCPI] New RCC platform issues (no available containers)

Seems like the problem is that you are using the xilinx compiler from 2013.4 instead of the toolchain that is provided with your board.  The developer of your board has to have a toolchain that they provide you with that goes along with the operating system that is installed on the board.


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 2:21 PM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file brik2/bin/ocpirun
brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped

No I did not use -fPIC.

My .mk is very similar to the preexisting 'xilinx13_3.mk'.  My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on.  My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments.  I have attached my platform definition file.


From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 1:24:48 PM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

can you also do a file on ocpirun?

the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library.
Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file?


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 11:02 AM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so
/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

'system.xml' is basically the same as the ZedBoard default.  It looks like this on my system:

<opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi>

From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 10:56:27 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

that container "driver" getting loaded is what allows ocpirun to use the rcc container.  by commenting those lines out of the system xml you are essentially saying you don't have a rcc container.  this is why when you comment them out you are seeing that error.
You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve.

What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform?
Also what is your system.xml with teh rcc container in it?


From: discuss discuss-bounces@lists.opencpi.org on behalf of Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 10:47 AM
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] New RCC platform issues (no available containers)

Hello,

A week or two ago you guys were helping me get an SD card created using a new RCC platform spec.  That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs).  I am now running into a couple more errors.

First I will note that I am not booting my board from the SD card.  I am just using the opencpi file tree created by the 'make deploy' command.

When I run the setup script on my board, I get the following error message:

[root@asdr-24 opencpi]# . ./default_mysetup.sh
Discovering available containers...
Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri
ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/
brik2/lib/libocpi_rcc_s.so: internal error
%

'libocpi_rcc_s.so' exists in the location specified.  Perhaps someone could elaborate on what 'internal error' might mean?

I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers.  Here is the message I get when I try that:

% . ./default_mysetup.sh
Discovering available containers...
Available containers:

Model Platform      OS    OS-Version  Arch    Name

% cd ../brik2/bin/
% ls
busybox  gdb          ocpidriver  ocpiocltest  ocpiserve  ocpizynq
ctests    loadFlash    ocpihdl    ocpiremote  ocpitest  probeJtag
cxxtests  ocfrp_check  ocpiocl    ocpirun      ocpixml    rsync
% ./ocpirun -v -l8 ../../applications/copy.xml
OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml"
OCPI( 8: 13.0633): Performing discovery for all transfer drivers
OCPI( 8: 13.0633): Performing discovery for all library drivers
OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH
OCPI( 8: 14.0149): Performing discovery for all container drivers

OCPI( 8: 14.0149): Component: file_read name: file_read impl:  spec: ocpi.core.file_read selection:
OCPI( 8: 14.0149): Component: file_write name: file_write impl:  spec: ocpi.core.file_write selection:
OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c
ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so"
OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn
t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so"
OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): For instance file_read there were 1 candidates.  These had potential containers:
OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5
OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers
No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read').
The implementations found were:
Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_
read.rcc.0.brik2.so
OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple
mentation found.
Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou
nd.
%

The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar).  I'm just not sure what I need to do to make a container available so I can run a test application.

Thanks in advance,

Eric C. Paulz

Computer Engineer

Hume Center for National Security & Technology

epaulz@vt.edumailto:epaulz@vt.edu

Office: 540-231-6180

Cell: 864-243-6767

this seems like the exact same problem you were seeing in opencpi Its crazy that the board vendor doesn't provide you with a way to install a specific cross compiler or at least say use the cross compiler form xilinx at this version with the board they provide. we may be able to make a good guess based on the kernel that they have built if it was a xilinx suppiled kernel. what does "uname -a" return on the board? This test that you have created here is great and as soon as we solve that problem you will have the solution you need in the framework. -Chris ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 21, 2019 2:41 PM To: Marasco, Aaron; discuss@lists.opencpi.org; Chris Hinkey Subject: Re: New RCC platform issues (no available containers) I hope it's ok to revive this thread, I've been trying to continue work on this in the midst of us moving into a new building. I got in touch with someone at the board vendor and was told that I should be using the Xilinx SDK cross-compile tools. However, I was not given a specific version. I've tried 2013.4, 2016.2, and a few other versions with the same result. Unfortunately, none of my followup emails on the topic have been answered yet. Aaron, I took your suggestion and built a simple dlopen() example. I compiled it with the tools provided in the Xilinx SDK 2016.2 (arm-xilinx-linux-gnueabi-gcc), and this is the output I get when trying to run it on my board. [root@foo-24 dlopen]# ls animal.h dlopen_sample dog.c libdog.so cat.c dlopen_sample.c libcat.so Makefile [root@foo-24 dlopen]# ./dlopen_sample Usage: ./dlopen_sample animal_type [root@foo-24 dlopen]# ./dlopen_sample dog Error: ./libdog.so: internal error [root@foo-24 dlopen]# When I run the executable alone, it seems to run properly and gives me feedback on proper usage. It's only when it attempts to access the .so file that I have issues (which is exactly what I'm stuck on with the RCC Platform). I know this is getting a little off track as it isn't exactly an OpenCPI issue. I'm hoping to heard back from the vendor with some clarification soon. Thanks, Eric ________________________________ From: Marasco, Aaron <aaron.marasco@bia-boeing.com> Sent: Wednesday, May 8, 2019 6:56:00 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) I agree with Chris that you need to ensure it is the proper compiler and the PIC option is required. Additionally, I glanced at your Makefile attachment and noticed that "OcpiPlatformPrerequisites" has a mistaken semicolon. That might save you a little heartburn in the future. You can consider writing a trivial example program that uses dlopen() and then ensure that you can cross-compile and run it using the flags you're putting into that RCC platform definition. A quick search gave me https://gist.github.com/tailriver/30bf0c943325330b7b6a which might help. ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 14:31 To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: [Discuss OpenCPI] New RCC platform issues (no available containers) Seems like the problem is that you are using the xilinx compiler from 2013.4 instead of the toolchain that is provided with your board. The developer of your board has to have a toolchain that they provide you with that goes along with the operating system that is installed on the board. ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 2:21 PM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file brik2/bin/ocpirun brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped No I did not use -fPIC. My .mk is very similar to the preexisting 'xilinx13_3.mk'. My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on. My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments. I have attached my platform definition file. ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 1:24:48 PM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) can you also do a file on ocpirun? the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library. Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file? ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 11:02 AM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped 'system.xml' is basically the same as the ZedBoard default. It looks like this on my system: <opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi> ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 10:56:27 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) that container "driver" getting loaded is what allows ocpirun to use the rcc container. by commenting those lines out of the system xml you are essentially saying you don't have a rcc container. this is why when you comment them out you are seeing that error. You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve. What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform? Also what is your system.xml with teh rcc container in it? ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 10:47 AM To: discuss@lists.opencpi.org Subject: [Discuss OpenCPI] New RCC platform issues (no available containers) Hello, A week or two ago you guys were helping me get an SD card created using a new RCC platform spec. That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs). I am now running into a couple more errors. First I will note that I am not booting my board from the SD card. I am just using the opencpi file tree created by the 'make deploy' command. When I run the setup script on my board, I get the following error message: [root@asdr-24 opencpi]# . ./default_mysetup.sh Discovering available containers... Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/ brik2/lib/libocpi_rcc_s.so: internal error % 'libocpi_rcc_s.so' exists in the location specified. Perhaps someone could elaborate on what 'internal error' might mean? I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers. Here is the message I get when I try that: % . ./default_mysetup.sh Discovering available containers... Available containers: # Model Platform OS OS-Version Arch Name % cd ../brik2/bin/ % ls busybox gdb ocpidriver ocpiocltest ocpiserve ocpizynq ctests loadFlash ocpihdl ocpiremote ocpitest probeJtag cxxtests ocfrp_check ocpiocl ocpirun ocpixml rsync % ./ocpirun -v -l8 ../../applications/copy.xml OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml" OCPI( 8: 13.0633): Performing discovery for all transfer drivers OCPI( 8: 13.0633): Performing discovery for all library drivers OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH OCPI( 8: 14.0149): Performing discovery for all container drivers OCPI( 8: 14.0149): Component: file_read name: file_read impl: spec: ocpi.core.file_read selection: OCPI( 8: 14.0149): Component: file_write name: file_write impl: spec: ocpi.core.file_write selection: OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so" OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so" OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): For instance file_read there were 1 candidates. These had potential containers: OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5 OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read'). The implementations found were: Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_ read.rcc.0.brik2.so OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple mentation found. Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou nd. % The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar). I'm just not sure what I need to do to make a container available so I can run a test application. Thanks in advance, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767
MA
Marasco, Aaron
Wed, May 22, 2019 10:54 AM

I agree with Chris; we'll continue to help you debug this off-list, but right now it is outside the scope of OpenCPI if you cannot get past that simple dlopen() call. If anything comes out of it that can help the community in general, we'll follow up here.


From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 21, 2019 14:56
To: Paulz, Eric; Marasco, Aaron; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

this seems like the exact same problem you were seeing in opencpi Its crazy that the board vendor doesn't provide you with a way to install a specific cross compiler or at least say use the cross compiler form xilinx at this version with the board they provide.  we may be able to make a good guess based on the kernel that they have built if it was a xilinx suppiled kernel.

what does "uname -a" return on the board?

This test that you have created here is great and as soon as we solve that problem you will have the solution you need in the framework.

-Chris


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 21, 2019 2:41 PM
To: Marasco, Aaron; discuss@lists.opencpi.org; Chris Hinkey
Subject: Re: New RCC platform issues (no available containers)

I hope it's ok to revive this thread, I've been trying to continue work on this in the midst of us moving into a new building.

I got in touch with someone at the board vendor and was told that I should be using the Xilinx SDK cross-compile tools.  However, I was not given a specific version.  I've tried 2013.4, 2016.2, and a few other versions with the same result.  Unfortunately, none of my followup emails on the topic have been answered yet.

Aaron, I took your suggestion and built a simple dlopen() example.  I compiled it with the tools provided in the Xilinx SDK 2016.2 (arm-xilinx-linux-gnueabi-gcc), and this is the output I get when trying to run it on my board.

[root@foo-24 dlopen]# ls
animal.h  dlopen_sample    dog.c      libdog.so
cat.c    dlopen_sample.c  libcat.so  Makefile
[root@foo-24 dlopen]# ./dlopen_sample
Usage: ./dlopen_sample animal_type
[root@foo-24 dlopen]# ./dlopen_sample dog
Error: ./libdog.so: internal error
[root@foo-24 dlopen]#

When I run the executable alone, it seems to run properly and gives me feedback on proper usage.  It's only when it attempts to access the .so file that I have issues (which is exactly what I'm stuck on with the RCC Platform).  I know this is getting a little off track as it isn't exactly an OpenCPI issue.  I'm hoping to heard back from the vendor with some clarification soon.

Thanks,
Eric


From: Marasco, Aaron aaron.marasco@bia-boeing.com
Sent: Wednesday, May 8, 2019 6:56:00 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

I agree with Chris that you need to ensure it is the proper compiler and the PIC option is required. Additionally, I glanced at your Makefile attachment and noticed that "OcpiPlatformPrerequisites" has a mistaken semicolon. That might save you a little heartburn in the future.

You can consider writing a trivial example program that uses dlopen() and then ensure that you can cross-compile and run it using the flags you're putting into that RCC platform definition. A quick search gave me https://gist.github.com/tailriver/30bf0c943325330b7b6a which might help.


From: discuss discuss-bounces@lists.opencpi.org on behalf of Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 14:31
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: [Discuss OpenCPI] New RCC platform issues (no available containers)

Seems like the problem is that you are using the xilinx compiler from 2013.4 instead of the toolchain that is provided with your board.  The developer of your board has to have a toolchain that they provide you with that goes along with the operating system that is installed on the board.


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 2:21 PM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file brik2/bin/ocpirun
brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped

No I did not use -fPIC.

My .mk is very similar to the preexisting 'xilinx13_3.mk'.  My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on.  My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments.  I have attached my platform definition file.


From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 1:24:48 PM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

can you also do a file on ocpirun?

the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library.
Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file?


From: Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 11:02 AM
To: Chris Hinkey; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

[root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so
/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

'system.xml' is basically the same as the ZedBoard default.  It looks like this on my system:

<opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi>

From: Chris Hinkey chinkey@geontech.onmicrosoft.com
Sent: Tuesday, May 7, 2019 10:56:27 AM
To: Paulz, Eric; discuss@lists.opencpi.org
Subject: Re: New RCC platform issues (no available containers)

that container "driver" getting loaded is what allows ocpirun to use the rcc container.  by commenting those lines out of the system xml you are essentially saying you don't have a rcc container.  this is why when you comment them out you are seeing that error.
You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve.

What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform?
Also what is your system.xml with teh rcc container in it?


From: discuss discuss-bounces@lists.opencpi.org on behalf of Paulz, Eric epaulz@vt.edu
Sent: Tuesday, May 7, 2019 10:47 AM
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] New RCC platform issues (no available containers)

Hello,

A week or two ago you guys were helping me get an SD card created using a new RCC platform spec.  That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs).  I am now running into a couple more errors.

First I will note that I am not booting my board from the SD card.  I am just using the opencpi file tree created by the 'make deploy' command.

When I run the setup script on my board, I get the following error message:

[root@asdr-24 opencpi]# . ./default_mysetup.sh
Discovering available containers...
Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri
ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/
brik2/lib/libocpi_rcc_s.so: internal error
%

'libocpi_rcc_s.so' exists in the location specified.  Perhaps someone could elaborate on what 'internal error' might mean?

I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers.  Here is the message I get when I try that:

% . ./default_mysetup.sh
Discovering available containers...
Available containers:

Model Platform      OS    OS-Version  Arch    Name

% cd ../brik2/bin/
% ls
busybox  gdb          ocpidriver  ocpiocltest  ocpiserve  ocpizynq
ctests    loadFlash    ocpihdl    ocpiremote  ocpitest  probeJtag
cxxtests  ocfrp_check  ocpiocl    ocpirun      ocpixml    rsync
% ./ocpirun -v -l8 ../../applications/copy.xml
OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml"
OCPI( 8: 13.0633): Performing discovery for all transfer drivers
OCPI( 8: 13.0633): Performing discovery for all library drivers
OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH
OCPI( 8: 14.0149): Performing discovery for all container drivers

OCPI( 8: 14.0149): Component: file_read name: file_read impl:  spec: ocpi.core.file_read selection:
OCPI( 8: 14.0149): Component: file_write name: file_write impl:  spec: ocpi.core.file_write selection:
OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c
ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so"
OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn
t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so"
OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1
OCPI( 8: 14.0150): For instance file_read there were 1 candidates.  These had potential containers:
OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5
OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers
No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read').
The implementations found were:
Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_
read.rcc.0.brik2.so
OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple
mentation found.
Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou
nd.
%

The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar).  I'm just not sure what I need to do to make a container available so I can run a test application.

Thanks in advance,

Eric C. Paulz

Computer Engineer

Hume Center for National Security & Technology

epaulz@vt.edumailto:epaulz@vt.edu

Office: 540-231-6180

Cell: 864-243-6767

I agree with Chris; we'll continue to help you debug this off-list, but right now it is outside the scope of OpenCPI if you cannot get past that simple dlopen() call. If anything comes out of it that can help the community in general, we'll follow up here. ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 21, 2019 14:56 To: Paulz, Eric; Marasco, Aaron; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) this seems like the exact same problem you were seeing in opencpi Its crazy that the board vendor doesn't provide you with a way to install a specific cross compiler or at least say use the cross compiler form xilinx at this version with the board they provide. we may be able to make a good guess based on the kernel that they have built if it was a xilinx suppiled kernel. what does "uname -a" return on the board? This test that you have created here is great and as soon as we solve that problem you will have the solution you need in the framework. -Chris ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 21, 2019 2:41 PM To: Marasco, Aaron; discuss@lists.opencpi.org; Chris Hinkey Subject: Re: New RCC platform issues (no available containers) I hope it's ok to revive this thread, I've been trying to continue work on this in the midst of us moving into a new building. I got in touch with someone at the board vendor and was told that I should be using the Xilinx SDK cross-compile tools. However, I was not given a specific version. I've tried 2013.4, 2016.2, and a few other versions with the same result. Unfortunately, none of my followup emails on the topic have been answered yet. Aaron, I took your suggestion and built a simple dlopen() example. I compiled it with the tools provided in the Xilinx SDK 2016.2 (arm-xilinx-linux-gnueabi-gcc), and this is the output I get when trying to run it on my board. [root@foo-24 dlopen]# ls animal.h dlopen_sample dog.c libdog.so cat.c dlopen_sample.c libcat.so Makefile [root@foo-24 dlopen]# ./dlopen_sample Usage: ./dlopen_sample animal_type [root@foo-24 dlopen]# ./dlopen_sample dog Error: ./libdog.so: internal error [root@foo-24 dlopen]# When I run the executable alone, it seems to run properly and gives me feedback on proper usage. It's only when it attempts to access the .so file that I have issues (which is exactly what I'm stuck on with the RCC Platform). I know this is getting a little off track as it isn't exactly an OpenCPI issue. I'm hoping to heard back from the vendor with some clarification soon. Thanks, Eric ________________________________ From: Marasco, Aaron <aaron.marasco@bia-boeing.com> Sent: Wednesday, May 8, 2019 6:56:00 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) I agree with Chris that you need to ensure it is the proper compiler and the PIC option is required. Additionally, I glanced at your Makefile attachment and noticed that "OcpiPlatformPrerequisites" has a mistaken semicolon. That might save you a little heartburn in the future. You can consider writing a trivial example program that uses dlopen() and then ensure that you can cross-compile and run it using the flags you're putting into that RCC platform definition. A quick search gave me https://gist.github.com/tailriver/30bf0c943325330b7b6a which might help. ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 14:31 To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: [Discuss OpenCPI] New RCC platform issues (no available containers) Seems like the problem is that you are using the xilinx compiler from 2013.4 instead of the toolchain that is provided with your board. The developer of your board has to have a toolchain that they provide you with that goes along with the operating system that is installed on the board. ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 2:21 PM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file brik2/bin/ocpirun brik2/bin/ocpirun: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped No I did not use -fPIC. My .mk is very similar to the preexisting 'xilinx13_3.mk'. My board is so similar to the ZedBoard other than the OS which is proprietary and has been difficult to find documentation on. My strategy has been to mimic the process for enabling Zed with xilinx13_3 rcc platform as much as possible and make the necessary adjustments. I have attached my platform definition file. ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 1:24:48 PM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) can you also do a file on ocpirun? the error you are getting is likely do to some compiler flag problem that error is coming from when dlopen tries to load the libocpi_rcc_s software library. Are you compiling with -fPIC on? can you send us the rcc platform definition .mk file? ________________________________ From: Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 11:02 AM To: Chris Hinkey; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) [root@asdr-24 opencpi]# file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped 'system.xml' is basically the same as the ZedBoard default. It looks like this on my system: <opencpi> <container> <rcc load='1'/> <hdl load='1'/> </container> <transfer smbsize='128K'> <pio load='1' smbsize='10M'/> <socket load='1'/> <dma load='1'/> </transfer> </opencpi> ________________________________ From: Chris Hinkey <chinkey@geontech.onmicrosoft.com> Sent: Tuesday, May 7, 2019 10:56:27 AM To: Paulz, Eric; discuss@lists.opencpi.org Subject: Re: New RCC platform issues (no available containers) that container "driver" getting loaded is what allows ocpirun to use the rcc container. by commenting those lines out of the system xml you are essentially saying you don't have a rcc container. this is why when you comment them out you are seeing that error. You may want to comment out the hdl container in the system xml for test purposes here to just work on the rcc side of things. The first problem you saw is the one that we need to solve. What happens if you run "file /mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so" on your platform? Also what is your system.xml with teh rcc container in it? ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Paulz, Eric <epaulz@vt.edu> Sent: Tuesday, May 7, 2019 10:47 AM To: discuss@lists.opencpi.org Subject: [Discuss OpenCPI] New RCC platform issues (no available containers) Hello, A week or two ago you guys were helping me get an SD card created using a new RCC platform spec. That has been successful, and it seems that cross-compilation etc. worked correctly as I am now running commands on my board and getting OpenCPI output (errors/logs). I am now running into a couple more errors. First I will note that I am not booting my board from the SD card. I am just using the opencpi file tree created by the 'make deploy' command. When I run the setup script on my board, I get the following error message: [root@asdr-24 opencpi]# . ./default_mysetup.sh Discovering available containers... Exiting for exception: Error processing system configuration file "/mnt/card/opencpi/system.xml": error loading the "rcc" "container" dri ver from "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": error loading "/mnt/card/opencpi/brik2/lib/libocpi_rcc_s.so": /mnt/card/opencpi/ brik2/lib/libocpi_rcc_s.so: internal error % 'libocpi_rcc_s.so' exists in the location specified. Perhaps someone could elaborate on what 'internal error' might mean? I noticed that if I edit 'system.xml' and comment out everything between the <opencpi></opencpi> tags, I seem to get a step further but then it fails because it can't find any containers. Here is the message I get when I try that: % . ./default_mysetup.sh Discovering available containers... Available containers: # Model Platform OS OS-Version Arch Name % cd ../brik2/bin/ % ls busybox gdb ocpidriver ocpiocltest ocpiserve ocpizynq ctests loadFlash ocpihdl ocpiremote ocpitest probeJtag cxxtests ocfrp_check ocpiocl ocpirun ocpixml rsync % ./ocpirun -v -l8 ../../applications/copy.xml OCPI( 8: 13.0632): Processing XML system configuration file: "/mnt/card/opencpi/system.xml" OCPI( 8: 13.0633): Performing discovery for all transfer drivers OCPI( 8: 13.0633): Performing discovery for all library drivers OCPI( 8: 13.0633): Searching directory /mnt/card/opencpi/brik2/ recursively, from OCPI_LIBRARY_PATH OCPI( 8: 14.0149): Performing discovery for all container drivers OCPI( 8: 14.0149): Component: file_read name: file_read impl: spec: ocpi.core.file_read selection: OCPI( 8: 14.0149): Component: file_write name: file_write impl: spec: ocpi.core.file_write selection: OCPI( 8: 14.0149): Considering implementation for instance "file_read" with spec "ocpi.core.file_read": "file_read" from artifact "/mnt/c ard/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so" OCPI( 8: 14.0149): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): Considering implementation for instance "file_write" with spec "ocpi.core.file_write": "file_write" from artifact "/mn t/card/opencpi/brik2//artifacts/ocpi.core.file_write.rcc.0.brik2.so" OCPI( 8: 14.0150): Accepted implementation before connectivity checks with score 1 OCPI( 8: 14.0150): For instance file_read there were 1 candidates. These had potential containers: OCPI( 8: 14.0150): Checking implementation file_read model rcc os linux version b2 arch arm platform brik2 dynamic 0 opencpi version 1.5 OCPI( 8: 14.0150): Candidate 0 /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_read.rcc.0.brik2.so is ok for no containers No containers were found for deploying instance 'file_read' (spec 'ocpi.core.file_read'). The implementations found were: Name: file_read, Model: rcc, Arch: arm, Platform: brik2, OpenCPI Version: 1.5, File: /mnt/card/opencpi/brik2//artifacts/ocpi.core.file_ read.rcc.0.brik2.so OCPI( 8: 14.0150): Error Exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 imple mentation found. Exiting for exception: For instance "file_read" for spec "ocpi.core.file_read": no feasible containers found for the 1 implementation fou nd. % The 'system.xml' I'm using is the same one produced when building an SD card for a ZedBoard (as my board is very similar). I'm just not sure what I need to do to make a container available so I can run a test application. Thanks in advance, - Eric C. Paulz Computer Engineer Hume Center for National Security & Technology epaulz@vt.edu<mailto:epaulz@vt.edu> Office: 540-231-6180 Cell: 864-243-6767