質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

Q&A

解決済

2回答

25263閲覧

makeコマンド実行時の『そのようなファイルやディレクトリはありません』への対応方法

taro373

総合スコア189

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

0グッド

0クリップ

投稿2017/10/27 05:55

編集2017/10/30 00:51

makeコマンド実行時の『そのようなファイルやディレクトリはありません』の
エラーで処理が止まってしまいました。

$ make
sg2vgproto.cpp:12:22: 致命的エラー: stream.hpp: そのようなファイルやディレクトリはありません
' #include "stream.hpp"             
'           ^
コンパイルを停止しました

となりましたが、stream.hppはカレントディレクトリにありました。
$ pwd
/home/hoge/hal2vg
$ find ~/ -name stream.hpp
/home/tuti/vg/src/stream.hpp
$ find ~/ -name sg2vgproto.cpp
/home/hoge/hal2vg/sg2vgproto.cpp

sg2vgproto.cppを参照すると、下記のように記述されていて
stream.hppをincludeしていますが、
ディレクトリ内にあるファイルを、makeコマンドからは『ない』と言われています。

12 #include "stream.hpp"

どのようにしたら、makeコマンドで参照できるように
なるのでしょうか。

sg2vgproto.cppの記述をフルパスに変更しました

/* #include "stream.hpp" */ #include "/home/tuti/vg/src/stream.hpp"

参照はできるようになりましたが、その先でのエラーがでました。

/usr/bin/ld: deps/hal/lib/halLib.a(halCLParser.o): 認識できない再配置 (0x2a) がセクション `.text' にあります /usr/bin/ld: 最終リンクに失敗しました: 不正な値です collect2: エラー: ld はステータス 1 で終了しました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2017/10/27 06:11

vg はどのようにインストールしたのでしょうか?
guest

回答2

0

ベストアンサー

CHERRYさんがコメントしておられますが・・・

https://github.com/ComparativeGenomicsToolkit/hal2vg/blob/master/include.mk

上のリポジトリからのものをmakeしておられるとすると

の5行目に
VGDIR=../vg
とあり、28行目に
cppflags += -std=c++11 -I ${sonLibPath} -I ${halPath} -I ${sgExportPath} -I ${hal2sgPath} -I ${VGDIR}/include -UNDEBUG
とあるので、

以下の場所にhal2vgのソースがあるなら
/home/hoge/hal2vg/sg2vgproto.cpp
vgのヘッダーの場所は
/home/hoge/vg/include/stream.hpp
こうなっている想定のように見えました。

これらのライブラリーが何かをよく知らずにコメントしています。外してたらご容赦を。

投稿2017/10/27 08:56

KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taro373

2017/10/30 00:52 編集

ありがとうございました。 /* #include "stream.hpp" */ #include "/home/tuti/vg/src/stream.hpp" として、フルパスを書いてみました。 これまでのエラーは消えましたが、 make[1]: ディレクトリ `/home/hoge/hal2vg/deps/hal2sg' から出ます h5c++ -O3 -g -Wall -funroll-loops -DNDEBUG -std=c++11 -I deps/sonLib/lib -I deps/hal/lib -I .//deps/hal2sg/sgExport -I .//deps/hal2sg -I ../vg/include -UNDEBUG hal2vg.o sg2vgproto.o .//deps/hal2sg/libhal2sg.a .//deps/hal2sg/sgExport/sgExport.a deps/hal/lib/halLiftover.a deps/hal/lib/halLib.a ../vg/lib/libvg.a ../vg/lib/libxg.a ../vg/lib/libprotobuf.a deps/sonLib/lib/sonLib.a deps/sonLib/lib/cuTest.a -o hal2vg .//deps/hal2sg/libhal2sg.a(sgbuilder.o): 関数 `hal::counted_ptr<hal::BottomSegmentIterator const>::release()' 内: /home/hoge/hal2vg/deps/hal2sg/.//../hal/lib/halCountedPtr.h:218: `operator delete(void*, unsigned long)' に対する定義されていない参照です (「定義されていない参照です」が続いた後に) /usr/bin/ld: deps/hal/lib/halLib.a(halCLParser.o): 認識できない再配置 (0x2a) がセクション `.text' にあります /usr/bin/ld: 最終リンクに失敗しました: 不正な値です collect2: エラー: ld はステータス 1 で終了しました make: *** [hal2vg] エラー 1
guest

0

単純に階層が違うからではないでしょうか。
/home/hoge/hal2vg/sg2vgproto.cpp
/home/tuti/vg/src/stream.hpp

この状態でstream.hppを読むにはパスが通っていなければならないと思いますが。
参考サイト:https://qiita.com/DQNEO/items/4e5c2eca2761ec08b922

投稿2017/10/27 06:18

yuki-saito

総合スコア928

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問