O Sgminer não consegue compilar o kernel cryptonight no Ubuntu 16.04 LTS e drivers amdgpu-pro?

0

Eu construí o sgminer mais recente do genesismining (5.5.5) sem problemas, mas quando eu tento lançá-lo no Ubuntu eu recebo este erro:

./sgminer -o stratum+tcp://monerohash.com:7777 -u <WALLET> -p x -T -k cryptonight

[20:14:42] Started sgminer 5.5.5-gm-a                    
[20:14:42] * using Jansson 2.7                    
[20:14:42] WARNING: GPU_MAX_ALLOC_PERCENT is not specified!                    
[20:14:42] WARNING: GPU_USE_SYNC_OBJECTS is not specified!                    
[20:14:42] Probing for an alive pool                    
[20:14:42] Startup GPU initialization... Using settings from pool monerohash.com.                    
[20:14:42] Startup Pool No = 0                    
[20:14:42] Building binary cryptonightEllesmeregw256l8.bin                    
Segmentation fault (core dumped)

Eu fiz uma nova compilação de depuração, e o gdb mostra que isso está falhando quando o amdgpu-pro tenta compilar o kernel cryptonight:

(gdb) r
Starting program: /home/ubuntu/sgminer-gm/sgminer -o stratum+tcp://monerohash.com:7777 -u 4JUdGzvrMFDWrUUwY3toJATSeNwjn54LkCnKBPRzDuhzi5vSepHfUckJNxRL2gjkNrSqtCoRUrEDAgRwsQvVCjZbS5W2yHJj4LqBy8VEWJ -p x -T -k cryptonight
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[20:16:22] Started sgminer 5.5.5-gm-a                    
[20:16:22] * using Jansson 2.7                    
[20:16:22] WARNING: GPU_MAX_ALLOC_PERCENT is not specified!                    
[20:16:22] WARNING: GPU_USE_SYNC_OBJECTS is not specified!                    
[20:16:22] Probing for an alive pool                    
[New Thread 0x7fffe9901700 (LWP 22520)]
[New Thread 0x7fffe8acb700 (LWP 22521)]
[New Thread 0x7fffe3fff700 (LWP 22522)]
[20:16:22] Startup GPU initialization... Using settings from pool monerohash.com.                    
[20:16:22] Startup Pool No = 0                    
[New Thread 0x7fffe82ca700 (LWP 22523)]
[20:16:22] Building binary cryptonightEllesmeregw256l8.bin                    

Thread 2 "sgminer" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe9901700 (LWP 22520)]
0x00007fffee8e8614 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so

(gdb) where
#0  0x00007fffee8e8614 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#1  0x00007fffee9c041f in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#2  0x00007fffee9c23ea in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#3  0x00007fffee97d728 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#4  0x00007fffee97fda4 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#5  0x00007fffee982b92 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#6  0x00007fffee722b4f in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#7  0x00007fffeea1dc29 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#8  0x00007fffeea1e9e7 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#9  0x00007fffeea8ef7b in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#10 0x00007fffeeb19691 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#11 0x00007fffeeb07a01 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#12 0x00007fffeeb0b4b0 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#13 0x00007fffeeacca91 in aclCompile () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#14 0x00007fffee2c740b in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#15 0x00007fffee27e70f in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#16 0x00007fffee290184 in ?? () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#17 0x00007fffee26ea40 in clBuildProgram () from /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#18 0x00000000004450e2 in build_opencl_kernel (data=data@entry=0x7fffe98fc4a0, 
    filename=filename@entry=0x7fffe98fcb70 "cryptonight.cl") at ocl/build_kernel.c:94
#19 0x0000000000438012 in initCl (gpu=gpu@entry=0, name=name@entry=0x7fffe98fccd0 "Ellesmere", nameSize=nameSize@entry=256, 
    algorithm=algorithm@entry=0x74eb00 <gpus+224>) at ocl.c:779
#20 0x00000000004318d6 in opencl_thread_prepare (thr=<optimized out>) at driver-opencl.c:1288
#21 0x000000000041466b in restart_mining_threads (new_n_threads=<optimized out>) at sgminer.c:9118
#22 0x0000000000419c7d in apply_initial_gpu_settings (pool=pool@entry=0x790b40) at sgminer.c:6950
#23 0x0000000000419f40 in __switch_pools (selected=<optimized out>, saveprio=<optimized out>) at sgminer.c:4524
#24 0x000000000041c55b in test_pool_thread (arg=0x790b40) at sgminer.c:8621
#25 0x00007ffff6def6ba in start_thread (arg=0x7fffe9901700) at pthread_create.c:333
#26 0x00007ffff6b253dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Eu posso rodar Claymore e xmr-stark-amd sem problemas.

O Sgminer também pode listar todos os dispositivos sem erros:

[20:21:57] CL Platform vendor: Advanced Micro Devices, Inc.                    
[20:21:57] CL Platform name: AMD Accelerated Parallel Processing                    
[20:21:57] CL Platform version: OpenCL 2.0 AMD-APP (2482.3)                    
[20:21:57] Platform devices: 6                    
[20:21:57]  0   Ellesmere                    
[20:21:57]  1   Ellesmere                    
[20:21:57]  2   Ellesmere                    
[20:21:57]  3   Ellesmere                    
[20:21:57]  4   Ellesmere                    
[20:21:57]  5   Ellesmere                    
[20:21:57] 6 GPU devices max detected

e clinfo estão detectando todas as GPUs e mostrando os resultados esperados.

Além disso, o sgminer foi vinculado corretamente, tanto quanto eu posso dizer:

root@ubuntu:~/sgminer-gm# ldd sgminer
    linux-vdso.so.1 =>  (0x00007ffe199f7000)
    libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f4b0d2db000)
    libOpenCL.so.1 => /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007f4b0d0d4000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f4b0cecb000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4b0cbc2000)
    libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007f4b0c9a0000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f4b0c776000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4b0c559000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4b0c18f000)
    libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007f4b0bf5b000)
    librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f4b0bd3f000)
    libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f4b0bad6000)
    libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f4b0b691000)
    libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f4b0b447000)
    liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f4b0b238000)
    libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f4b0afe6000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f4b0adcc000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4b0abc8000)
    /lib64/ld-linux-x86-64.so.2 (0x00005574292ac000)
    libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f4b0a897000)
    libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f4b0a664000)
    libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f4b0a42d000)
    libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f4b0a1ad000)
    libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f4b09edb000)
    libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f4b09cab000)
    libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f4b09aa7000)
    libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f4b0989c000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f4b09680000)
    libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f4b09465000)
    libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f4b09224000)
    libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f4b08fbf000)
    libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f4b08dac000)
    libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f4b08ba8000)
    libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f4b0899e000)
    libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f4b08714000)
    libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f4b08471000)
    libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f4b0823e000)
    libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007f4b08028000)
    libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f4b07e1f000)
    libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007f4b07bf6000)
    libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f4b079e7000)
    libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f4b0779b000)
    libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f4b074c6000)
    libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f4b0728e000)
root@ubuntu:~/sgminer-gm# 

Estou executando o AMDAPPSDK-3.0 e o amdgpu-pro 17.4 (o mais recente) ... alguém tem uma idéia do que posso fazer para corrigir isso?

Eu tentei reinstalar o AMDAPPSDK e o amdgpu-pro com o sinalizador --compute, mas sem sorte.

Obrigado!

Eduardo

    
por Edy Bourne 03.12.2017 / 21:19

0 respostas