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

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

ただいまの
回答率

90.47%

  • C

    3818questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

  • C++

    3594questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • MacOS(OSX)

    1968questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • GCC

    143questions

    GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

  • makefile

    48questions

    make は、プログラムのビルド作業を自動化するツールです。コンパイル、リンク、インストール等のルールを記述したテキストファイルをmakefileと呼び、このルールに従ってmakeが自動的にビルドを実行する。

コンパイルエラーです。助けてください。error: unknown type name 'smileMutex'

解決済

回答 3

投稿 ・編集

  • 評価
  • クリップ 0
  • VIEW 4,537

sato

score 1

コンパイルエラーで悩んでいます。
以下で入手したソースをコンパイルしたいです。
http://opensmile.sourceforge.net/
http://sourceforge.net/projects/opensmile/files/opensmile-2.0-rc1.tar.gz/download

エラーメッセージを調べると、循環参照が原因のように思われたのですが、未だ解決に至っておりません。
ソースコードが間違いではなく、環境的な問題なのでしょうか。
ご享受よろしくお願いします。

 OS X 10.9.5

以下エラーメッセージです。

$ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
/bin/sh ./libtool --tag=CXX   --mode=compile gcc  -DHAVE_CONFIG_H -I.  -Isrc/include -Iprogsrc/include    -ggdb    -O2 -mfpmath=sse -march=native -MT src/classifiers/julius/libopensmile_la-juliusSink.lo -MD -MP -MF src/classifiers/julius/.deps/libopensmile_la-juliusSink.Tpo -c -o src/classifiers/julius/libopensmile_la-juliusSink.lo `test -f 'src/classifiers/julius/juliusSink.cpp' || echo './'`src/classifiers/julius/juliusSink.cpp
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -Isrc/include -Iprogsrc/include -ggdb -O2 -mfpmath=sse -march=native -MT src/classifiers/julius/libopensmile_la-juliusSink.lo -MD -MP -MF src/classifiers/julius/.deps/libopensmile_la-juliusSink.Tpo -c src/classifiers/julius/juliusSink.cpp  -fno-common -DPIC -o src/classifiers/julius/.libs/libopensmile_la-juliusSink.o
In file included from src/classifiers/julius/juliusSink.cpp:54:
In file included from src/include/classifiers/julius/juliusSink.hpp:46:
In file included from src/include/core/smileCommon.hpp:802:
In file included from src/include/core/exceptions.hpp:88:
src/include/core/smileLogger.hpp:92:5: error: unknown type name 'smileMutex'
    smileMutex logmsgMtx;
    ^
1 error generated.
make[1]: *** [src/classifiers/julius/libopensmile_la-juliusSink.lo] Error 1>
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

0

ビルド用のスクリプトが同梱されていると思いますがそちらでもダメでしたか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2014/10/31 21:27

    ご覧いただきありがとうございます。
    同梱のbuildStandalone.shやbuildwithjulius.shは試してみましたが、同様のエラーでした。

    あまり詳しくはないのですが、最初の時点で、autoconfやautomakeがエラーになったので、自身でconfigure.ac等を書き換えて解決したのですが、そこの設定がまずかったということは考えられるでしょうか。

    キャンセル

  • 2014/11/01 10:26

    configureは関係あるかもしれませんね。
    Mac用にスクリプトをいじっている方がいたので参考になるかもしれません。
    https://gist.github.com/hbuschme/6456249

    キャンセル

  • 2014/11/01 16:44

    参考にさせていただきましたが、コンパイルできませんでした。
    別回答にコメントしたので、ご覧いただければ幸いです。

    キャンセル

  • 2014/11/02 18:22

    smileCommon.hpp内の"#ifdef HAVE_PTHREAD"の中で"#define smileMutex pthread_mutex_t"しているのでこのあたりが怪しそうな気がしますね。

    キャンセル

  • 2014/11/04 20:44

    パッケージを再度解凍して、何度か作業をやり直しましたところ、コンパイルすることができました。エラーが出ていた原因は結局不明ですが、解決できました。ありがとうございます。

    キャンセル

0

sho_cs様
参考にいろいろと試してみましたが解決できていません。
./configure実行時に以下のようなメッセージが出ていたのですが、Makefileは作成されていたので無視していましたが、何か関係あるのでしょうか。
$ aclocal; autoconf; autoheader; automake; libtoolize
$ aclocal; autoconf; autoheader; automake; libtoolize
$./configure
.
.
.
./configure: line 15015: CHECK_HAVE_SEMAINEAPI: command not found
./configure: line 15016: CHECK_HAVE_RTNNLLIB: command not found
./configure: line 15018: CHECK_HAVE_PORTAUDIO: command not found
./configure: line 15021: ACX_PTHREAD: command not found
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands>
configure.acは以下のように作成しています。

AC_INIT(opensmile,2.0.1,a)
AM_INIT_AUTOMAKE

AC_CONFIG_MACRO_DIR([m4])

AC_PROG_CC
AC_PROG_CXX
# AC_PROG_RANLIB
AC_PROG_LIBTOOL
AM_PROG_CC_C_O


#AC_CONFIG_SRCDIR([config.h.in])
#AC_SUBST(LIBTOOL_DEPS)
#AM_CONDITIONAL(USECHA1, test -n "$CHAINC")

CHECK_HAVE_SEMAINEAPI
CHECK_HAVE_RTNNLLIB
#CHECK_HAVE_QTLIB
CHECK_HAVE_PORTAUDIO
#CHECK_HAVE_ATKLIB
#CHECK_HAVE_OPENCV
ACX_PTHREAD

