{"id":577,"date":"2013-07-09T16:42:28","date_gmt":"2013-07-09T14:42:28","guid":{"rendered":"http:\/\/www.ilbytecidio.it\/?p=577"},"modified":"2013-07-13T16:04:54","modified_gmt":"2013-07-13T14:04:54","slug":"facciamo-funzionare-lantispam-su-haiku","status":"publish","type":"post","link":"https:\/\/www.ilbytecidio.it\/?p=577","title":{"rendered":"Facciamo funzionare il mio antispam su Haiku R1 Alpha 4"},"content":{"rendered":"<p>Salve a tutti! \u00c8 un po&#8217; che non pubblico niente, ma sono stato occupatissimo in questo periodo, non si \u00e8 trattato solo di pigrizia. Sto testando l&#8217;ultima Alpha di Haiku e scriver\u00f2 un articolo a breve dedicato a questa prova.Fra le cose che ho deciso di provare c&#8217;\u00e8 la compilazione di software, dato che durante test di precedenti Alpha il sistema andava in crash. <a href=\"http:\/\/www.ilbytecidio.it\/wp-content\/uploads\/2013\/07\/antispam1.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-591 alignleft\" alt=\"antispam su Haiku R1 A4\" src=\"http:\/\/www.ilbytecidio.it\/wp-content\/uploads\/2013\/07\/antispam1_mini.png\" width=\"178\" height=\"144\" \/><\/a>Ho deciso di partire da qualcosa di semplice scritto da me, il mio <a title=\"Un semplice antispam per la casella e-mail\" href=\"http:\/\/www.ilbytecidio.it\/?p=202\" target=\"_blank\">antispam<\/a>, per esempio!<br \/>\nHo deciso di descrivere il modo in cui sono riuscito a compilarlo, non perch\u00e9 penso che qualcuno smani per usarlo su Haiku, ma perch\u00e9 l&#8217;esperienza pu\u00f2 essere utile per altri software. Non scriver\u00f2 tutte le istruzioni per filo e per segno perch\u00e9 presuppongo che abbiate un minimo di esperienza sull&#8217;uso generale della shell bash e sulla compilazione da riga di comando.<\/p>\n<p><!--more--><\/p>\n<p>Il primo errore che il compilatore ha dato era di parsing, l&#8217;identificatore thread_params risultava non dichiarato, anche se l&#8217;header antispam_thread.h era correttamente incluso. Questo era dovuto alla versione di gcc in uso. Possiamo impostare la versione 4 digitando<\/p>\n<p style=\"padding-left: 30px;\">setgcc gcc4<\/p>\n<p>A questo punto la compilazione andava avanti ma mi veniva detto che la libreria pthread era inesistente. Questo \u00e8 dovuto al fatto che i thread posix sono inclusi nel file libroot.so, anzich\u00e9 in libpthread.so come accade quasi ovunque. La soluzione che viene consigliata da qualche parte \u00e8 quella di creare un link al primo file usando il nome del secondo, cos\u00ec:<\/p>\n<p style=\"padding-left: 30px;\">cd \/Haiku\/develop\/lib\/x86<br \/>\nln -s libroot.so libpthread.so<\/p>\n<p>Questa non \u00e8 una soluzione molto elegante, ma permette di compilare alcuni software senza dover rifare il Makefile. Invece consiglio di fare una copia del Makefile e chiamarla magari Makefile.haiku. Poi apriamolo e cancelliamo <em>-lpthread<\/em> dalla riga di compilazione per l&#8217;etichetta <em>antispam<\/em>. Per lanciare la compilazione ora dobbiamo scrivere<\/p>\n<p style=\"padding-left: 30px;\">make -f Makefile.haiku<\/p>\n<p>Ora notiamo errori di <em>undefined reference<\/em> per socket, connect ed altri identificatori che usiamo per collegarci alla rete. Questo dipende dal fatto che la libreria che ci serve non \u00e8 linkata di default come accade su Linux. Riapriamo il nostro makefile modificato e aggiungiamo <em>-lnetwork<\/em> dove abbiamo rimosso -lpthread poco fa.<br \/>\nA questo punto il mio splendido antispam funziona anche su Haiku, oltre che su Windows e Linux. Adoro quando riesco a far funzionare lo stesso programma su pi\u00f9 piattaforme senza grosse modifiche! \ud83d\ude00<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Salve a tutti! \u00c8 un po&#8217; che non pubblico niente, ma sono stato occupatissimo in questo periodo, non si \u00e8 trattato solo di pigrizia. Sto testando l&#8217;ultima Alpha di Haiku e scriver\u00f2 un articolo a breve dedicato a questa prova.Fra &hellip; <a href=\"https:\/\/www.ilbytecidio.it\/?p=577\">Continua a leggere<span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,26],"tags":[],"class_list":["post-577","post","type-post","status-publish","format-standard","hentry","category-haiku","category-miei-software"],"views":201,"_links":{"self":[{"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/posts\/577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=577"}],"version-history":[{"count":12,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/posts\/577\/revisions"}],"predecessor-version":[{"id":581,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=\/wp\/v2\/posts\/577\/revisions\/581"}],"wp:attachment":[{"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ilbytecidio.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}