2016-04-25 20 views
4

Ich hatte einen Fehler, wenn ich gputools in R installieren, und ich kann keine Lösung von Google finden. Ich benutze Befehl install.packages("gputools")R gputools: gcc: Fehler: nicht erkannte Befehlszeilenoption '-Wp'

/usr/local/cuda/bin/nvcc -c -Xcompiler "-fpic -I/usr/local/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic" -I. -I"/usr/local/cuda/include" -I"/usr/lib64/R/include" rinterface.cu -o rinterface.o 
gcc: error: unrecognized command line option ‘-Wp’ 
make: *** [rinterface.o] Error 1 
ERROR: compilation failed for package ‘gputools’ 

Kann mir hier jemand helfen? Meine GPU Karten sind gegeben durch

01:00.0 VGA compatible controller: NVIDIA Corporation GM107GL [Quadro K620] (rev a2) 
+1

Was ist der säumige Komma/Vereinbarung von den Host-Compiler-Optionen Entfernen Sie an den Compiler vorbei sind? – talonmies

+0

@talonmies. Ich verstehe nicht was du meinst. Ich benutze den Befehl 'install.packages (" gputools ")' in der R-Konsole. –

+0

So enthält das Setup dieses R-Pakets Compiler-Optionen, die an Ihr Host-GCC übergeben werden, das es nicht versteht. Entfernen Sie sie entweder selbst oder melden Sie dies der Person, die das Paket erstellt hat. Ich sehe keine CUDA Programmierfrage hier, also werde ich das Tag – talonmies

Antwort

4

Ok, ich habe diese Arbeit mit ein paar Hacks. Dies ist für Centos 7.

Erste Ausgabe wurde durch Blick auf die Mailing-Liste gelöst. https://github.com/nullsatz/gputools/issues/12

Bearbeiten Sie die Makefile und ändern Zeile 'CFLAGS: put '\' nach 'Wp' & vor',‘

CFLAGS = -O2 -g -pipe -Wall Werror = Format-Sicherheit -WP \, - D_FORTIFY_SOURCE = 2 -experimente -fstack-protector-strong --param = ssp-buffer-size = 4 -grecord-gcc-switches -m64 -mtune = generisch

Zweites Problem war, dass die R geteilt lib wurde nicht gefunden. Ich habe versucht, den LD_LIBRARY_PATH in der Treiberkonfigurationsdatei und in der Befehlszeile zu setzen, aber das hat nicht funktioniert.

endete ich mit dem folgenden Hack up:

cd/usr/local/cuda/lib64 & & ln -s /usr/lib64/R/lib/libR.so libR.so

verwendete ich den Befehl zu bauen folgenden (beachten Sie die tar.gz-Datei mit dem modifizierten Makefile enthält jetzt) ​​

R CMD --configure-args = "INSTALL - mit-nvcc =/usr/local/cuda/bin/nvcc --with-r-lib =/usr/lib64/"./gputools_1.0.tar.gz

Ich weiß, das ist hässlich, aber es scheint zu funktionieren.

+0

Nachdem du '\' nach 'Wp' & before ',' gestellt hast, was hast du mit dem Ordner 'gputools' gemacht? Hast du es wieder gezippt? Wenn ich Pakete aus der tar.gz-Datei installiere, wird derselbe Fehler angezeigt. –

+0

Danke. Problem gelöst. –

+0

Ich kann nicht finden, wo das Makefile ist. Selbst wenn ich 'grep -r "Wp" laufen lasse. " aus der entpackten Datei. Wo ist das Makefile oder wie kann ich es erzeugen? –

-1

Es scheint, dass Ihre Make-Datei

-Wp,-D_FORTIFY_SOURCE=2 

Insbesondere einen Tippfehler, das Komma (' ') einen Raum ('') nur sein sollte.

Bitte versuchen Sie es, dass und berichten uns wissen zu lassen, was passiert ist

+1

Es funktioniert. Das Problem ist, wie man das Paket installiert. Aus dem Unzip-Ordner 'gputools' oder tar.gz-Datei wieder? –

+0

wo ist dieses Makefile? Ich kann es nicht finden!!! – Mohammad