KiNOKO-DAQ 関連情報 掲示板

このスレッドに記事を投稿する
前のスレッド | 次のスレッド | 掲示版ホーム

Kinoko インストールin SLC 6.x
2016 年 3 月 31 日 10 時 40 分
投稿者: 伏見賢一

kinokoをSLC6.xにインストールしようとしましたがエラーが出ています。
make すると

cd kame; make
make[3]: ディレクトリ `/home/ryoushi/kinoko/src/kernel/lib-common/kame' に入ります
g++ -Wall -DHAVE_CONFIG_H -c KameTree.cc
In file included from KameTree.cc:12:
KameTree.hh: In static member function `static T kame::TKameTreeTraits<T>::As(kame::TKameTree&)':
KameTree.hh:83: error: expected primary-expression before '>' token
KameTree.hh:83: error: expected primary-expression before ')' token
make[3]: *** [KameTree.o] エラー 1
make[3]: ディレクトリ `/home/ryoushi/kinoko/src/kernel/lib-common/kame' から出ます
make[2]: *** [_kame] エラー 2
make[2]: ディレクトリ `/home/ryoushi/kinoko/src/kernel/lib-common' から出ます
make[1]: *** [all] エラー 2
make[1]: ディレクトリ `/home/ryoushi/kinoko/src/kernel' から出ます
make: *** [_kernel] エラー 2

というエラーが出ます。対処方法をご教示ください。


エラーメッセージの詳細
2016 年 4 月 4 日 17 時 19 分
投稿者: 伏見

make clean
としてからもう一度makeしてみました。


make[3]: ディレクトリ `/home/ryoushi/kinoko/src/kernel/lib-common/kame' に入ります
g++ -Wall -DHAVE_CONFIG_H -c KameDefs.cc
g++ -Wall -DHAVE_CONFIG_H -c KameSystemIO.cc
g++ -Wall -DHAVE_CONFIG_H -c KameObject.cc
g++ -Wall -DHAVE_CONFIG_H -c KameVariant.cc
g++ -Wall -DHAVE_CONFIG_H -c KameTable.cc
g++ -Wall -DHAVE_CONFIG_H -c KameNtuple.cc
g++ -Wall -DHAVE_CONFIG_H -c KameGraph.cc
g++ -Wall -DHAVE_CONFIG_H -c KameHistogram.cc
g++ -Wall -DHAVE_CONFIG_H -c KameHistogram2d.cc
g++ -Wall -DHAVE_CONFIG_H -c KameTrend.cc
g++ -Wall -DHAVE_CONFIG_H -c KameRepository.cc
g++ -Wall -DHAVE_CONFIG_H -c KamePlainTextRepository.cc
g++ -Wall -DHAVE_CONFIG_H -c KameRepositoryFactory.cc
g++ -Wall -pthread -m64 -I/usr/include/root -DHAVE_CONFIG_H -c KameRootRepository.cc
In file included from KameRootRepository.cc:23:
/usr/include/root/TLeaf.h: In member function `virtual Long64_t TLeaf::GetValueLong64(Int_t) const':
/usr/include/root/TLeaf.h:84: 警告: converting to `Long64_t' from `Double_t'
g++ -Wall -DHAVE_CONFIG_H -c KameHistory.cc

ar q libkame.a KameDefs.o KameSystemIO.o KameObject.o KameVariant.o KameTable.o KameNtuple.o KameGraph.o KameHistogram.o KameHistogram2d.o KameTrend.o KameRepository.o KamePlainTextRepository.o KameRepositoryFactory.o KameRootRepository.o KameHistory.o
ar: creating libkame.a

