CryptoGoblin
CryptoGoblin copied to clipboard
WARNING: backend plugin CryptoGoblin_opencl contains no entry 'xmrstak_start_backend'
Ubuntu 16.04 LTS
WARNING: backend plugin CryptoGoblin_opencl contains no entry 'xmrstak_start_backend': ./libCryptoGoblin_opencl.so: undefined symbol: xmrstak_start_backend WARNING: AMD Backend disabled
I need more information if I am to understand what is going on here. Does this error appear during compile or when you run it? Did you happen to have an old libcryptogoblin_opencl.so, or is that also updated? Would be nice if you could gist or pastebin the whole compile log and runtime log.
When I run the application. no old libcryptogoblin_opencl.so as this is the first time I ever installed your miner. let me try to find the compile and runtime logs.
is the compile log = CMakeOutput.log and the runtime log - where can I find that file?
Just copy-paste the complete output of the compile and the output when you try to run it
Compile Log - https://pastebin.com/hY25r8Ma
Runtime Log - https://pastebin.com/AXyGS1Cm
I do not see anything wrong in that output unfortunately, except that strip does not find the executable. ls -la build/bin should show both the executable and the library, does it not?
I know there could be problems using GCC 5.x, so you could try to install a newer version. I recommend GCC 7.x. You might need to add the following to cmakeopt to make cmake use the correct compiler: "-DCMAKE_CXX_COMPILER=/path/g++7 -DCMAKE_CC_COMPILER=/path/gcc7" Replace the path and executable names with the correct ones for your distro.
You can also enable verbose in build.sh, that might expose more information needed for debugging.
If things still do not work with the new gcc, then run ldd CryptoGoblin and nm -D libcryptoGoblin_opencl.so and send me the output.
Hello. I faced with same problem. Symbol "xmrstak_start_backend" present in ./build/CMakeFiles/CryptoGoblin_opencl.dir/xmrstak/backend/amd/minethd.cpp.o But libCryptoGoblin_opencl.so not contain that symbol. Build runs with no error (except "strip"). gcc version 7.3.1 20180323 [gcc-7-branch revision 258812] (SUSE Linux) gcc is too new? :-) Switching off LTO - same result. What else to look/try?
@KavkaTSR How did you build it, and what was the output? (Please run it with verbose enabled in build.sh)
After the build, run ldd CryptoGoblin and nm -D libcryptoGoblin_opencl.so and send me the output.
I use GCC 6, 7 and 8 without problems, so it is not the version that is a problem at least.
Compile with build.sh. build.sh.txt biuild.log ldd.log nm.log
Object file is fine. "Extern C" works: ./build/CMakeFiles/CryptoGoblin_opencl.dir/xmrstak/backend/amd> objdump -t minethd.cpp.o |grep xmrstak_start_backend 00000000000035c0 g F .text 0000000000000016 .internal xmrstak_start_backend
But ldd libCryptoGoblin_opencl.so |grep xmrstak_start_backend produce empty output.
I see the problem now. A workaround, for now is to turn LTO off in build.sh. I will need to make some rather complex changes to fix this for the next release. (Press the "watch" button to get notified of releases)
I seem to still get the error even with LTO off are their any updates on this issue?
Have same problem, but build xmr-stak - no problems.
[2019-03-10 16:46:00] Mining coin: cryptonight_r WARNING: backend plugin CryptoGoblin_opencl contains no entry 'xmrstak_start_backend': ./libCryptoGoblin_opencl.so: undefined symbol: xmrstak_start_backend [2019-03-10 16:46:00] WARNING: backend AMD (OpenCL) disabled.
ldd CryptoGoblin linux-vdso.so.1 (0x00007fff54aff000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9d5f391000) libmicrohttpd.so.12 => /usr/lib/x86_64-linux-gnu/libmicrohttpd.so.12 (0x00007f9d5f177000) libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f9d5ef0b000) libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f9d5ea72000) libhwloc.so.5 => /usr/lib/x86_64-linux-gnu/libhwloc.so.5 (0x00007f9d5e836000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9d5e632000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9d5e2b0000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9d5dfac000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9d5dd95000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9d5d9f6000) /lib64/ld-linux-x86-64.so.2 (0x00007f9d5fb7e000) libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f9d5d65d000) libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f9d5d34d000) libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1 (0x00007f9d5d142000) libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007f9d5cf38000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9d5cd1e000) libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f9d5cab9000) libidn.so.11 => /lib/x86_64-linux-gnu/libidn.so.11 (0x00007f9d5c885000) libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f9d5c672000) libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f9d5c43b000) libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f9d5c206000) libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f9d5bf83000) libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f9d5bd62000) libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f9d5bb59000)
@bizlevel Did you try compiling with lto="OFF" in build.sh?
Also, please include compile log (with verbose="ON"), it makes it a lot easier to debug.
If you only plan on CPU mining, opencl/cuda can also be disabled to work around this for now.
Still the same problem in last release. But I found the way to build working binaries. Get fresh "git clone", or unpack zip file from github, or do "make clean".
- set opencl=ON and cpu=OFF in build.sh, run build.sh take libCryptoGoblin_opencl.so from ./build/bin/
- set cpu=ON, run build.sh take CryptoGoblin from ./build/bin/