Thanks Troy,

I expect this is a linker behavior that is different with different versions of GCC and ld etc.

In our default system (RHEL5), when a library is on the link line, it is "remembered" and loaded even if there are no specific undefined references to it. This has always seemed wrong, but it meant that these "optional driver libraries" always got loaded in any case.
So the issue is to force these drivers to be loaded.
This can happen in three ways: one is to force the .obj file and the other is to force it via the -u linker flag, and finally the option to explicitly load them
at runtime.

We'll have to work this out in the build scripts/Makefiles.
Until we have a good fix you might force is in the bias_xml Makefile link line by including HdlContainer.obj and PciScanner.obj.

Jim




On 4/4/12 7:03 PM, Ziersch, Troy (Contractor) wrote:
UNCLASSIFIED

Hi Jim,

We do a default build with OCPI_HAVE_OPENSPLICE is unset,
OCPI_HAVE_OPENCV is unset, OCPI_HAVE_CORBA=1.
As you suspected, no libhdl_container.so

ldd gives:
         linux-vdso.so.1 =>   (0x00007fff577ff000)
         libapplication.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/libapplicat
ion.so (0x00007f30eef0b000)
         libinterfaces.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/libinterfac
es.so (0x00007f30eece1000)
         librcc_container.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/librcc_cont
ainer.so (0x00007f30eea92000)
         librdma_drivers.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/librdma_dri
vers.so (0x00007f30ee855000)
         libutil.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/libutil.so
(0x00007f30ee4fb000)
         libstdc++.so.6 =>  /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007f30ee1e1000)
         libm.so.6 =>  /lib/x86_64-linux-gnu/libm.so.6
(0x00007f30edf5d000)
         libgcc_s.so.1 =>  /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007f30edd47000)
         libc.so.6 =>  /lib/x86_64-linux-gnu/libc.so.6
(0x00007f30ed9a7000)
         libpthread.so.0 =>  /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f30ed78a000)
         liblibrary.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/liblibrary.
so (0x00007f30ed55c000)
         libocpios.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/libocpios.s
o (0x00007f30ed342000)
         librdma_driver_interface.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/librdma_dri
ver_interface.so (0x00007f30ed11d000)
         libtransport.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/libtranspor
t.so (0x00007f30eceaa000)
         libmsg_driver_interface.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/libmsg_driv
er_interface.so (0x00007f30ecc9c000)
         librdma_utils.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/librdma_uti
ls.so (0x00007f30eca97000)
         librdma_smb.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/librdma_smb
.so (0x00007f30ec887000)
         liblogger.so =>
/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/linux-x86_64/liblogger.s
o (0x00007f30ec667000)
         librt.so.1 =>  /lib/x86_64-linux-gnu/librt.so.1
(0x00007f30ec45e000)
         /lib64/ld-linux-x86-64.so.2 (0x00007f30ef121000)
         libdl.so.2 =>  /lib/x86_64-linux-gnu/libdl.so.2
(0x00007f30ec25a000)


Cheers,
Troy



________________________________

From: [email protected]
[mailto:[email protected]] On Behalf Of James Kulp
Sent: Wednesday, 4 April 2012 10:38 PM
To: [email protected]
Subject: Re: [opencpi_dev] bias_xml example [SEC=UNCLASSIFIED]


Troy,

It looks like the HDL container driver/library is not being loaded.
This usually happens automatically, in both the static and dynamic
library cases.  Can you do "ldd biasFile"? (in the dynamic build case)

Here's what I get:

sh-3.2$ ldd biasFile
     linux-vdso.so.1 =>   (0x00007fffb346f000)
     libapplication.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/libapplication.so
(0x00002b00a02ee000)
     librcc_container.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/librcc_container.so
(0x00002b00a0503000)
     libhdl_container.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/libhdl_container.so
(0x00002b00a074f000)
     libinterfaces.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/libinterfaces.so
(0x00002b00a09b9000)
     liblibrary.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/liblibrary.so
(0x00002b00a0be0000)
     libtransport.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/libtransport.so
(0x00002b00a0e0e000)
     librdma_driver_interface.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/librdma_driver_interfac
e.so (0x00002b00a1081000)
     librdma_drivers.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/librdma_drivers.so
(0x00002b00a12a5000)
     librdma_utils.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/librdma_utils.so
(0x00002b00a14df000)
     librdma_smb.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/librdma_smb.so
(0x00002b00a16e2000)
     libutil.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/libutil.so
(0x00002b00a18f0000)
     libmsg_driver_interface.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/libmsg_driver_interface
.so (0x00002b00a1c59000)
     libocpios.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/libocpios.so
