Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Ubuntu][C] Non riesco ad installare la libreria BLAS

    Ciao a tutti, il problema che vi espongo è collegato anche alla programmazione, ma lo posto su questa sezione in quanto credo che sia più un problema di installazione.

    Sto seguendo il corso di Calcolo Scientifico, che si basa sullo sviluppo di programmi C under linux che fanno uso delle librerie BLAS (x il calcolo matriciale e vettoriale). Nel laboratorio la libreria BLAS è già installata e configurata, ora vorrei poter testare i miei programmi anche sul mio pc, su cui ho installato Ubuntu.

    Sul sito della prof. è descritta l'installazione passo passo (qua il link), l'ho seguita e tutto è andato a buon fine (ho anche installato il compilatore fortran), il problema è che non riesco a compilare un semplice programma.

    Qua è mostrato il programma:

    Codice PHP:
    #include <stdio.h>
    #include <stdlib.h>

    extern void dcopy(int *,double *,int *, double *,int *);

    main() {
            
    int n,i,incx,incy;
            
    double *dx,*dy;
            
    incx=1;
            
    incy=1;
            
    printf("inserire la dimensione\n");
            
    scanf("%d",&n);
            
    dx=(double *)calloc(n,sizeof(double));
            
    dy=(double *)calloc(n,sizeof(double));
            for(
    i=0;i<n;i++)
                    
    dx[i]=i;
            
    dcopy_(&n,dx,&incx,dy,&incy);
            for(
    i=0;i<n;i++)
                    
    printf("%lf\n",dy[i]);
            
    free(dx);
            
    free(dy);

    Questo programma fa la semplice copia di un vettore in un altro, utilizzando le librerie BLAS. Da quello che ho capito, per la compilazione dovrei fare:

    ciccio@ciccio-desktop:~/calc$ gcc prova.c -L/home/ciccio/calc/BLAS/libblas.a

    dove indico l'indirizzo assoluto della libreria creata (non so che estensione sia .a)
    comunque la compilazione mi dà questo errore:

    Codice PHP:
    ciccio@ciccio-desktop:~/calcgcc prova.-L/home/ciccio/calc/BLAS/libblas.a
    /tmp/ccs1eSlv.oIn function `main':
    prova.c: (.text+0xb0): undefined reference to 
    `dcopy_'
    collect2: ld returned 1 exit status 
    Non so come fare, forse sbaglio a compilare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    796
    A lume di naso le versioni di gcc e blas che stai usando non sono compatibili. Installati atlas3 da repository, dovrebbe tirarti giu` tutto il necessario..

  3. #3
    Originariamente inviato da dAb
    A lume di naso le versioni di gcc e blas che stai usando non sono compatibili. Installati atlas3 da repository, dovrebbe tirarti giu` tutto il necessario..
    Funge! Sei un grande, tu e il tuo lume di naso!!!
    Ora posso provare comodamente i miei programmi a casa, senza dover andare ogni volta all'università

    Thanks!

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.