3

過去に正常にインストールしたコードを新しいコンピューターにインストールしようとしていますが、問題が発生しています。

これはFedora上で、 sconsを使用しています。以前の成功したインストールはUbuntuでした。

scons と入力すると、次のエラーが表示されます。

/usr/bin/ld: cannot find -latlas

yum 経由で atlas-devel を正常にインストールしました。

それが役立つ場合は、最上位の SConstruct ファイルの下にあります (--- 編集されたコードを示します)。


BUILD_LIB_DIR     = '#build/lib'
BUILD_INCLUDE_DIR = '#build/include'
BUILD_BIN_DIR     = '#build/bin'

import os

default_env = Environment(ENV        = os.environ,             # use the system $PATH variable
                          CCFLAGS    = ['-pipe', '-Wall'],
                          CXXFLAGS   = ['-std=c++0x'],
                          CPPPATH    = [BUILD_INCLUDE_DIR, '#src/'],
                          LIBPATH    = [BUILD_LIB_DIR],
                          CPPDEFINES = ['_USE_LCM_'])

default_env.Append(LIBS = [---, 'lapack', 'blas', 'atlas', 'armadillo', 'rt'])

default_env.Alias('install', [BUILD_LIB_DIR, BUILD_INCLUDE_DIR, BUILD_BIN_DIR])

# Create the command-line options along with help text
vars = Variables()
vars.Add(BoolVariable('debug', 'Compile in debug mode with -g and -pg', 0))
vars.Add(EnumVariable('---'))
vars.Add(BoolVariable('log-data', 'Define LOG_DATA in the preprocessor so internal state of modules will be written to log files', 0))
Help(vars.GenerateHelpText(default_env))

debug = ARGUMENTS.get('debug', 0)
log   = ARGUMENTS.get('log-data', 0)

if int(debug):
    default_env.Append(CCFLAGS = ['-g', '-pg'])
    default_env.Append(LINKFLAGS = ['-pg'])
else:
    default_env.Append(CCFLAGS = ['-O3'])

if int(log):
    default_env.Append(CPPDEFINES = ['LOG_DATA'])

log_env = default_env.Clone();
log_env.Append(LIBS=['global', 'readlog', 'z'])

Export(['default_env', 'log_env', 'BUILD_LIB_DIR', 'BUILD_INCLUDE_DIR', 'BUILD_BIN_DIR', ---])

SConscript(['src/SConscript',
            'docs/SConscript'])
4

1 に答える 1

1

問題は、アトラスが libatlas.so を /usr/lib(64)/ atlas /... に配置することであることが判明しました...これに対処する方法についての情報を提供してくれた @Dave_Bacher に感謝します。

/usr/lib/atlas を default_env の LIBPATH 配列に追加します。

LIBPATH = [BUILD_LIB_DIR, /usr/lib/atlas]
于 2012-08-20T14:34:57.430 に答える