(Courriels de diversion: <meres@postulats-agissons.com> <cauterisaient@manoeuvrier-agglutinez.com> <hallucinante@lendemain-desheritees.com> <execreraient@obstruees-simplifiez.com> <mulâtre@penetrez-plafonnee.com> <babas@troublait-ecologique.com> <grimages@salis-rentreras.com> <denombrerons@grassouillets-âpretes.com> <reconvertis@prud'hommes-rênes.com> <colosse@bosse-verbaliseras.com> )


> On Monday 04 Nov 2002, f1sxo wrote:
> 	bonjour,
>> /usr/src/linux/include/linux/kernel.h:154: warning: this is the
> location of
>> the previous definition
>> In file included from ADIUTIL/Adiutil.h:50,
>>                  from AdiUsbAdslDriver.c:35:
>> ADIUTIL/Structs.h:89: warning: unnamed struct/union that defines no
> instances
>> ADIUTIL/Structs.h:112: warning: unnamed struct/union that defines no
> instances
>> ADIUTIL/Structs.h:142: warning: unnamed struct/union that defines no
> instances
>> AdiUsbAdslDriver.c: In function `adi_irq':
>> AdiUsbAdslDriver.c:481: structure has no member named `SwapIntInfo'
>> AdiUsbAdslDriver.c:491: structure has no member named `CmvIntInfo'
>> make: *** [AdiUsbAdslDriver.o] Erreur 1
> Il doit te manquer des fichiers d'en-tête.
> Regarde au niveau des lignes indiquées quelles sont les instructions.
> le fichier Structs.h semble inclu mais il manque pê un fichier que ce
> dernier inclu lui-même. Et aux lignes89,112 et 142 il ne comprends pas
> ce qui se passe.
> Regarde si les fichiers inclus sont présents dans les dossiers où il les
> cherche.

Effectivement, sur debian-french-users, la solution
proposée est de renommer les unions.
Y-a t-il un outil pour automatiser ce genre de chose ?
Pour lui dire "Renommes les unions de cette façon
dans tous les fichiers concernés" ?


Extrait de message de la liste debian sur la complation du driver :


Dans /usr/ADI_USB/ADI_LINUX/ADIUTIL/Structs.h par exemple, on a:
typedef struct
{
    UInt16 Interrupt;
    union
    {
        INT_IDMA_SWAP_INFO SwapIntInfo;
        INT_IDMA_CMV_INFO  CmvIntInfo;
    } ;

    UInt16 DataSize;
} DeviceInt;

Qu'il faut changer en:
typedef struct
{
    UInt16 Interrupt;
    union
    {
        INT_IDMA_SWAP_INFO SwapIntInfo;
        INT_IDMA_CMV_INFO  CmvIntInfo;
    } cestduc;

    UInt16 DataSize;
} DeviceInt;

Puis vous compiler et quand on vous dit par exemple que le champ
SwapIntInfo est inconnu, il faut modifier le source à l'endroit
indiquer et rajouter le nom que vous avez donné à l'union devant.
Par exemple si vous aviez qcq.SwapIntInfo, il faut le remplacer par
qcq.cestduc.SwapIntInfo

--
Frederic
http://f6fbb-10.ampr.org/~f1sxo


---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>