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

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

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

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

GCC

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

makefile

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

MacOS(OSX)

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

C++

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

Q&A

解決済

3回答

8802閲覧

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

sato

総合スコア6

C

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

GCC

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

makefile

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

MacOS(OSX)

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

C++

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

0グッド

0クリップ

投稿2014/10/31 10:57

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

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

OS X 10.9.5

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

lang

1$ make 2/Applications/Xcode.app/Contents/Developer/usr/bin/make all-am 3/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 4libtool: 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 5In file included from src/classifiers/julius/juliusSink.cpp:54: 6In file included from src/include/classifiers/julius/juliusSink.hpp:46: 7In file included from src/include/core/smileCommon.hpp:802: 8In file included from src/include/core/exceptions.hpp:88: 9src/include/core/smileLogger.hpp:92:5: error: unknown type name 'smileMutex' 10 smileMutex logmsgMtx; 11 ^ 121 error generated. 13make[1]: *** [src/classifiers/julius/libopensmile_la-juliusSink.lo] Error 1>

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

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

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

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

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

guest

回答3

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/02 22:39

katoy

総合スコア22324

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

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

sato

2014/11/04 11:49

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

0

sho_cs様
参考にいろいろと試してみましたが解決できていません。
./configure実行時に以下のようなメッセージが出ていたのですが、Makefileは作成されていたので無視していましたが、何か関係あるのでしょうか。

lang

1$ aclocal; autoconf; autoheader; automake; libtoolize 2$ aclocal; autoconf; autoheader; automake; libtoolize 3$./configure 4. 5. 6. 7./configure: line 15015: CHECK_HAVE_SEMAINEAPI: command not found 8./configure: line 15016: CHECK_HAVE_RTNNLLIB: command not found 9./configure: line 15018: CHECK_HAVE_PORTAUDIO: command not found 10./configure: line 15021: ACX_PTHREAD: command not found 11configure: creating ./config.status 12config.status: creating Makefile 13config.status: creating config.h 14config.status: config.h is unchanged 15config.status: executing depfiles commands 16config.status: executing libtool commands>

configure.acは以下のように作成しています。

lang

1 2AC_INIT(opensmile,2.0.1,a) 3AM_INIT_AUTOMAKE 4 5AC_CONFIG_MACRO_DIR([m4]) 6 7AC_PROG_CC 8AC_PROG_CXX 9# AC_PROG_RANLIB 10AC_PROG_LIBTOOL 11AM_PROG_CC_C_O 12 13 14#AC_CONFIG_SRCDIR([config.h.in]) 15#AC_SUBST(LIBTOOL_DEPS) 16#AM_CONDITIONAL(USECHA1, test -n "$CHAINC") 17 18CHECK_HAVE_SEMAINEAPI 19CHECK_HAVE_RTNNLLIB 20#CHECK_HAVE_QTLIB 21CHECK_HAVE_PORTAUDIO 22#CHECK_HAVE_ATKLIB 23#CHECK_HAVE_OPENCV 24ACX_PTHREAD 25 26DLIB="-ldl" 27if test x`uname | grep mingw` != x ; then 28# AC_DEFINE([WIN32],[1], [Compile on MinGW32-Msys]) 29 AC_DEFINE([__WINDOWS],[1], [Compile on MinGW32-Msys]) 30 AC_DEFINE([__MINGW32],[1], [Compile on MinGW32-Msys]) 31 AC_DEFINE([__MINGW],[1], [Compile on MinGW32-Msys]) 32 DLIB="" 33fi 34 35if test x`uname | grep MINGW` != x ; then 36# AC_DEFINE([WIN32],[1], [Compile on MinGW32-Msys]) 37 AC_DEFINE([__WINDOWS],[1], [Compile on MinGW32-Msys]) 38 AC_DEFINE([__MINGW32],[1], [Compile on MinGW32-Msys]) 39 AC_DEFINE([__MINGW],[1], [Compile on MinGW32-Msys]) 40 AC_DEFINE([__HAVENT_GNULIBS],[1], [No getline implementation on Win]) 41 DLIB="" 42fi 43 44if test x`uname | grep Darwin` != x ; then 45 AC_DEFINE([__MACOS],[1], [Compile on Macs]) 46 AC_DEFINE([__HAVENT_GNULIBS],[1], [No getline implementation on Mac]) 47fi 48 49AC_SUBST(DLIB) 50 51AC_DEFINE([HAVE_AUTOCONF],[1],[Build with autoconf]) 52 53AM_CONFIG_HEADER(config.h) 54AC_OUTPUT(Makefile) 55

投稿2014/11/01 07:35

sato

総合スコア6

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

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

0

ベストアンサー

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

投稿2014/10/31 11:38

sho_cs

総合スコア3541

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

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

sato

2014/10/31 12:27

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

2014/11/01 07:44

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

2014/11/02 09:22

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

2014/11/04 11:44

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問