g++ -Wall -DHAVE_CONFIG_H -c kame-config.cc
g++ -Wall -o kame-config kame-config.o
cd samples; make
make[4]: ディレクトリ `/home/ryoushi/kinoko/src/kernel/lib-common/kame/samples' に入ります
g++ -Wall -I.. -pthread -m64 -I/usr/include/root -DHAVE_CONFIG_H -c kame-table-test.cc
g++ -Wall -o kame-table-test kame-table-test.o -L.. -lkame -L/usr/lib64/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -lMinuit -lm
/usr/lib64/root/libCore.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<bool>(bool)@GLIBCXX_3.4.9'
/usr/lib64/root/libCint.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >::ignore(long)@GLIBCXX_3.4.5'
/usr/lib64/root/libCint.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<float>(float&)@GLIBCXX_3.4.9'
/usr/lib64/root/libCint.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<void*>(void*&)@GLIBCXX_3.4.9'
/usr/lib64/root/libTree.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<long long>(long long&)@GLIBCXX_3.4.9'
/usr/lib64/root/libCore.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<unsigned long>(unsigned long)@GLIBCXX_3.4.9'
/usr/lib64/root/libCint.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<unsigned int>(unsigned int&)@GLIBCXX_3.4.9'
/usr/lib64/root/libCore.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<long>(long)@GLIBCXX_3.4.9'
/usr/lib64/root/libCore.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<long long>(long long)@GLIBCXX_3.4.9'
/usr/lib64/root/libCint.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<unsigned long>(unsigned long&)@GLIBCXX_3.4.9'
/usr/lib64/root/libCore.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<void const*>(void const*)@GLIBCXX_3.4.9'
/usr/lib64/root/libCore.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)@GLIBCXX_3.4.9'
/usr/lib64/root/libCint.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<unsigned short>(unsigned short&)@GLIBCXX_3.4.9'
/usr/lib64/root/libTree.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<unsigned long long>(unsigned long long&)@GLIBCXX_3.4.9'
/usr/lib64/root/libCint.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >::ignore()@GLIBCXX_3.4.5'
/usr/lib64/root/libCint.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<long>(long&)@GLIBCXX_3.4.9'
/usr/lib64/root/libCore.so: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::basic_ostream<char, std::char_traits<char> >::_M_insert<double>(double)@GLIBCXX_3.4.9'
/usr/lib64/root/libCint.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<bool>(bool&)@GLIBCXX_3.4.9'
/usr/lib64/root/libCint.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<double>(double&)@GLIBCXX_3.4.9'
/usr/lib64/root/libCore.so: undefined reference to `std::ctype<char>::_M_widen_init() const@GLIBCXX_3.4.11'
collect2: ld はステータス 1 で終了しました
make[4]: *** [kame-table-test] エラー 1
make[4]: ディレクトリ `/home/ryoushi/kinoko/src/kernel/lib-common/kame/samples' から出ます
make[3]: *** [all] エラー 2
make[3]: ディレクトリ `/home/ryoushi/kinoko/src/kernel/lib-common/kame' から出ます
make[2]: *** [_kame] エラー 2
make[2]: ディレクトリ `/home/ryoushi/kinoko/src/kernel/lib-common' から出ます
make[1]: *** [all] エラー 2
make[1]: ディレクトリ `/home/ryoushi/kinoko/src/kernel' から出ます
make: *** [_kernel] エラー 2



2016 年 4 月 5 日 6 時 22 分
投稿者: 榎本三四郎

返信が遅くなってしまい、申し訳ありません。

SLC は CERN の関係者でないと手に入らないようなので、Scientific Linux 6.7 で試してみましたが、問題を再現できませんでした。

他でもいろいろな環境で使っていますが、このようなコンパイルエラーに遭遇したことはありません...。お手数をお掛けしますが、もういちどパッケージをダウンロードするところからやり直してみていただけないでしょうか? 可能なら、新しいアカウントを作ってその下でテスト作業を行えば、既存の環境を壊すことなく、また、既存の意図していない変更の影響を受けなくて済みます。

下記は、Scientific Linux 6.7 64bit をダウンロードして、「ソフトウェア開発」インストールし、ROOT をソースからコンパイルして入れただけの環境で試してみたものです。ROOT 6 はコンパイラのアップデートが必要だったので、ここでは ROOT 5 を使っていますが、他の環境では ROOT 6 でも問題なく動作することを確認しています。


$ uname -a
Linux vp13sl6 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 22 13:46:17 CDT 2015 x86_64 x86_64 x86_64 GNU/Linux

$ gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
スレッドモデル: posix
gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)

$ root-config --version
5.34/34

