Perlin laajennos.

Miten asennetaan Perl'in laajennukset? Käyttöjärjestelmä on linux.

Tarkoitus olisi asentaa seuraava paketti:

Math/Cephes.pm

Jotta PERL osaisi laskea fresnelin integraaleja.

Ohjelman alussa on kyllä rivi
use Math::Cephes qw(:fresnl);
Mutta ei se riitä
17139
Äänestä

Muut lukivat myös

Vastaukset 17

Vanhimmat

Mikäs se käyttöjärjestelmä olikaan?

Äänestä

Syötä sinne päätteelle niitä sudo apt-get-juttuja vaikka maailman loppuun asti, ei tule valmista.

Äänestä

linux ei kerro mitään.
Mikä niistä:
- ubuntu
- mandriva
- mint
- debian
- gentoo
- jne... ????????????????

Äänestä
  • Käyttöjärjestelmäni on Linux - Fedora 12.

    Äänestä

  • old_profile_18265 kirjoitti:

    Käyttöjärjestelmäni on Linux - Fedora 12.

    Käyttöjärjestelmäsi on siis Fedora 12, eikä Linux. Linuxilla ei ole mitään tekemistä Perlin eikä ongelmasi kanssa. Ja se Fedora 12 on vanhentunut käyttöjärjestelmä, tämä Fedora kun on kehittäjille suunnattu käyttöjärjestelmä jossa koeajetaan juttuja ja on hyvin lyhytikäinen. Sillä pystyy nippanappa hyppäämään yhden version ylitse ja tätä uusitaan pari kertaa vuodessa, eli ainakin noin kerta vuoteen pitäisi uusia se, ihan tietoturvasyistä.

    Ohjeet näkyy olevan kyseisessä paketissa INSTALL -tiedostossa. Tarvitset C kääntäjän lisäämistä koneelle, ja sellainen löytyy kyllä Fedoran paketeista. Nyt ei ole Fedoraa koneella, että avaa sieltä paketinhallinta ja laita hakusanaksi "gcc" niin varmaan löytyy. Mahdollisesti tarvitset jotain libc:n -kehityspakettia (joku -dev tai -devel) jossa tämän otsikkotiedostot. Fedorassa varmaankin joku glibc, ja sitten toimit ohjeiden mukaan.

    Äänestä

  • This module requires a C compiler to build. To install the
    module, first edit libmd/mconf.h to suit your system (the
    default settings are for Linux/Win32). Then execute the sequence

    perl Makefile.PL
    make
    make test
    make install

    If you do not have permission to install modules in the
    Perl site tree on your system, you can install this in
    your own library by

    perl Makefile.PL PREFIX=/home/me/perl \
    INSTALLMAN1DIR=/home/me/man/man1 \
    INSTALLMAN3DIR=/home/me/man/man3
    make
    make test
    make install

    To use modules in this location, either set the PERL5LIB
    environment variable to include your private module
    directory, or else put

    use lib '/home/me/perl/path/to/lib';

    Äänestä

  • INSTALL kirjoitti:

    This module requires a C compiler to build. To install the
    module, first edit libmd/mconf.h to suit your system (the
    default settings are for Linux/Win32). Then execute the sequence

    perl Makefile.PL
    make
    make test
    make install

    If you do not have permission to install modules in the
    Perl site tree on your system, you can install this in
    your own library by

    perl Makefile.PL PREFIX=/home/me/perl \
    INSTALLMAN1DIR=/home/me/man/man1 \
    INSTALLMAN3DIR=/home/me/man/man3
    make
    make test
    make install

    To use modules in this location, either set the PERL5LIB
    environment variable to include your private module
    directory, or else put

    use lib '/home/me/perl/path/to/lib';

    Mitä tuolle tiedostolle "libmd/mconf.h" pitää tehdä ja missä se oikein on?

    Annoin pääte-emulaattorista komennnon
    [matti@localhost Math-Cephes-0.47] $ perl Makefile.PL
    joka tulosti seuraavan virheilmoituksen:
    Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.10.0/i386-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl .) at Makefile.PL line 5.
    BEGIN failed--compilation aborted at Makefile.PL line 5.

    Laajennusmoduuli on imuroitu ja purettuna paikassa /tmp/Math-Cephes-0.47

    Äänestä

  • old_profile_18265 kirjoitti:

    Mitä tuolle tiedostolle "libmd/mconf.h" pitää tehdä ja missä se oikein on?

    Annoin pääte-emulaattorista komennnon
    [matti@localhost Math-Cephes-0.47] $ perl Makefile.PL
    joka tulosti seuraavan virheilmoituksen:
    Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.10.0/i386-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl .) at Makefile.PL line 5.
    BEGIN failed--compilation aborted at Makefile.PL line 5.

    Laajennusmoduuli on imuroitu ja purettuna paikassa /tmp/Math-Cephes-0.47

    Linux on sulle liian vaikea ja sulla on vielä Fedora johon ei suomenkielistä tukeakaan saa kuin haulikolla uhkaamalla. Käänny linux.fi:n puoleen, siellä on linuxpeeloja auttamassa.

    Äänestä

  • old_profile_18265 kirjoitti:

    Mitä tuolle tiedostolle "libmd/mconf.h" pitää tehdä ja missä se oikein on?

    Annoin pääte-emulaattorista komennnon
    [matti@localhost Math-Cephes-0.47] $ perl Makefile.PL
    joka tulosti seuraavan virheilmoituksen:
    Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.10.0/i386-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl .) at Makefile.PL line 5.
    BEGIN failed--compilation aborted at Makefile.PL line 5.

    Laajennusmoduuli on imuroitu ja purettuna paikassa /tmp/Math-Cephes-0.47

    libmd/mconf.h -tiedostolle ei tarvitse tehdä mitään, ExtUtils/MakeMaker.pm puuttuu ja Perl valittaa siitä. Asenna perl-ExtUtils-MakeMaker.

    Äänestä

  • c=3 kirjoitti:

    libmd/mconf.h -tiedostolle ei tarvitse tehdä mitään, ExtUtils/MakeMaker.pm puuttuu ja Perl valittaa siitä. Asenna perl-ExtUtils-MakeMaker.

    Hohhohhoo, olisit trolli edes yrittänyt olla oma itsesi.

    Äänestä

  • c=3 kirjoitti:

    libmd/mconf.h -tiedostolle ei tarvitse tehdä mitään, ExtUtils/MakeMaker.pm puuttuu ja Perl valittaa siitä. Asenna perl-ExtUtils-MakeMaker.

    Asensin ohjelman Perl-ExtUtils-MakeMaker. Nyt perl Makefile.PL ja make onnistuivat mutta make test antoi virheilmoituksen:
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
    t/99pod.t ............ Can't locate Test/More.pm in @INC (@INC contains: /tmp/Math-Cephes-0.47/blib/lib /tmp/Math-Cephes-0.47/blib/arch /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.10.0/i386-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl .) at t/99pod.t line 2.
    BEGIN failed--compilation aborted at t/99pod.t line 2.
    t/99pod.t ............ Dubious, test returned 2 (wstat 512, 0x200)
    No subtests run
    t/bessels.t .......... ok
    t/betas.t ............ ok
    t/cmplx.t ............ ok
    t/dists.t ............ ok
    t/elliptics.t ........ ok
    t/explog.t ........... ok
    t/fract.t ............ ok
    t/gammas.t ........... ok
    t/hypergeometrics.t .. ok
    t/hypers.t ........... ok
    t/mat.t .............. ok
    t/misc.t ............. ok
    t/poly.t ............. ok
    t/trig.t ............. ok
    t/utils.t ............ ok

    Test Summary Report
    -------------------
    t/99pod.t (Wstat: 512 Tests: 0 Failed: 0)
    Non-zero exit status: 2
    Parse errors: No plan found in TAP output
    Files=16, Tests=472, 3 wallclock secs ( 0.32 usr 0.10 sys 0.84 cusr 0.15 csys = 1.41 CPU)
    Result: FAIL
    Failed 1/16 test programs. 0/472 subtests failed.
    make: *** [test_dynamic] Virhe 255

    Äänestä

  • old_profile_18265 kirjoitti:

    Asensin ohjelman Perl-ExtUtils-MakeMaker. Nyt perl Makefile.PL ja make onnistuivat mutta make test antoi virheilmoituksen:
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
    t/99pod.t ............ Can't locate Test/More.pm in @INC (@INC contains: /tmp/Math-Cephes-0.47/blib/lib /tmp/Math-Cephes-0.47/blib/arch /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.10.0/i386-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl .) at t/99pod.t line 2.
    BEGIN failed--compilation aborted at t/99pod.t line 2.
    t/99pod.t ............ Dubious, test returned 2 (wstat 512, 0x200)
    No subtests run
    t/bessels.t .......... ok
    t/betas.t ............ ok
    t/cmplx.t ............ ok
    t/dists.t ............ ok
    t/elliptics.t ........ ok
    t/explog.t ........... ok
    t/fract.t ............ ok
    t/gammas.t ........... ok
    t/hypergeometrics.t .. ok
    t/hypers.t ........... ok
    t/mat.t .............. ok
    t/misc.t ............. ok
    t/poly.t ............. ok
    t/trig.t ............. ok
    t/utils.t ............ ok

    Test Summary Report
    -------------------
    t/99pod.t (Wstat: 512 Tests: 0 Failed: 0)
    Non-zero exit status: 2
    Parse errors: No plan found in TAP output
    Files=16, Tests=472, 3 wallclock secs ( 0.32 usr 0.10 sys 0.84 cusr 0.15 csys = 1.41 CPU)
    Result: FAIL
    Failed 1/16 test programs. 0/472 subtests failed.
    make: *** [test_dynamic] Virhe 255

    Kaiketi valitti että Test/More.pm puuttuu yritin asentaa paketin:
    perl-Test-Simple-0.92-82.fc12.i686.rpm

    Mutta se ei onnistunut, paketinhallinta sanoo:"tapahtui tranaktiovirhe. perl-Test-Simple-0.92-82.fc12.i686 vaatii perl = 4:5.10.0-82.fc12"

    Äänestä

  • old_profile_18265 kirjoitti:

    Kaiketi valitti että Test/More.pm puuttuu yritin asentaa paketin:
    perl-Test-Simple-0.92-82.fc12.i686.rpm

    Mutta se ei onnistunut, paketinhallinta sanoo:"tapahtui tranaktiovirhe. perl-Test-Simple-0.92-82.fc12.i686 vaatii perl = 4:5.10.0-82.fc12"

    Jos make meni läpi ilman valituksia, voit asentaa laajennoksen komennolla 'make install'. Testien ajo (make test) on useimmille käyttäjille täysin turha välivaihe.

    Äänestä

  • c=3 kirjoitti:

    Jos make meni läpi ilman valituksia, voit asentaa laajennoksen komennolla 'make install'. Testien ajo (make test) on useimmille käyttäjille täysin turha välivaihe.

    Ei onnistunut myöskään 'make install' se antoi virheilmoituksen:

    make[1]: Siirrytään hakemistoon "/tmp/Math-Cephes-0.47/libmd"
    make[1]: Poistutaan hakemistosta "/tmp/Math-Cephes-0.47/libmd"
    Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ERROR: Can't create '/usr/local/bin'
    Do not have write permissions on '/usr/local/bin'
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    at -e line 1
    make: *** [pure_site_install] Virhe 2

    Koneessani on perl v5.10.0

    Äänestä

  • old_profile_18265 kirjoitti:

    Ei onnistunut myöskään 'make install' se antoi virheilmoituksen:

    make[1]: Siirrytään hakemistoon "/tmp/Math-Cephes-0.47/libmd"
    make[1]: Poistutaan hakemistosta "/tmp/Math-Cephes-0.47/libmd"
    Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ERROR: Can't create '/usr/local/bin'
    Do not have write permissions on '/usr/local/bin'
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    at -e line 1
    make: *** [pure_site_install] Virhe 2

    Koneessani on perl v5.10.0

    Make install pitää suorittaa root-käyttäjänä; esim. 'su -c "make install"'.

    http://www.fedorafaq.org/basics/#root

    Äänestä

