Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1797 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Divers

  Compilation OpenWRT

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Compilation OpenWRT

n°1442449
fredo3
Posté le 29-12-2019 à 20:09:05  profilanswer
 

Bonsoir

 

Bon, depuis cette aprem j'ai cette erreur à la fin de la compilation, on dirait que c'est à la création des fichiers images.
Donc pas de problème de conflit ou autre problème de compilation à proprement parlé.

 
Citation :

error: ext4_allocate_best_fit_partial: failed to allocate 1206 blocks, out of space?

 


D'où cela pourrait venir? Ca marchait très bien avant. Et j'ai plein d'espace libre sur le disque.

 


EDIT:

 

ah vais tester ca:

 
Citation :

I solved the problem by increasing the root filesystem partition size.

 

make menuconfig -> Target Images -> Root filesystem partition size (in MB)

 


EDIT2:
Ah ben c'était bien ca.

 

Désolé du dérangement.


Message édité par fredo3 le 29-12-2019 à 20:58:59
mood
Publicité
Posté le 29-12-2019 à 20:09:05  profilanswer
 

n°1442667
fredo3
Posté le 01-01-2020 à 19:36:33  profilanswer
 

Re-moi :o
 
Alors pour la compilation d'OpenWRT c'est ok.
Par contre maintenant j'essaye de compiler un dnsmasq modifié, j'ai plein de warning.
 
Alors le code source du dnsmasq modifié je l'ai placé sur OpenWRT au niveau du dossier /tmp/.
J'ai toute une série de warning qui sujet d'un fichier poll.h:
 
 

Code :
  1. ...
  2. ...
  3. ...
  4. gcc -g -Wall -W -O2 -DVERSION='""' -c edns0.c
  5. In file included from dnsmasq.h:85:0,
  6. from edns0.c:17:
  7. /usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
  8. #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
  9. ^~~~~~~
  10. edns0.c: In function 'calc_subnet_opt':
  11. edns0.c:350:7: warning: 'addrp' may be used uninitialized in this function [-Wmaybe-uninitialized]
  12. memcpy(opt->addr, addrp, len);
  13. ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  14. gcc -g -Wall -W -O2 -DVERSION='""' -c arp.c
  15. In file included from dnsmasq.h:85:0,
  16. from arp.c:17:
  17. /usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
  18. #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
  19. ^~~~~~~
  20. gcc -o dnsmasq cache.o rfc1035.o util.o option.o forward.o network.o dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o domain.o dnssec.o blockdata.o tables.o loop.o inotify.o poll.o rrfilter.o edns0.o arp.o
  21. make[1]: Leaving directory '/tmp/DNSMASQ_mod/src'


 
Alors le fichier poll.h est présent sur OpenWRT, dans les dossiers suivants:

Citation :

./usr/include/asm/poll.h
./usr/include/asm-generic/poll.h
./usr/include/bits/poll.h
./usr/include/fortify/poll.h
./usr/include/linux/poll.h
./usr/include/poll.h
./usr/include/sys/poll.h

 
 
Le code source modifié de dnsmasq fait appel au fichier dans le dossier suivant:

Citation :

#include <sys/poll.h>


 
Je ne comprends pas trop ce qui cloche :-/


Message édité par fredo3 le 01-01-2020 à 19:37:32
n°1442703
fredo3
Posté le 02-01-2020 à 14:21:58  profilanswer
 

Bon, j'ai essayé sur un PC et Debian, ca compile, en tout cas j'ai les fichiers binaires en sortie, même s'il y a quelques warning encore lors de la compilation.
Donc ca doit venir de mon build d'OpenWrt qui ne doit pas contenir le nécessaires pour compiler dnsmasq correctement.

 


Mais maintenant j'ai un autre soucis. Comment je compile dnsmasq sur un PC/Debian (x64) pour qu'il fonctionne sur un ARM (RPi 3)???

 

Il y a des millions des résultats sur google au sujet de cross-compiling, mais pas une solution ne se ressemble, je suis totalement perdu  :pt1cable:

 


Message édité par fredo3 le 02-01-2020 à 14:22:37
n°1442810
rat de com​bat
attention rongeur méchant!
Posté le 05-01-2020 à 13:08:14  profilanswer
 

Les warnings c'est que des warnings, il y en a dans pleins de projets (hélas), tu ignores.

 

Pour la cross-compilation faut utiliser le compilateur GCC-ARM-jesaispasquoi et la stdlib qui va avec. Ne me demande pas les détails, je sais pas. :o Perso je tenterai ça dans une VM histoire de rien casser. Ou alors compiler directement sur la framboise si c'est faisable?


Message édité par rat de combat le 05-01-2020 à 13:08:57
n°1442813
fredo3
Posté le 05-01-2020 à 13:18:16  profilanswer
 

