rilevante


  rilevante > comp.os.* > comp.os.freebsd

 #1  
20.01.2012, 16:02
Roberto Tempesti
Ciao a tutti,

e' la mia prima esperienza con freeBsd e con Unix in generale.
Quello che sto cercando di fare e' costruire una "pdfbox" che mi consenta di
convertire stampe di tipo PDF in PCL (linguaggio HP) e viceversa.
Ho preparato un PC Intel x86 con FreeBSD 8.2 ed ho installato con
"pkg_add -r" l'applicazione "GhostScript" e funziona.
Altra musica con l'applicazione "GhostPDL" che dovrebbe fare l'azione
contraria, conversione da PCL a PDF. Purtroppo non esistono "binaries" per
Unix quindi ho scaricato i sources dalla rete ed ho tentato l'installazione
usando "GMAKE" e seguendo quelle pochissime informazioni che ho trovato in
rete.
La compilazione non va a buon fine segnalando una serie di errori tipo:
/obj/pglabel.o(.text+0x1915): in funcion 'hpgl_process_buffer': undefined
reference to 'hypot'
ho guardato nei source e, anche se non sono un programmatore c, mi sono
accorto che le operazioni di #include
cercano headers personalizzati:

#include "math_.h"
#include "memory_.h"
#include "ctype_.h"
#include "stdio_.h"

che risiedono su una directory "/usr/local/src/ghostpdl-8.71/gs/base" che
non riesco a raggiungere perche' non ho idea di come e dove intervenire.
C'e' qualcuno di voi che in parole povere, possa aiutarmi a compilare questa
applicazione?

Mille grazie per la vostra attenzione.

Saluti
 #2  
20.01.2012, 17:42
Andrea D'Amore
In article <jfc6n6$tf2$1>,
"Roberto Tempesti" <roberto.tempesti> wrote:

> La compilazione non va a buon fine segnalando una serie di errori tipo:
> /obj/pglabel.o(.text+0x1915): in funcion 'hpgl_process_buffer': undefined
> reference to 'hypot'


Prova ad aggiungere '-lm' a LDFLAGS in un Makefile relativo (vicino o
directory superiore) al punto in cui ottieni l'errore.
 #3  
23.01.2012, 09:05
Roberto Tempesti
"Andrea D'Amore" <anddam-groupsNOALPASTICCIODICARNE> ha scritto
nel messaggio
news:2012
> In article <jfc6n6$tf2$1>,
> "Roberto Tempesti" <roberto.tempesti> wrote:
>
>> La compilazione non va a buon fine segnalando una serie di errori tipo:
>> /obj/pglabel.o(.text+0x1915): in funcion 'hpgl_process_buffer': undefined
>> reference to 'hypot'

>
> Prova ad aggiungere '-lm' a LDFLAGS in un Makefile relativo (vicino o
> directory superiore) al punto in cui ottieni l'errore.


-lm, se non ho capito male, significa effettuare un link con la libreria
"math", probabilmente per incorporarne il contenuto nell'eseguibile. Ho
controllato il makefile e "-lm" c'e' gia'. Ho tolto, invece "-ldl" che, come
ho visto su internet non e' previsto sulla piattaforma FreeBSD.
-STDLIBS=-lm -lpthread -ldl
+STDLIBS=-lm -lpthread
Mi chiedo se non sia proprio questo il problema visto che i progettisti
hanno creato dei wrapper alle librerie che ho segnalato e che sono stati
messi in una directory che, evidentemente, il compilatore non riesce a
raggiungere.
Scusa se mi esprimo in un modo approssimativo ma sono completamente a
digiuno di unix e programmazione c.

Grazie per l'aiuto.
 #4  
23.01.2012, 10:02
Roberto Tempesti
"Roberto Tempesti" <roberto.tempesti> ha scritto nel messaggio
news:vcm1
>
> "Andrea D'Amore" <anddam-groupsNOALPASTICCIODICARNE> ha scritto
> nel messaggio
> news:2012
>
> -lm, se non ho capito male, significa effettuare un link con la libreria
> "math", probabilmente per incorporarne il contenuto nell'eseguibile. Ho
> controllato il makefile e "-lm" c'e' gia'. Ho tolto, invece "-ldl" che,
> come ho visto su internet non e' previsto sulla piattaforma FreeBSD.
> -STDLIBS=-lm -lpthread -ldl
> +STDLIBS=-lm -lpthread
> Mi chiedo se non sia proprio questo il problema visto che i progettisti
> hanno creato dei wrapper alle librerie che ho segnalato e che sono stati
> messi in una directory che, evidentemente, il compilatore non riesce a
> raggiungere.
> Scusa se mi esprimo in un modo approssimativo ma sono completamente a
> digiuno di unix e programmazione c.
>


Trovato l'errore:

invece di scrivere +STDLIBS=-lm -lpthread avevo scritto
+STFLIBS=-lm -lpthread

sono riuscito a compilare.

Grazie!
 #5  
23.01.2012, 11:24
Andrea D'Amore
In article <jfjbdv$vcm$1>,
"Roberto Tempesti" <roberto.tempesti> wrote:

> Ho tolto, invece "-ldl" che, come
> ho visto su internet non e' previsto sulla piattaforma FreeBSD.


"The dlopen/dlsym functions are built into libc on FreeBSD, so there's
no need for a libdl"

> Scusa se mi esprimo in un modo approssimativo ma sono completamente a
> digiuno di unix e programmazione c.


Mi sembra perfetto dato che io sono praticamente a digiuno di FreeBSD.
 #6  
23.01.2012, 12:48
Roberto Tempesti
"Andrea D'Amore" <anddam-groupsNOALPASTICCIODICARNE> ha scritto
nel messaggio
news:2012
> In article <jfjbdv$vcm$1>,
> "Roberto Tempesti" <roberto.tempesti> wrote:
>
>> Ho tolto, invece "-ldl" che, come
>> ho visto su internet non e' previsto sulla piattaforma FreeBSD.

>
> "The dlopen/dlsym functions are built into libc on FreeBSD, so there's
> no need for a libdl"
>
>> Scusa se mi esprimo in un modo approssimativo ma sono completamente a
>> digiuno di unix e programmazione c.

>
> Mi sembra perfetto dato che io sono praticamente a digiuno di FreeBSD.


Io lavoro in ambiente AS400 per cui mi sento davvero perso nell'affrontare
questi problemi.

Grazie per l'aiuto
Discussioni simili
Problema compilazione

Ciao Ho un programma scritto in c++ da compilare per gestire un apparato, il produttore ha fornito le librerie e un file di esempio Come prima cosa ho voluto compilare questa...

Problema in compilazione

Salve a tutti. Un amico ha da poco installato linux ed ha provato ad eseguire la compilazione di un software (systemtrayapplet mi pare). Purtroppo ha avuto anche il suo primo...

problema compilazione

Vorrei installare il seguente kernel-2.4.20-18.9, ma ad un certo punto durante la compilazione mi dice Nothing to be done for modules! Se faccio finta di niente e continuo ad...

problema in compilazione

Ciao, ho un semplicissimo salvemondo.java che non riesco a compilare per via del seguente errore: Cannot resolve Symbol. ->il file: import java.io.*; import...


Tutti gli orari sono GMT. Attualmente sono le 08:53. | Privacy Policy