$ cd kinoko/src
$ ./configure-for LINUX
$ make
....
....
make[3]: ディレクトリ `/home/sanshiro/work/kinoko/src/kernel/lib-common/kame' に入ります
g++ -Wall -DHAVE_CONFIG_H -c KameDefs.cc
g++ -Wall -DHAVE_CONFIG_H -c KameSystemIO.cc
g++ -Wall -DHAVE_CONFIG_H -c KameObject.cc
g++ -Wall -DHAVE_CONFIG_H -c KameVariant.cc
g++ -Wall -DHAVE_CONFIG_H -c KameTable.cc
g++ -Wall -DHAVE_CONFIG_H -c KameNtuple.cc
g++ -Wall -DHAVE_CONFIG_H -c KameGraph.cc
g++ -Wall -DHAVE_CONFIG_H -c KameHistogram.cc
g++ -Wall -DHAVE_CONFIG_H -c KameHistogram2d.cc
g++ -Wall -DHAVE_CONFIG_H -c KameTrend.cc
g++ -Wall -DHAVE_CONFIG_H -c KameRepository.cc
g++ -Wall -DHAVE_CONFIG_H -c KamePlainTextRepository.cc
g++ -Wall -DHAVE_CONFIG_H -c KameRepositoryFactory.cc
g++ -Wall -pthread -m64 -I/home/sanshiro/local/root5/include/root -DHAVE_CONFIG_H -c KameRootRepository.cc
g++ -Wall -DHAVE_CONFIG_H -c KameHistory.cc

ar q libkame.a KameDefs.o KameSystemIO.o KameObject.o KameVariant.o KameTable.o KameNtuple.o KameGraph.o KameHistogram.o KameHistogram2d.o KameTrend.o KameRepository.o KamePlainTextRepository.o KameRepositoryFactory.o KameRootRepository.o KameHistory.o
ar: creating libkame.a

g++ -Wall -DHAVE_CONFIG_H -c kame-config.cc
g++ -Wall -o kame-config kame-config.o
cd samples; make
make[4]: ディレクトリ `/home/sanshiro/work/kinoko/src/kernel/lib-common/kame/samples' に入ります
g++ -Wall -I.. -pthread -m64 -I/home/sanshiro/local/root5/include/root -DHAVE_CONFIG_H -c kame-table-test.cc
g++ -Wall -o kame-table-test kame-table-test.o -L.. -lkame -L/home/sanshiro/local/root5/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -lMinuit -lm
g++ -Wall -I.. -pthread -m64 -I/home/sanshiro/local/root5/include/root -DHAVE_CONFIG_H -c ntuple-test.cc
g++ -Wall -o ntuple-test ntuple-test.o -L.. -lkame -L/home/sanshiro/local/root5/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -lMinuit -lm
g++ -Wall -I.. -pthread -m64 -I/home/sanshiro/local/root5/include/root -DHAVE_CONFIG_H -c graph-test.cc
g++ -Wall -o graph-test graph-test.o -L.. -lkame -L/home/sanshiro/local/root5/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -lMinuit -lm
g++ -Wall -I.. -pthread -m64 -I/home/sanshiro/local/root5/include/root -DHAVE_CONFIG_H -c histogram-test.cc
g++ -Wall -o histogram-test histogram-test.o -L.. -lkame -L/home/sanshiro/local/root5/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -lMinuit -lm
g++ -Wall -I.. -pthread -m64 -I/home/sanshiro/local/root5/include/root -DHAVE_CONFIG_H -c contour-test.cc
g++ -Wall -o contour-test contour-test.o -L.. -lkame -L/home/sanshiro/local/root5/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -lMinuit -lm
g++ -Wall -I.. -pthread -m64 -I/home/sanshiro/local/root5/include/root -DHAVE_CONFIG_H -c trend-test.cc
g++ -Wall -o trend-test trend-test.o -L.. -lkame -L/home/sanshiro/local/root5/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -lMinuit -lm
g++ -Wall -I.. -pthread -m64 -I/home/sanshiro/local/root5/include/root -DHAVE_CONFIG_H -c root2knt.cc
g++ -Wall -o root2knt root2knt.o -L.. -lkame -L/home/sanshiro/local/root5/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -lMinuit -lm
g++ -Wall -I.. -pthread -m64 -I/home/sanshiro/local/root5/include/root -DHAVE_CONFIG_H -c kntdump.cc
g++ -Wall -o kntdump kntdump.o -L.. -lkame -L/home/sanshiro/local/root5/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread -lm -ldl -rdynamic -lMinuit -lm

