Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    3

    Problemi di (cross)compilazione col Perl

    Salve a tutti,
    sto provando a esportare il Perl su una piattaforma embedded (access point) con firmware OpenWrt (basato su Linux).
    L'operazione in realtà è riuscita, ma ho avuto un problema a tempo di compilazione (ho usato una Slackware 11.0 per crosscompilare):

    Making Time::HiRes (dynamic)
    Configuring Time::HiRes...
    Have syscall()... looking for syscall.h... found
    <syscall.h>.
    Looking for gettimeofday()... found.
    Looking for setitimer()... found.
    Looking for getitimer()... found.
    You have interval timers (both setitimer and getitimer).
    Looking for ualarm()... found.
    Looking for usleep()... found.
    Looking for nanosleep()... testing... ./tmp25328:
    /tmp25328: cannot execute binary file

    *** The test run of './tmp25328' failed: status 32256
    *** (the status means: errno = 126 or 'Unknown error 126')
    *** DO NOT PANIC: this just means that *some* functionality
    will be missing.
    NOT found.
    You cannot mix subsecond sleeps with signals.
    (It would not be portable anyway.)

    In effetti sull'access point la HiRes non funziona correttamente, e ho l'impressione che questa sia la causa del problema. Esiste un modo per ovviare a questo problema? Sto ammattendo in mezzo a un sacco di makefile in perl e di file in C, ma non sono venuto ancora a capo della situazione

    Grazie a tutti in anticipo
    Gabriele

  2. #2
    Sembrerebbe che il problema e' dovuto all'impossibilita' di eseguire files nella directory indicata. Non puoi intervenire su questo? In genere e' dovuto ai flag di montaggio della partizione o ai chmod.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    3
    Credo che invece il problema sia un altro. Credo che l'eseguibile costruito non possa essere mandato in esecuzione non essendo un eseguibile tradizionale, ma nato per funzionare su una piattaforma embedded.
    Il discorso filerebbe anche. Quello che non ho ancora capito invece è perché in un altro analogo processo di cross-compilazione, sempre per un dispositivo embedded, questo problema non si pone, e anzi, la Time::HiRes funziona correttamente sul dispositivo.
    Mi metto sotto a risolvere il problema.
    Grazie per ora

    Gabriele

    P.S. Odio la cross-compilazione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.