(0x00002b00a1e65000)
     librt.so.1 =>  /lib64/librt.so.1 (0x0000003d3b800000)
     libdl.so.2 =>  /lib64/libdl.so.2 (0x0000003d3a800000)
     libuuid.so.1 =>  /lib64/libuuid.so.1 (0x0000003d4ce00000)
     libstdc++.so.6 =>  /usr/lib64/libstdc++.so.6 (0x00002b00a209b000)
     libm.so.6 =>  /lib64/libm.so.6 (0x0000003d3ac00000)
     libgcc_s.so.1 =>  /lib64/libgcc_s.so.1 (0x0000003d4c200000)
     libc.so.6 =>  /lib64/libc.so.6 (0x0000003d3a400000)
     libpthread.so.0 =>  /lib64/libpthread.so.0 (0x0000003d3b000000)
     liblogger.so =>
/home/jim/tclone13/opencpi/ocpi/lib/linux-x86_64/liblogger.so
(0x00002b00a239d000)
     /lib64/ld-linux-x86-64.so.2 (0x0000003d3a000000)



On 4/3/12 8:50 PM, Ziersch, Troy (Contractor) wrote:

        UNCLASSIFIED

        Hi,
        
        I'm trying to run the bias_xml hdl example.
        
        After following the instructions in the makefile ocfrp_check
gives:
        OpenCPI FPGA at PCI 0000:03:00.0: BSV date Wed Nov 30 03:26:32
2011, bitstream date Wed Apr  4 09:19:32 2012, platform "ml605", device
"xc6vlx240t", UUID ffe60b9a-a728-4470-bcdb-14ec56c4cfc3
        
        And ls ${OCPI_CDK_DIR}/lib/components/hdl gives:
        bias_ver.xml  bias.xml  delay.xml  framegate.xml  sma.xml
splitter2x2.xml  stubs  testbias-ml605.bit.gz  virtex6
        
        But make runhdl1 ARGS='model=="hdl"' gives:
        
OCPI_LIBRARY_PATH=/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/compon
ents/rcc:/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/components/hdl
sudo -E ./biasFile 'model=="hdl"'
        OCPI( 2): Cannot open or retrieve metadata from file
"/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/components/hdl/stubs/vi
rtex6/components.sdbl"
        OCPI( 2): Cannot open or retrieve metadata from file
"/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/components/hdl/stubs/vi
rtex6/components.sdbx"
        OCPI( 2): Cannot open or retrieve metadata from file
"/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/components/hdl/virtex6/
bias_ver.ngc"
        OCPI( 2): Cannot open or retrieve metadata from file
"/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/components/hdl/virtex6/
sma.ngc"
        OCPI( 2): Cannot open or retrieve metadata from file
"/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/components/hdl/virtex6/
bias.ngc"
        OCPI( 2): Cannot open or retrieve metadata from file
"/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/components/hdl/virtex6/
splitter2x2.ngc"
        OCPI( 2): Cannot open or retrieve metadata from file
"/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/components/hdl/virtex6/
delay.ngc"
        OCPI( 2): Cannot open or retrieve metadata from file
"/gewc/zierscht/sandboxes/opencpi_clean/ocpi/lib/components/hdl/virtex6/
framegate.ngc"
        OCPI( 8): Set OCPI_MAX_MAILBOX environment varible to control
max mailbox
        OCPI( 8): Set OCPI_TRANSFER_MAILBOX environment varible to
control mailbox
        OCPI( 2): There are no containers for the 1 suitable
implementation for instance bias of component (spec) bias
        Exception thrown: There are no containers for the 1 suitable
implementation for instance bias of component (spec) bias
        make: *** [runhdl1] Error 1
        
        
        Any ideas?
        
        Cheers,
        Troy
        
        IMPORTANT: This email remains the property of the Department of
Defence and is subject to the jurisdiction of section 70 of the Crimes
Act 1914. If you have received this email in error, you are requested to
contact the sender and delete the email.
        


        
        
        _______________________________________________
        opencpi_dev mailing list
        [email protected]
        http://lists.opencpi.org/listinfo.cgi/opencpi_dev-opencpi.org
        



IMPORTANT: This email remains the property of the Department of Defence
and is subject to the jurisdiction of section 70 of the Crimes Act 1914.
If you have received this email in error, you are requested to contact
the sender and delete the email.

_______________________________________________
opencpi_dev mailing list
[email protected]
http://lists.opencpi.org/listinfo.cgi/opencpi_dev-opencpi.org

_______________________________________________
opencpi_dev mailing list
[email protected]
http://lists.opencpi.org/listinfo.cgi/opencpi_dev-opencpi.org

Reply via email to