make[4]: ディレクトリ `/home/sanshiro/work/kinoko/src/kernel/lib-common/kame/samples' から出ます
make[3]: ディレクトリ `/home/sanshiro/work/kinoko/src/kernel/lib-common/kame' から出ます



2016 年 4 月 5 日 6 時 51 分
投稿者: 榎本三四郎

追加です.

もしかしたら,ROOT をリンクするもの全てがビルドできないのではないでしょうか? 以下に簡単なテストコードを作りましたので,これを試してみてもらえないでしょうか?

- - - - - - - - 8< - - - - - - - - 8< - - - - - - - -
// test.cc //

#include <TApplication.h>
#include <TCanvas.h>

int main(int argc, char** argv)
{
    TApplication app("app", &argc, argv);
    TCanvas c("c1", "c1");
    app.Run();
    
    return 0;
}

- - - - - - - - 8< - - - - - - - - 8< - - - - - - - -
# Makefile

CXX = g++
CFLAGS = -g -Wall $(shell root-config --cflags)
LIBS = $(shell root-config --libs)

test: test.cc
	$(CXX) $(CFLAGS) $< -o $@ $(LIBS)

- - - - - - - - 8< - - - - - - - - 8< - - - - - - - -

手順:
1) 前半を test.cc としてファイルに保存
2) 後半を Makefile としてファイルに保存
3) 端末で "make" とタイプ

今度はcandrvがコンパイルできません
2016 年 4 月 7 日 14 時 40 分
投稿者: 伏見賢一

無事Scintific Linux6.7にKinokoインストールすることができました。
ところが、camdrvをコンパイルしようとしたら下記のようなエラーが出ました。


[ryoushi@pc2055 Linux2.6_CC77pci]$ make
make -C /lib/modules/2.6.32-573.el6.x86_64/build SUBDIRS=/home/ryoushi/kinoko/drv/camdrv/Linux2.6_CC77pci modules
make[1]: ディレクトリ `/usr/src/kernels/2.6.32-573.el6.x86_64' に入ります
CC [M] /home/ryoushi/kinoko/drv/camdrv/Linux2.6_CC77pci/camdrv.o
/home/ryoushi/kinoko/drv/camdrv/Linux2.6_CC77pci/camdrv.c: In function ‘camdrv_ioctl’:
/home/ryoushi/kinoko/drv/camdrv/Linux2.6_CC77pci/camdrv.c:228: error: implicit declaration of function ‘camdrv_unlocked_ioctl’
/home/ryoushi/kinoko/drv/camdrv/Linux2.6_CC77pci/camdrv.c: トップレベル:
/home/ryoushi/kinoko/drv/camdrv/Linux2.6_CC77pci/camdrv.c:232: error: conflicting types for ‘camdrv_unlocked_ioctl’
/home/ryoushi/kinoko/drv/camdrv/Linux2.6_CC77pci/camdrv.c:228: note: previous implicit declaration of ‘camdrv_unlocked_ioctl’ was here
make[2]: *** [/home/ryoushi/kinoko/drv/camdrv/Linux2.6_CC77pci/camdrv.o] エラー 1
make[1]: *** [_module_/home/ryoushi/kinoko/drv/camdrv/Linux2.6_CC77pci] エラー 2
make[1]: ディレクトリ `/usr/src/kernels/2.6.32-573.el6.x86_64' から出ます
make: *** [default] エラー 2



2016 年 4 月 9 日 13 時 26 分
投稿者: 榎本三四郎

エラーを修正した camdrv を ver-1.1.1 として公開しましたので,こちらを試してみてください.

あるいは,Scientific Linux 6 上での使用に限るなら,公開されている kinoko のパッケージに含まれている camdrv をそのまま使用しても問題ありません.kinoko/drv/camdrv の下にあります.

ご迷惑をおかけしてすいません.


動きました
2016 年 4 月 12 日 16 時 18 分
投稿者: 伏見賢一

有難うございました。
無事データを収集することが出きるようになりました。


このスレッドに記事を投稿する