我有同樣的問題:
GCC輪候冊, - 出口動態-fopenmp -L在/ usr/local/lib目錄-o R.bin Rmain.o CommandLineArgs.o Rdynload.o Renviron。 RNG.o agrep.o apply.o arithmetic.o array.o attrib.o bind.o builtin.o character.o coerce.o colors.o complex.o connections.o context.o cum.o dcf.o datetime .o debug.o deparse.o devices.o dotcode.o dounzip.o dstruct.o duplicate.o edit.o engine.o envir.o errors.o eval.o format.o gevents.o gram.o gram-ex .o graphics.o grep.o identical.o inlined.o inspect.o internet.o iosupport.o lapack.o list.o localecharset.o logic.o main.o mapply.o match.o memory.o names.o objects.o options.o paste.o platform.o plot.o plot3d.o plotmath.o print.o printarray.o printvector.o printutils.o qsort.o radixsort.o random.o raw.o registration.o relop.o rlocale.o saveload.o scan.o seq.o serialize.o sort.o source.o split.o sprintf.o startup.o subassign.o subscript.o subset.o summary.o sysutils.o times。 o unique.o util.o version.o g_alab_her.o g_cntrlify.o g_fontdb.o g_her_glyph.o xxxpr.o ls ../unix/*.o ../appl/*.o ../nmath/*.o
../extra/tre/libtre.a -L ../../ lib -lRblas -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -lgfortran -lm -lquadmath -lreadline -lpcre -llzma -lbz2 -lz -lrt -ldl -lm array.o:在函數do_colsum': /home/myaccount/Downloads/R-patched/src/main/array.c:1437: undefined reference to
GOMP_parallel' collect2:error: ld返回1退出狀態 Makefile:144:目標'R.bin'的配方失敗
這是來自R(autotools問題)的配置問題。我的電腦有gcc 4.8(附帶操作系統)和最新版本的gcc 5.2(我從源代碼構建)。海灣合作委員會5.2位於/ usr /本地
我看到R是混合這兩個了,而不是拿起5.2庫的位置。
我改變了Makefile(這只是一次性修復,因爲make文件是由autotool生成的)。
首先進入src/main目錄。然後編輯Makefile:
143 $(R_binary):$(R_bin_OBJECTS)$(R_bin_DEPENDENCIES) 144 $(MAIN_LINK)-o $ @ $(R_bin_OBJECTS)$(R_bin_LDADD)
Edite行144:
144 $(MAIN_LINK)-o $ @ $(R_bin_OBJECTS)-L在/ usr /本地/ lib64的-lgomp $(R_bin_LDADD)
這個固定我的問題。我很難爲R項目提交一個bug。如果R開發人員看到了這一點,他們是否可以在自動配置級別解決這個問題?自動探測只需要一點點智能。
我遠不是這方面的專家,但OpenMP是運行R多線程的一種方法。不過,我認爲你必須專門爲它編寫代碼,所以如果你不打算使用它,它可能並不重要。 – alistaire
它看起來像R的基礎包中的colSum函數似乎正在使用openMP。我將不得不深入研究一下,看看在OpenMP和沒有OpenMP的情況下運行時間是否會有所不同。 –
對於問題1,多線程對於現代計算基本上是必不可少的。你會得到顯着的提升。 –