файл libsnd в кластере hp c - PullRequest
       94

файл libsnd в кластере hp c

0 голосов
/ 12 апреля 2020

Я запросил, чтобы у нас был установлен файл libsnd в кластере hp c. Администратор сказал, что я могу проверить это по следующей ссылке:

https://raw.githubusercontent.com/erikd/libsndfile/master/examples/sndfile-to-text.c

$ module load libsndfile/1.0.28 $ 
$ gcc -1/gpfs/apps/sw/libsndfile-1.0.28/include -L gpfs/apps/sw/libsndfile-1.0.28/lib, -lsndfile test.c 
$ ./a.out 

Однако я пока не уверен, как это сделать !! У меня есть программный файл. cpp, который использует:

#include <sndfile.hh>

Я попробовал следующее:

module load -l/gpfs1/apps/sw/libsndfile-1.0.28/include -L/gpfs1/apps/sw/libsndfile-1.0.28/lib -lsndfile file.cpp

, но получил следующую ошибку:

getopt.c(1087):ERROR:45: Invalid option '/'
getopt.c(1087):ERROR:45: Invalid option 'g'
getopt.c(1087):ERROR:45: Invalid option '1'
getopt.c(1087):ERROR:45: Invalid option '/'
getopt.c(1087):ERROR:45: Invalid option '/'
getopt.c(1087):ERROR:45: Invalid option 'w'
getopt.c(1087):ERROR:45: Invalid option '/'
getopt.c(1087):ERROR:45: Invalid option 'b'
getopt.c(1087):ERROR:45: Invalid option 'n'
getopt.c(1087):ERROR:45: Invalid option 'd'
getopt.c(1087):ERROR:45: Invalid option 'e'
getopt.c(1087):ERROR:45: Invalid option '-'
getopt.c(1087):ERROR:45: Invalid option '1'
getopt.c(1087):ERROR:45: Invalid option '.'
getopt.c(1087):ERROR:45: Invalid option '0'
getopt.c(1087):ERROR:45: Invalid option '.'
getopt.c(1087):ERROR:45: Invalid option '2'
getopt.c(1087):ERROR:45: Invalid option '8'
getopt.c(1087):ERROR:45: Invalid option '/'
getopt.c(1087):ERROR:45: Invalid option 'n'
cmdUlvl.c(206):ERROR:46: Undefined userlevel 'de'
getopt.c(1087):ERROR:45: Invalid option 'L'
getopt.c(1087):ERROR:45: Invalid option '/'
getopt.c(1087):ERROR:45: Invalid option 'g'
getopt.c(1087):ERROR:45: Invalid option '1'
getopt.c(1087):ERROR:45: Invalid option '/'
getopt.c(1087):ERROR:45: Invalid option '/'
getopt.c(1087):ERROR:45: Invalid option 'w'
getopt.c(1087):ERROR:45: Invalid option '/'
getopt.c(1087):ERROR:45: Invalid option 'b'
getopt.c(1087):ERROR:45: Invalid option 'n'
getopt.c(1087):ERROR:45: Invalid option 'd'
getopt.c(1087):ERROR:45: Invalid option 'e'
getopt.c(1087):ERROR:45: Invalid option '-'
getopt.c(1087):ERROR:45: Invalid option '1'
getopt.c(1087):ERROR:45: Invalid option '.'
getopt.c(1087):ERROR:45: Invalid option '0'
getopt.c(1087):ERROR:45: Invalid option '.'
getopt.c(1087):ERROR:45: Invalid option '2'
getopt.c(1087):ERROR:45: Invalid option '8'
getopt.c(1087):ERROR:45: Invalid option '/'
getopt.c(1087):ERROR:45: Invalid option 'b'
getopt.c(1087):ERROR:45: Invalid option 'n'
getopt.c(1087):ERROR:45: Invalid option 'd'
getopt.c(1087):ERROR:45: Invalid option 'e'
ModuleCmd_Load.c(204):ERROR:105: Unable to locate a modulefile for 'spectro.cpp'

1 Ответ

1 голос
/ 15 апреля 2020

Команды module помогают определить переменные среды. Он не может скомпилировать программу, поэтому команда module load, которую вы запустили, заканчивается ошибкой, так как module не понимает ваш запрос.

Модуль libsndfile/1.0.28 должен определять полезные переменные для компиляции, например, LD_LIBRARY_PATH. Вы можете проверить, какая переменная среды определяется модульным файлом с помощью:

$ module display libsndfile/1.0.28

Если libsndfile/1.0.28 modulefile определяет переменные среды, чтобы упростить настройку компиляции (путем определения пути включения и пути к библиотеке), вам может потребоваться просто ввести:

$ module load 
$ gcc -lsndfile test.c 
$ ./a.out
...