[Armadillo:06812] Re: timer_create関数について

moto email@hidden
2011年 2月 15日 (火) 15:46:55 JST


横溝様

 お返事ありがとうございます。
 ライブラリに手を加える必要はありませんでしたので、ご教授頂いた通り

 [atde2]$ arm-linux-gcc -Wall xxxx.c -lrt

 でコンパイル致しまして、そのときにエラーが発生した為。

 [atde2]$ arm-linux-gcc -Wall -lrt xxxx.c

 として再度コンパイルした所、無事にリンク出来ました。

 なお

 /usr/arm-linux/lib/librt-2.3.6.so を romfs/libにコピーし、リンクファイルlibrt.so.1
を作成してユーザーランドを作成して転送し、動作時にライブラリーopenエラーが出ない
事を確認致しました。

 ありがとうございました。

 Moto
 
----- Original Message ----- 
From: "mizo" <email@hidden>
To: "Armadillo series general discussion list" 
<email@hidden>
Sent: Tuesday, February 15, 2011 10:30 AM
Subject: [Armadillo:06811] Re: timer_create関数について


> 横溝です。
>
> moto wrote:
>> 横溝様
>>
>> timer_create関数ですが、以下のディレクトにて
>>
>> ~/atmark-dist-20090318/glibc/linuxthreads/sysdeps/pthread
>>
>> 以下のコマンドにてコンパイル
>>
>> arm-linux-gcc -Wall -fPIC -shared timer_create.c -o libtimer_create.so
>>
>> した所以下の様なコンパイルエラーが発生いたしました。
>
> librtをビルドする必要はありますか?もし、librtにカスタマイズを加える必要
> が無いのであれば、timer_create()を使用するプログラムをビルドする際に、
>
> -lrt
>
> を付けてlibrtをリンクすると良いと思います。atde2にはlibrtのクロスライブ
> ラリが標準でインストールされています。
>
> [atde2]$ ls /usr/arm-linux/lib/librt*
> /usr/arm-linux/lib/librt-2.3.6.so  /usr/arm-linux/lib/librt.so.1
> /usr/arm-linux/lib/librt.a         /usr/arm-linux/lib/librt_p.a
> /usr/arm-linux/lib/librt.so
>
> 例えば、以下のプログラム(sample.c)を用意した場合(何の意味も無いプログラ
> ムですみませんが)に、
> #include <stdio.h>
> #include <time.h>
> int main(void)
> {
>        timer_t timer;
> int ret;
>
>        ret = timer_create(CLOCK_REALTIME, NULL, &timer);
>        if(ret < -1)
>                perror("timer_create");
>
>        return 0;
> }
>
> 以下のコマンドでビルドできると思います。
> [atde2]$ arm-linux-gcc -Wall sample.c -lrt
>
> 以上ご確認ください。
>
>> posix-timer.h:66: error: expected specifier-qualifier-list before ‘pid_t’ 
>> 
>> posix-timer.h: In function ‘timer_addref’:
>> posix-timer.h:125: error: ‘struct timer_node’ has no member named
>> ‘refcount’
>> posix-timer.h: In function ‘timer_delref’:
>> posix-timer.h:131: error: ‘struct timer_node’ has no member named
>> ‘refcount’
>> timer_create.c: In function ‘timer_create’:
>> timer_create.c:49: warning: implicit declaration of function 
>> ‘__set_errno’
>> timer_create.c:81: error: ‘struct timer_node’ has no member named
>> ‘creator_pid’
>>
>> posi-timer.h内の定義がみつからない様です。
>> これらのエラーを解消するにはどうしたらよいでしょうか?
>>
>> Moto
>>
>> ----- Original Message ----- From: "moto" <email@hidden>
>> To: "Armadillo series general discussion list"
>> <email@hidden>
>> Sent: Wednesday, February 09, 2011 11:04 PM
>> Subject: [Armadillo:06801] Re:timer_create関数について
>>
>>
>>> 溝渕様
>>>
>>>  timer_create.cですがビルドする場合、作業ディレクトリはどちらになりま
>>> すでしょうか?
>>>
>>>  よろしくお願いします。
>>>
>>> Moto
>>>
>>> ----- Original Message ----- From: "mizo" <email@hidden>
>>> To: "Armadillo series general discussion list"
>>> <email@hidden>
>>> Sent: Tuesday, February 08, 2011 3:56 PM
>>> Subject: [Armadillo:06780] Re: timer_create関数について
>>>
>>>
>>>> 溝渕です。
>>>>
>>>> email@hidden wrote:
>>>>>  armadillo-9にてPOSIX準拠のtimer_create関数を利用しようとしましたが、
>>>>>   コンパイル時に sys/timerfd.h がみつからないというエラーが発生しま
>>>>>   した。
>>>>>
>>>>>  現在の開発環境では、timer_create関数はサポートされていないのでしょ
>>>>> うか?
>>>>>  現在の環境は以下の通りです。
>>>>>  linux-2.6.12.3-a9-17 atmark-dist-20090318
>>>>>
>>>>> 何かご存知でしたらご教授お願いします。
>>>>
>>>> [atde2]$ cd /usr/arm-linux/include/
>>>> [atde2]$ grep timer_create
>>>> :
>>>> ./time.h:extern int timer_create (clockid_t __clock_id,
>>>> なので、定義はtime.hにあります。
>>>>
>>>> [atde2]$ arm-linux-gcc -Wall timer_create.c -lrt
>>>> でビルド可能だと思いますが、動作確認は行っていません。
>>>>
>>>> 以上ご確認ください。
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo 




armadillo メーリングリストの案内