私は構築しようとしています: https://github.com/kanzure/nanoengineer
ただし、次のエラーが発生したようです。
gcc -DHAVE_CONFIG_H -I. -I../.. -I/usr/include/python2.7 -std=c99 x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -MT libstructcompare_a-structcompare.o -MD -MP -MF .deps/libstructcompare_a-structcompare.Tpo -c -o libstructcompare_a-structcompare.o `test -f 'structcompare.c' || echo './'`structcompare.c
gcc: error: x86_64-linux-gnu-gcc: No such file or directory
x86_64-linux-gnu-gcc
は/ usr/bin(シンボリックリンク)に間違いなく存在し、ターゲットも間違いなく存在します。 Makefileが正しく生成されなかったようです。x86_64-linux-gnu-gccを指定する前に渡す必要があるフラグがあるのでしょうか。 x86_64-linux-gnu-gcc
を指定することで何が達成されるのかについても不明です。
最後に、このmakefileはconfigureによって生成されたため、エラーの原因を絞り込んだ後、これを修正するためにどのファイルを変更するかを把握する必要があります。 (私はCMakeの一種の男ですが、もちろんこのプロジェクトのビルドシステムを選択しませんでした。)私のOSはDebianです。
私もこのブランチを構築しようとしました: https://github.com/kanzure/nanoengineer/branches/kirka-updates
これを取得してシステムにビルドしてみていただければ、ありがたいです。ありがとう!
かなりの作業の後、Ubuntu 12.04 x86およびDebian 7.4 x86_64でビルドすることができました。以下にガイドを作成しました。問題を解決できるかどうかを確認してください。
そうでない場合は、どこで動けなくなるか教えてください。
一般的な依存関係のインストール
Sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev
NumArray 1.5.2をインストールします
wget http://goo.gl/6gL0q3 -O numarray-1.5.2.tgz
tar xfvz numarray-1.5.2.tgz
cd numarray-1.5.2
Sudo python setup.py install
Numeric 23.8のインストール
wget http://goo.gl/PxaHFW -O numeric-23.8.tgz
tar xfvz numeric-23.8.tgz
cd Numeric-23.8
Sudo python setup.py install
HDF5 1.6.5のインストール
wget ftp://ftp.hdfgroup.org/HDF5/releases/hdf5-1.6/hdf5-1.6.5.tar.gz
tar xfvz hdf5-1.6.5.tar.gz
cd hdf5-1.6.5
./configure --prefix=/usr/local
Sudo make
Sudo make install
Nanoengineerのインストール
git clone https://github.com/kanzure/nanoengineer.git
cd nanoengineer
./bootstrap
./configure
make
Sudo make install
トラブルシューティング
Debian Jessieでは、上記のエラーメッセージが表示されます。 automakeスクリプトに問題があるようです。 x86_64-linux-gnu-gcc
はCFLAGS
に挿入され、gcc
はソースファイルの1つの名前としてそれを解釈します。回避策として、その名前の空のファイルを作成しましょう。空にして、プログラムとその名前を変更しないようにし、コンパイラがそれを選択できるようにします。クローン化されたnanoengineerディレクトリから、このコマンドを実行してgccを幸せにします(はい、ハックですが、動作します)...
touch sim/src/x86_64-linux-gnu-gcc
「エラー:属性エラーで宣言された '__open_missing_mode'への呼び出し:2番目の引数でO_CREATで開く」の行に沿ってHDF5をコンパイルしようとしたときにエラーメッセージが表示される場合、ファイルperform/Zip_perf.cを変更します。 548行目は次のようになり、makeを再実行します...
output = open(filename, O_RDWR | O_CREAT, S_IRUSR|S_IWUSR);
Nanoengineerのビルド時にNumeric/arrayobject.hが見つからないというエラーメッセージが表示される場合は、実行してみてください
export CPPFLAGS=-I/usr/local/include/python2.7
./configure
make
Sudo make install
「TRACE_PREFIX undeclared」に類似したエラーメッセージを受け取った場合は、ファイルsim/src/simhelp.cの行38〜41を次のように変更し、makeを再実行します。
#ifdef DISTUTILS
static char tracePrefix[] = "";
#else
static char tracePrefix[] = "";
「名前GL_ARRAY_BUFFER_ARBをインポートできません」に類似したことを示すNanoEngineer-1を起動しようとしたときにエラーメッセージが表示された場合は、次のファイルの行を変更します
/usr/local/bin/NanoEngineer1_0.9.2.app/program/graphics/drawing/setup_draw.py
/usr/local/bin/NanoEngineer1_0.9.2.app/program/graphics/drawing/GLPrimitiveBuffer.py
/usr/local/bin/NanoEngineer1_0.9.2.app/program/prototype/test_drawing.py
次のようになります。
from OpenGL.GL import GL_ARRAY_BUFFER_ARB
from OpenGL.GL import GL_ELEMENT_ARRAY_BUFFER_ARB
このように見える:
from OpenGL.GL.ARB.vertex_buffer_object import GL_ARRAY_BUFFER_AR
from OpenGL.GL.ARB.vertex_buffer_object import GL_ELEMENT_ARRAY_BUFFER_ARB
削除された追加のトラブルシューティングテキストファイルも見つけましたが、見つけることができます here
あなただけが必要です:
Sudo apt-get install gcc.
このエラーは、いくつかのパッケージが欠落していることが原因である可能性があります。以下のコマンドは、g ++、gccなどのいくつかのパッケージをインストールします。
Sudo apt-get install build-essential
apt-get install python-dev
...私のために問題を解決しました。
Sudo apt-get -y install python-software-properties && \
Sudo apt-get -y install software-properties-common && \
Sudo apt-get -y install gcc make build-essential libssl-dev libffi-dev python-dev
特にpythonの暗号化ライブラリまたはそれに依存するpython libs(たとえば、ansible)をインストールする場合は、libssl-devとlibffi-devが必要です。