Salut

 

Oui ca a finit par compiler. Bizarrement le fichier binaire en sortie est plus lourd que l'original alors que les modifications sont légères.
Le service dnsmasq ne démarre pas non plus maintenant. Du coup je ne sais pas si c'est le fichier binaire qui est mal compilé ou si c'est les fichiers de config qui le fait planter.

 

C'est saoulant :-/

 

Et tout ca juste pour faire apprendre à OpenWrt à faire du IP Passthrough/bridge mode pour un modem 4G. (Genre je comprends même pas comment ca n'a toujours pas été inclus de base à Openwrt...)

 


Le mieux aurait été d'intégrer le code source modifié de dnsmasque au code source d'OpenWrt afin de tout compiler en même temps, mais je sais pas comment patcher le code.

Message cité 1 fois
Message édité par fredo3 le 05-01-2020 à 13:21:46
n°1442815
rat de com​bat
attention rongeur méchant!
Posté le 05-01-2020 à 13:42:33  profilanswer
 

fredo3 a écrit :

C'est saoulant :-/

Ça je veux bien te croire. :(
 
Tu as compilé avec le bon compilateur / pour la bonne architecture?
 
Tu peux filer les liens vers le code original / le patch / ... Peut-être quelqu'un pourra y jeter un oeil.

n°1442818
fredo3
Posté le 05-01-2020 à 14:30:32  profilanswer
 

Ah bah finalement le service démarre.
Problème de droit sur un des fichiers (forcément, il y a en toujours un qu'on oublie...)

 

Bon par contre je vais voir si ce dnsmasq marche.

 

Oui oui, je l'ai compilé sur un OpenWrt fonctionnel, justement pour ne pas me risquer au cross-compiling, donc en principe niveau compilateur et archi ca devrait être ok.


Message édité par fredo3 le 05-01-2020 à 14:31:22
n°1443645
fredo3
Posté le 25-01-2020 à 20:32:14  profilanswer
 

Je reviens vers vous.

 

Bon j'ai avancé entre temps.
Mais j'ai cette erreur désormais et je ne sais pas trop où rechercher le problème en fait (sachant que chez d’autre ca marche :s )  :??:

 

https://reho.st/self/da46456dd6b40d118fa0de8ae34fcd3b449f9859.png

 

Sachant que le fichier dhcp.c.rej dont parle l'erreur c'est celui-ci:

 
Code :
  1. --- src/dhcp.c
  2. +++ src/dhcp.c
  3. @@ -754,6 +754,19 @@ int address_allocate(struct dhcp_context
  4.        if (addr.s_addr == d->router.s_addr)
  5.   break;
  6. +     /* in consec-ip mode, skip addresses equal to
  7. +        the number of addresses rejected by clients. This
  8. +        should avoid the same client being offered the same
  9. +        address after it has rjected it. */
  10. +     if (option_bool(OPT_CONSEC_ADDR))
  11. +       {
  12. +  if (c->addr_epoch)
  13. +    {
  14. +      c->addr_epoch--;
  15. +      d = context; /* d non-NULL skips the address. */
  16. +    }
  17. +       }
  18. +    
  19.      /* Addresses which end in .255 and .0 are broken in Windows even when using
  20.         supernetting. ie dhcp-range=192.168.0.1,192.168.1.254,255,255,254.0
  21.         then 192.168.0.255 is a valid IP address, but not for Windows as it's


Message édité par fredo3 le 25-01-2020 à 20:32:47
n°1443646
kisscoolz
Posté le 25-01-2020 à 21:45:18  profilanswer
 

C'est la même archive de base ? C'est la même méthode ? Ca sent une différence de version et donc le patch ne passe plus :/
Il faudrait inspecter le fichier source et le patch voir ce qui a changé.


---------------
http://lacabanedeladmin.trickip.net/
n°1443649
fredo3
Posté le 25-01-2020 à 22:38:05  profilanswer
 

C'est ce qu'on m'a répondu sur un autre forum aussi :-/
 
Vais recommencer, j'ai peut-être fait une fausse manip et pris le mauvais fichier en effet.
 
:jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Divers

  Compilation OpenWRT

 

Sujets relatifs
OpenWRT - Compatible ARM A72+A53?Alternative à OpenWRT?
Routeur OpenWRT "basic"recherche mini-routeur OpenWRT
[CLOS] Compilation php4 + communication avec Apache[Résolu] Problème compilation CMake dépendances...
Librairies compilation et installation avec CMakeErreur Compilation RT3298 + modification noyau
fonera/openwrt/partage de connexionscript de compilation c++ configure.ac
Plus de sujets relatifs à : Compilation OpenWRT


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR