bkuner / opcUaUnifiedAutomation

EPICS opcUa device support with Unified Automation C++ based client sdk.
Other
0 stars 4 forks source link

Get error when building testTop applications after succesfully building package #41

Closed Kamforka closed 6 years ago

Kamforka commented 6 years ago

I'm trying to build the example applications for the opcUa package, but I'm getting an error that I cannot get pass.

I created additional .local configure files for RELEASE and CONFIG_SITE where I set the path for EPICS_BASE and UASDK.

Then executed the following code in the terminal:

cd testTop/
make

The build starts and after some time it returns with the following dump:

make -C ./configure install 
make[1]: Entering directory '/usr/local/epics/opcUa/testTop/configure'
perl -CSD /usr/local/epics/base-3.16.1/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../..
mkdir -p O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
    T_A=linux-x86_64 install
make[2]: Entering directory '/usr/local/epics/opcUa/testTop/configure/O.linux-x86_64'
perl -CSD /usr/local/epics/base-3.16.1/bin/linux-x86_64/convertRelease.pl checkRelease
make[2]: Leaving directory '/usr/local/epics/opcUa/testTop/configure/O.linux-x86_64'
make[1]: Leaving directory '/usr/local/epics/opcUa/testTop/configure'
make -C ./SupportModulesApp install 
make[1]: Entering directory '/usr/local/epics/opcUa/testTop/SupportModulesApp'
perl -CSD /usr/local/epics/base-3.16.1/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../..
mkdir -p O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
    T_A=linux-x86_64 install
make[2]: Entering directory '/usr/local/epics/opcUa/testTop/SupportModulesApp/O.linux-x86_64'
Installing libopcUa.so
mkdir ../../bin
mkdir ../../bin/linux-x86_64
Installing libCap5.so
Installing libdbCore.so.3.16.1
Installing libcas.so
Installing libca.so
Installing libdbRecStd.so.3.16.1
Installing libCom.so.3.16.1
Installing libgdd.so
Installing libdbRecStd.so
Installing libdbCore.so
Installing libCom.so
Installing libgdd.so.3.16.1
Installing libcas.so.3.16.1
Installing libca.so.3.16.1
make[2]: Leaving directory '/usr/local/epics/opcUa/testTop/SupportModulesApp/O.linux-x86_64'
make[1]: Leaving directory '/usr/local/epics/opcUa/testTop/SupportModulesApp'
make -C ./testIocApp install 
make[1]: Entering directory '/usr/local/epics/opcUa/testTop/testIocApp'
perl -CSD /usr/local/epics/base-3.16.1/bin/linux-x86_64/makeMakefile.pl O.linux-x86_64 ../..
mkdir -p O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
    T_A=linux-x86_64 install
make[2]: Entering directory '/usr/local/epics/opcUa/testTop/testIocApp/O.linux-x86_64'
/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE           -D_X86_64_  -DUNIX  -Dlinux     -O3 -g   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/Linux -I../../include   -I../../../include -I/usr/local/epics/base-3.16.1/include/compiler/gcc -I/usr/local/epics/base-3.16.1/include/os/Linux -I/usr/local/epics/base-3.16.1/include      -I/home/evpuser/sdk/include/uaclient  -I/home/evpuser/sdk/include/uapki  -I/home/evpuser/sdk/include/uabase  -I/home/evpuser/sdk/include/uastack  -I/home/evpuser/sdk/include/xmlparser    -MM -MF SoftIocMain.d  ../SoftIocMain.cpp
Creating dbd file OPCUAIOC.dbd
perl -CSD /usr/local/epics/base-3.16.1/bin/linux-x86_64/dbdExpand.pl   -I. -I.. -I../O.Common -I../../dbd -I../../../dbd -I/usr/local/epics/base-3.16.1/dbd -o OPCUAIOC.dbd base.dbd iocshGlobalCommands.dbd opcUa.dbd
perl -CSD /usr/local/epics/base-3.16.1/bin/linux-x86_64/registerRecordDeviceDriver.pl   -I. -I.. -I../O.Common -I../../dbd -I../../../dbd -I/usr/local/epics/base-3.16.1/dbd    -o OPCUAIOC_registerRecordDeviceDriver.cpp ../O.Common/OPCUAIOC.dbd OPCUAIOC_registerRecordDeviceDriver /usr/local/epics/opcUa/testTop
/usr/bin/g++  -D_GNU_SOURCE -D_DEFAULT_SOURCE           -D_X86_64_  -DUNIX  -Dlinux     -O3 -g   -Wall      -mtune=generic     -m64  -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/gcc -I../../include/os/Linux -I../../include   -I../../../include -I/usr/local/epics/base-3.16.1/include/compiler/gcc -I/usr/local/epics/base-3.16.1/include/os/Linux -I/usr/local/epics/base-3.16.1/include      -I/home/evpuser/sdk/include/uaclient  -I/home/evpuser/sdk/include/uapki  -I/home/evpuser/sdk/include/uabase  -I/home/evpuser/sdk/include/uastack  -I/home/evpuser/sdk/include/xmlparser    -MM -MF OPCUAIOC_registerRecordDeviceDriver.d  OPCUAIOC_registerRecordDeviceDriver.cpp
make[2]: *** No rule to make target '../O.Common/HPFR1H1RF.db', needed by 'build'.  Stop.
make[2]: Leaving directory '/usr/local/epics/opcUa/testTop/testIocApp/O.linux-x86_64'
/usr/local/epics/base-3.16.1/configure/RULES_ARCHS:58: recipe for target 'install.linux-x86_64' failed
make[1]: *** [install.linux-x86_64] Error 2
make[1]: Leaving directory '/usr/local/epics/opcUa/testTop/testIocApp'
/usr/local/epics/base-3.16.1/configure/RULES_DIRS:84: recipe for target 'testIocApp.install' failed
make: *** [testIocApp.install] Error 2

What other settings do I need to make in order to make the build successful?

ralphlange commented 6 years ago

Sorry - this is local stuff that the original author left in. Wait a sec...

ralphlange commented 6 years ago

The DB = line (line 6 of the Makefile) should only have the names of your DB files (in that directory) that you want to install.

ralphlange commented 6 years ago

Use one of the existing files, or add your own.

Note that you will have to load that file (from the db installation directory) from inside the st.cmd script.

Kamforka commented 6 years ago

So you mean the file testTop/testIocApp/Makefile, right?

For me on line 6 I have the following definition:

DB = testServer.db freeopcuaTEST.db HPFR1H1RF.db #OPCUA_RECORD.db

I should remove the HPFR1H1RF.db expression, as I don't have a db file like that, correct?

ralphlange commented 6 years ago

Exactly. Just specify the DB files that you intend to use.

Kamforka commented 6 years ago

After changing the line from

DB = testServer.db freeopcuaTEST.db HPFR1H1RF.db #OPCUA_RECORD.db

to

DB = testServer.db freeopcuaTEST.db OPCUA_RECORD.db

the build passes.