[Suzaku:01749] Re: ソケット通信APIのリンクエラー

菊地 義和 email@hidden
2010年 1月 22日 (金) 19:03:46 JST


溝渕様

菊地です。
アドバイスありがとうございます。
もう少し教えていただけますか。

> ちなみにカーネルからユーザランドの関数は呼ぶことができません。

自前で用意した関数は判断つけられますが
Linuxで用意してあるAPIは何で判断するとよいのでしょうか。

よろしくお願いいたします。
以上



----- Original Message ----- 
From: "mizo" <email@hidden>
To: "SUZAKU general discussion list" <email@hidden>
Cc: "菊地 義和" <email@hidden>
Sent: Friday, January 22, 2010 6:31 PM
Subject: Re: [Suzaku:01746] Re: ソケット通信APIのリンクエラー


> 溝渕です。
>
> ちなみにカーネルからユーザランドの関数は呼ぶことができません。
>
> 一部文字列制御系の関数(strcmp)などは、同名でカーネル/ユーザランドの両方
> で定義してありますが、実体は別のものです。
>
> 以上です。
>
> mizo wrote:
>> 溝渕です。
>>
>> 菊地 義和 wrote:
>>> 溝渕様
>>>
>>>
>>> 対応ありがとうございます。
>>> 菊地です。
>>>
>>>> どのように追加しましたか?こちらで再現させることは可能でしょうか?
>>> CHARフォルダにドライバを1つ、1ファイルで追加しました。
>>>
>>> そのドライバのファイルに次のインクルード宣言を追加しました。
>>> #include <linux/socket.h>
>>> #include <linux/ip.h>
>>> #include <linux/un.h>
>>> #include <linux/unistd.h>
>>> #include <linux/tcp.h>
>>>
>>> ですが、次の関数はリンクエラーは解消されませんでした。
>>> ・inet_addr()
>>> ・perror()
>>
>> これらはご自身で実装した関数でしょうか?もしそうであればこのドライバから
>> これらの関数が見えるところにあるかどうかを確認してみてください。
>>
>> ちなみにこれらの関数は, linux-2.6.x/include/linux/には定義されていないと
>> 思います。
>>
>> もしかして実装したい機能はドライバで行なう必要が無かったりしませんか?
>>
>> 以上です。
>>
>>> よろしくお願いします。
>>>
>>> 以上
>>>
>>> ----- Original Message ----- From: "mizo" <email@hidden>
>>> To: "菊地 義和" <email@hidden>; "SUZAKU general discussion
>>> list" <email@hidden>
>>> Sent: Friday, January 22, 2010 3:15 PM
>>> Subject: Re: [Suzaku:01742] ソケット通信APIのリンクエラー
>>>
>>>
>>>> 溝渕です。
>>>>
>>>> 菊地 義和 wrote:
>>>>> いつも参考にさせていただいております。
>>>>>
>>>>> 菊地義和と申します。
>>>>>
>>>>> ※初歩的な質問で申し訳ありません。
>>>>>
>>>>> 開発環境
>>>>> FPGA:sz130-mmu-20090213.zip
>>>>> Linux:atmark-dist-20080717-mb-20080910.diff
>>>>> パッチ:linux-2.6.18-at9-mb-20090304.diff
>>>>>
>>>>> 上記をベースに開発中のプロジェクトに
>>>>> ソケット通信の機能を追加したところ
>>>> どのように追加しましたか?こちらで再現させることは可能でしょうか?
>>>>
>>>>> リンク時にエラーとなりました。
>>>>> エラー内容を記述します(一部抜粋)。
>>>>>
>>>>> (前略)
>>>>> drivers/built-in.o: In function 'XXXXX_ioctl':
>>>>> : undefined reference to 'connect'
>>>>>
>>>>> drivers/built-in.o: In function 'XXXXX_ioctl':
>>>>> : undefined reference to 'socket'
>>>>>
>>>>> drivers/built-in.o: In function 'XXXXX_ioctl':
>>>>> : undefined reference to 'close'
>>>>>
>>>>> drivers/built-in.o: In function 'XXXXX_ioctl':
>>>>> : undefined reference to 'recv'
>>>>>
>>>>> drivers/built-in.o: In function 'XXXXX_ioctl':
>>>>> : undefined reference to 'perror'
>>>>> (後略)
>>>>>
>>>>> この結果から、ビルド環境がよくないと思い
>>>>> 修正を予定しております。
>>>>> 資料として「atmark-dist Developers Guide」を
>>>>> 参照しておりますが、
>>>>> 具体的な修正手順がわかっておりません。
>>>>> 大変申し訳ありませんがアドバイスを頂けないでしょうか。
>>>>>
>>>>> よろしくお願いいたします。
>>>>>
>>>>> 以上
>>>>>
>>>>> _______________________________________________
>>>>> suzaku mailing list
>>>>> email@hidden
>>>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
>>>>>
>>> _______________________________________________
>>> suzaku mailing list
>>> email@hidden
>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
>>>
>> _______________________________________________
>> suzaku mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
>>
> 




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