DLIB="-ldl"
if test x`uname | grep mingw` != x ; then
#  AC_DEFINE([WIN32],[1], [Compile on MinGW32-Msys])
  AC_DEFINE([__WINDOWS],[1], [Compile on MinGW32-Msys])
  AC_DEFINE([__MINGW32],[1], [Compile on MinGW32-Msys])
  AC_DEFINE([__MINGW],[1], [Compile on MinGW32-Msys])
  DLIB=""
fi 

if test x`uname | grep MINGW` != x ; then
#  AC_DEFINE([WIN32],[1], [Compile on MinGW32-Msys])
  AC_DEFINE([__WINDOWS],[1], [Compile on MinGW32-Msys])
  AC_DEFINE([__MINGW32],[1], [Compile on MinGW32-Msys])
  AC_DEFINE([__MINGW],[1], [Compile on MinGW32-Msys])
  AC_DEFINE([__HAVENT_GNULIBS],[1], [No getline implementation on Win])
  DLIB=""
fi

if test x`uname | grep Darwin` != x ; then
  AC_DEFINE([__MACOS],[1], [Compile on Macs])
  AC_DEFINE([__HAVENT_GNULIBS],[1], [No getline implementation on Mac])
fi
 
AC_SUBST(DLIB)

AC_DEFINE([HAVE_AUTOCONF],[1],[Build with autoconf])

AM_CONFIG_HEADER(config.h)
AC_OUTPUT(Makefile)




投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

MacOC 10.10, gcc 4.2 では build が success しました。
// gcc や autoconf の version を調整してみては如何でしょう、
// 私の環境は brew, xcode 6.1 で構築しています。

でも、私の環境でも解凍したソースはそのままでは build はできませんでした。
つぎの変更をしました。

経緯:
    $ tar zxvf opensmile-2.0-rc1.tar.gz 
    $ cd opensmile-2.0-rc1
    $ cd opensmile/
    $ less INSTALL 
    $ sh buildStandalone.sh
としたら、次のエラーが発生。
    src/include/core/svn_version.hpp:1:1: error: expected external declaration
    -n #define OPENSMILE_SOURCE_REVISION "
    ^
    src/include/core/svn_version.hpp:1:2: error: unknown type name 'n'
    -n #define OPENSMILE_SOURCE_REVISION "
     ^
    src/include/core/svn_version.hpp:1:4: error: expected unqualified-id
    -n #define OPENSMILE_SOURCE_REVISION "
       ^
    4 warnings and 3 errors generated.
    make: *** [src/classifiers/julius/libopensmile_la-juliusSink.lo] Error 1
   failed to build or install openSMILE to '/Users/katoy/work/zzz1/opensmile-2.0-rc1/opensmile/inst'!

update_build_version.sh で 上の部分のファイルが生成せれているのですが、うまく生成できていないようです。

手作業で src/include/core/svn_version.hpp を編集して、エラーがでないようにしました。
再度、生成されないように buildStandalone.sh 中の update_build_version.sh の呼び出し部をコメントにしました。
そのうえで $ sh buildStandalone.sh すると たくさん warning はでますが、
   build successfull. You can now use the inst/bin/SMILExtract binary
となりました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2014/11/04 20:49

    svn_version.hppを修正したり、いろいろ試してもだめだったので、あきらめかけていたのですが、パッケージの解凍からやり直して作業したところ、警告はたくさん出ますがビルドすることができました。エラーの原因がわからないままで残念ですが、無事コンパイルできたのでよかったです。ありがとうございました。

    キャンセル

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

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    テスト環境でPHP5.3を使いたい

    クライアントの環境がPHP5.3~だった場合のテスト環境を用意したいのですが、 Macのターミナルからyumでインストールしようとすると... $ sudo yum instal

  • 受付中

    C/C++ のsocket.ioについて

    C言語のソケットプログラムについて、read/writeを使用してソケットから読み込みその値を使用したく考えています。 そこでプログラミングをしたところgcc コンパイラで imp

  • 解決済

    C++11のasyncを使って非同期処理をしたいがコンパイルエラー

    C++11のasyncを使って非同期処理をしたいのですが、コンパイルエラーとなり上手くいきません。 おそらく初歩的な所でミスをしていると感じているのですが、STLのエラー文が私に

  • 解決済

    OpencvをGoで動かし、人体検出をしたい。

    opencvで人検出をしたいのですが、検出することができていません。 顔検出はできたのですが、人ができていません。 エラーメッセージは OpenCV Error:

  • 解決済

    intelliJでコンパイルが出来ない

    前提・実現したいこと intelliJ IDEAでJavaのHelloWorld(だけでなくあらゆる)クラスがコンパイル出来ません。 原因をご教授願いたいです。 発生して

  • 受付中

    【CentOS】リコンパイルした OpenSSL をシステム標準にしたい

    前提・実現したいこと https://teratail.com/questions/66253 OpenSSL を yum -y groupinstall develop

  • 解決済

    Raspberry piでOpenCVを利用したい

    前提・実現したいこと Raspberry pi 2でOpenCV(2.4.0)を利用できるように設定を行っているのですが、コンパイルでエラーが発生しました。 全くの初心者で解決方法

  • 受付中

    FreeBSD上でEclipseにopencv3.1.0を導入できない

    内容 EclipseでOpenCVを用いたソースを作成してみたのですが、パッケージが見当たらないと出てきてコンパイル出来ませんでした。おそらくOpenCVにパスが通ってないんだと思

同じタグがついた質問を見る

  • C

    3818questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

  • C++

    3594questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • MacOS(OSX)

    1968questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • GCC

    143questions

    GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

  • makefile

    48questions

    make は、プログラムのビルド作業を自動化するツールです。コンパイル、リンク、インストール等のルールを記述したテキストファイルをmakefileと呼び、このルールに従ってmakeが自動的にビルドを実行する。

関連ワード: unknown type name