Besoin d’aide avec le crosse compiler m68k-amigaos-gcc

Forum Amiga Coding Besoin d’aide avec le crosse compiler m68k-amigaos-gcc

  • Ce sujet contient 7 réponses, 2 participants et a été mis à jour pour la dernière fois par destroyedlolo, le il y a 1 année et 1 mois.
  • Créateur
    Sujet
  • #159968
    destroyedlolo
      • Level 3
      • Messages : 60

      Bonjour,

      Avant toutes choses, je fais beaucoup de dev sous Linux (en particulier Gentoo et TinyCoreLinux) du coup, je n’ai pas trop de problème avec la cross-compilation en tant que telle … même si bien sûr, il m’arrive de poser des questions idiotes :rant: .

      J’ai donc installé sans problème amiga-gcc de bebbo (x86_64 sous Gentoo donc) et j’arrive sans problème à compiler un simple “hello_world” … qui fonctionne sur mon Amiga B-)

      Je passe à l’étape suivante : compiler des trucs venant de Linux qui me manquent sous AmigaOS. Et c’est là que commencent les problèmes, principalement à cause du manque de documentation et de tuto autour d’Amiga-gcc.

      Bref, j’ai jeté mon dévolu sur https://github.com/mkj/dropbear pour avoir un serveur ssh sur mon 4000.

      1/ Dans un 1er temps, le “configure” échouait par manque de fonctions POSIX de base. J’ai résolu le problème en ajoutant

      -mcrt=clib2

      dans la ligne de commande : configure passe :yahoo:

      2/ Mais maintenant, je suis bloqué par des erreurs provenant directement des includes du cross compilo.

      laurent@Mouai ~/Projets/Amiga/dropbear $ make
      Creating default_options_guard.h
      /home/laurent/Projets/Amiga/dropbear
      -rw-r--r-- 1 laurent laurent 17419 8 avril 14:12 default_options_guard.h
      make -C libtomcrypt
      make[1] : on entre dans le répertoire « /home/laurent/Projets/Amiga/dropbear/libtomcrypt »
      m68k-amigaos-gcc -Isrc/headers/ -I./src/headers/ -I./.. -I./../src -DLTC_SOURCE -I../libtommath/ -I./../libtommath/ -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wundef -fno-strict-overflow -Wno-pointer-sign -Os -W -Wall -I./libtomcrypt/src/headers/ -I./libtommath -mcrt=clib2 -I. -I./src -DDROPBEAR_SERVER -DDROPBEAR_CLIENT -c src/ciphers/aes/aes.c -o src/ciphers/aes/aes.o
      In file included from /opt/amiga/m68k-amigaos/sys-include/ssp/stdlib.h:4:0,
      from /opt/amiga/m68k-amigaos/sys-include/stdlib.h:340,
      from /opt/amiga/m68k-amigaos/clib2/include/stdlib.h:43,
      from src/headers/tomcrypt.h:15,
      from src/ciphers/aes/aes.c:31:
      /opt/amiga/m68k-amigaos/sys-include/ssp/stdlib.h: In function 'wcstombs':
      /opt/amiga/m68k-amigaos/sys-include/ssp/stdlib.h:16:1: error: expected identifier or '(' before 'return'
      __ssp_redirect_raw(size_t, wcstombs, \
      ^
      make[1]: *** [Makefile:246 : src/ciphers/aes/aes.o] Erreur 1
      make[1] : on quitte le répertoire « /home/laurent/Projets/Amiga/dropbear/libtomcrypt »
      make: *** [Makefile:251 : libtomcrypt/libtomcrypt.a] Erreur 2

      Le truc, c’est que ce sont des includes “système” donc censé fonctionner out of the box, sans bidouilles. Quelqu’un aurait-il de l’expérience avec cette chaine ?

      Merci

      ps: je ne dis pas que j’arriverai a bout de ce portage, mais là, je ne suis même pas à batailler avec dropbear mais avec le compilo lui-même :unsure:

    Affichage de 7 réponses de 1 à 7 (sur un total de 7)

    Partager sur vos réseaux sociaux préférés :
    Facebooktwitterredditpinterestlinkedintumblrmail

    • Auteur
      Réponses
    • #159973
      Bruno
        • Level 6
        • Messages : 352

        Je ne suis pas sûr que la fonction wcstombs() soit implémentée dans la CLib2 quand je regarde son source : https://github.com/bebbo/clib2/blob/master/library/stdlib_wcstombs.c

        Je lis :

        /* ZZZ unimplemented */
        return(0);

        Je penses donc que ça va te manquer si c’est nécessaire pour ta compilation.

        Néanmoins, peut-être que tu peux essayer de baisser le FORTIFY_SOURCE pour qu’il n’appelle plus les headers SSP qui semblent gêner GCC ? :scratch:

        Amiga 500, extensions 512 k et ACA500+ sous AmigaOS 3.2.2



        #159976
        destroyedlolo
          • Level 3
          • Messages : 60

          De ce que j’ai cru comprendre, ce “SSP” serait un mécanisme qui vérifie qu’on n’explose pas la pile. Sur Amiga, on a l’habitude, on peut s’en passer ;-)

          Mais ce qui me gêne, c’est que je n’arrive pas à compiler les includes systèmes : je pensais avoir des problèmes plus tard, mais pas avec la chaine de compilation.

          #159981
          Bruno
            • Level 6
            • Messages : 352

            Compiler un serveur SSH pour Amiga est un beau challenge, surtout la partie cryptographique !

            Ça n’a pas été fait pour l’instant, n’est ce pas ?

            Amiga 500, extensions 512 k et ACA500+ sous AmigaOS 3.2.2

            #159982
            destroyedlolo
              • Level 3
              • Messages : 60

              Pas à ma connaissance.

              J’ai commencé à regarder du côté d’AmiSSL mais il ne contient “que” la librairie qui de toute façon me bouffe plus de la moitié de la RAM de mon 4000.

              De plus, les démons sshd classiques utilisent des trucs comme fork() qui ne fonctionnera pas sous AmigaOS car demandant une relocation mémoire par process en passant par la MMU.

              Dropbear a été conçu pour l’embarqué donc laisse plus d’espoir … pour peu que j’arrive à faire fonctionner la chaine de compilation.

              #159984
              Bruno
                • Level 6
                • Messages : 352

                Une autre difficulté sera d’interfacer le serveur SSH avec une console/shell d’AmigaOS. C’est très différent d’une console Linux.

                Amiga 500, extensions 512 k et ACA500+ sous AmigaOS 3.2.2

                #159986
                Bruno
                  • Level 6
                  • Messages : 352

                  Je suis tombé sur ces travaux de portage de OpenSSH : https://web.archive.org/web/20080723155743/http://chernoff.org/amiga/

                  Le fichier Amiga_OpenSSH.readme décrit des adaptations nécessaires pour faire fonctionner le démon sous AmigaOS.

                  Amiga 500, extensions 512 k et ACA500+ sous AmigaOS 3.2.2

                  #159990
                  destroyedlolo
                    • Level 3
                    • Messages : 60

                    Cool, merci : je vais jeter un œil voir si ça fonctionne :-)

                    Ca serait un bon départ même si ce que je cherche est l’inverse : sshd coté Amiga.

                    Je n’ai pas trop peur pour la console : j’arrive sans problème à me connecter à mon 4000 par Telnet et même, à l’époque, à y faire tourner un clone de vi. Il y a des termcap livrés avec AmiTCP ou avec la couche IP de commodore qui fonctionnent pas trop mal.

                    Bon, ca ne marche plus trop en 2023, car j’ai l’impression que mes clients (coté Linux) cachent trop d’informations, ce qui fait que ca merdoie lorsqu’on sort des commandes lignes à lignes, faut que je regarde de plus prêt.

                     

                    [Edit]J’ai vu aussi son “workaround” concernant sshd, d’entuneller telnet dans une session crypté, En fait, mon “but” n’est pas seulement me connecter à mon Amiga (vu que telnet fonctionne bien), mais aussi de pouvoir utiliser toutes les goodies que permet Linux autour de ssh : scp, mais aussi sshfs et les inclusions dans les filenamanger (Thunar, …) qui sont une simple tuerie quand on a pas mal de machines à gérer. [/Edit]

                  Partager sur vos réseaux sociaux préférés :
                  Facebooktwitterredditpinterestlinkedintumblrmail
                  Affichage de 7 réponses de 1 à 7 (sur un total de 7)
                  • Vous devez être connecté pour répondre à ce sujet.