Symptoms
Plugin cannot be compliled on RHEL 7, waf configure
gives error:
Checking for library plugin : yes
Checking for plugin header : /root/DomainPlugins/PLUGINNAME/wscript:68: error: not found
from cofigure.log
:
[2/2] ESC[33mcxx_link: .build/.conf_check_0/testbuild/default/plugintest_1.o -> .build/.conf_check_0/testbuild/default/testprog
ESC[0m/usr/bin/ld: default/plugintest_1.o: undefined reference to symbol '_ZN5rdbms5CPBufINS_8Buffer_tIxxEEE6value_ERKx'
/usr/bin/ld: note: '_ZN5rdbms5CPBufINS_8Buffer_tIxxEEE6value_ERKx' is defined in DSO /usr/local/stellart/lib64/libMW.so so try adding it to the linker command line
/usr/local/stellart/lib64/libMW.so: could not read symbols: Invalid operation
Cause
An issue is caused by the bug with id #PBA-76853 ("Cannot build Billing custom domain plug-in on RHEL7").
Resolution
Apply the changes to the files curl.py
and plugin.py
(/root/filename is a backup of the initial file):
[root@sdk]# diff -U2 /usr/local/bm/share/waftools/curl.py /root/curl.py
--- /usr/local/bm/share/waftools/curl.py 2017-02-01 09:59:44.255059304 +0200
+++ /root/curl.py 2017-02-01 09:57:43.578059313 +0200
@@ -2,5 +2,5 @@
import sys
import Configure
-import platform
+
def is_valid_version(conf, version):
@@ -16,9 +16,5 @@
libnames += ['libcurl%s' % debug_suffix, 'libcurl%s_imp' % debug_suffix]
else:
- centos_ver = int(platform.linux_distribution()[1].split('.')[0])
- libnames = ['curl']
- if centos_ver <= 6:
- libnames += ['curl721']
- libnames += ['curl721', 'curl']
+ libnames += ['curl721', 'curl']
flibname = None
[root@sdk ZACR]# diff -U2 /usr/local/bm/share/waftools/plugin.py /root/plugin.py
--- /usr/local/bm/share/waftools/plugin.py 2017-02-01 10:02:02.548059294 +0200
+++ /root/plugin.py 2017-02-01 10:00:36.300059301 +0200
@@ -31,5 +31,5 @@
}
''',
- uselib=e.USELIB_STELLART_COMM + e.USELIB_STELLART_MW + ['PLUGIN'],
+ uselib=e.USELIB_STELLART_COMM + ['PLUGIN'],
env=conf.env.copy(),
execute=1,