1
/usr/bin/ld: cannot find -lgsl
/usr/bin/ld: cannot find -lgslcblas
collect2: ld returned 1 exit status
make[2]: *** [examples/slim_learn] Error 1
make[1]: *** [examples/CMakeFiles/slim_learn.dir/all] Error 2
make: *** [all] Error 2

make コマンドを使用しているときにリンカー エラーが発生します。これは、LIBRARY_PATH 環境変数のパスを設定した後でも、リンカが特定の GSL ファイルを見つけることができないためだと思います。ファイルを見つけます。このエラーを修正する方法に困惑しています。私はまた、C_INCLUDE_PATH を私の gsl ディレクトリに無関係な (おそらく) メモに設定しました。私はLinuxに非常に慣れておらず、続行する方法がわからないため、このエラーを解決するための助けをいただければ幸いです。

LIBRARY_PATH の設定:

export LIBRARY_PATH=$LIBRARY_PATH:/home/PATH_TO_gls/gsl-1.16/

make ファイルは非常に長いので、ここに投稿するのをためらっていますが、これは makefile の関連部分です: (まだ全部を投稿したい場合はお知らせください)

src/CMakeFiles/SLIM.dir/slim_fs_learn.c.o.requires:
.PHONY : src/CMakeFiles/SLIM.dir/slim_fs_learn.c.o.requires

src/CMakeFiles/SLIM.dir/slim_fs_learn.c.o.provides: src/CMakeFiles/SLIM.dir/slim_fs_learn.c.o.requires
        $(MAKE) -f src/CMakeFiles/SLIM.dir/build.make src/CMakeFiles/SLIM.dir/slim_fs_learn.c.o.provides.build
.PHONY : src/CMakeFiles/SLIM.dir/slim_fs_learn.c.o.provides

src/CMakeFiles/SLIM.dir/slim_fs_learn.c.o.provides.build: src/CMakeFiles/SLIM.dir/slim_fs_learn.c.o

src/CMakeFiles/SLIM.dir/slim_learn.c.o: src/CMakeFiles/SLIM.dir/flags.make
src/CMakeFiles/SLIM.dir/slim_learn.c.o: ../src/slim_learn.c
        $(CMAKE_COMMAND) -E cmake_progress_report "/home/nmuralid/Desktop/Nikhil Documents/Yelp_Research/SLIM Recommender/slim-1.0/b$
        @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object src/CMakeFiles/SLIM.dir/slim_learn.c.o"
        cd "/home/nmuralid/Desktop/Nikhil Documents/Yelp_Research/SLIM Recommender/slim-1.0/build/src" && /usr/bin/gcc  $(C_DEFINES)$

前もって感謝します!

4

1 に答える 1

1

解決策は、LIBRARY_PATH 環境変数を libgsl.so および libgslblas.so ファイルのパスに設定することでした。これは次のように達成されました。

export LIBRARY_PATH=$LIBRARY_PATH:/home/path_to_gsl/gsl-1.16/cblas/./.libs/

export LIBRARY_PATH=$LIBRARY_PATH:export LIBRARY_PATH=$LIBRARY_PATH:/home/nmuralid/path_to_gsl/gsl-1.16/.libs/

この場合、LIBRARY_PATH env を設定します。これは、リンク中にファイルが見つからない場合に備えて C-Linker がこれらのディレクトリ内を検索するためです。

gls-version 1.16 を使用。

于 2013-11-12T19:34:32.343 に答える