Päivitin käyttöjärjestelmän fedora 12 -> fedora 14. Vanhat käyttöjärjestelmät kun oikuttelevat uusien liitännäisten kanssa.

Make test kyllä antoi virheilmoituksia (väitti että joitakin osia ei löydy) mutta make install ei antanut yhtään virheilmoitusta (kaikki löytyi). Loppurivi:

Appending installation info to /usr/lib/perl5/perllocal.pod

Kun ajaa seuraavan ohjelman:

#!/usr/local/bin/perl
use strict;
use Math::Cephes qw(:misc);
$x=0.5;
($flag, $S, $C) = fresnl( $x );
$y = acosh( $x );

Seuraa virheilmoitus:

Can't load '/usr/local/lib/perl5/auto/Math/Cephes/Cephes.so' for module Math::Cephes: /usr/local/lib/perl5/auto/Math/Cephes/Cephes.so: cannot enable executable stack as shared object requires: Lupa evätty at /usr/lib/perl5/DynaLoader.pm line 200.
at /usr/local/lib/perl5/Math/Cephes.pm line 11
Compilation failed in require at fresnl.pl line 4.
BEGIN failed--compilation aborted at fresnl.pl line 4.

Äänestä

Ketjusta on poistettu 1 sääntöjenvastainen viesti.

Kommentoi aloitusta


Matti.W kirjoitti:

Miten asennetaan Perl'in laajennukset? Käyttöjärjestelmä on linux.

Tarkoitus olisi asentaa seuraava paketti:

Math/Cephes.pm

Jotta PERL osaisi laskea fresnelin integraaleja.

Ohjelman alussa on kyllä rivi
use Math::Cephes qw(:fresnl);
Mutta ei se riitä

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu