Repository 32bit  Forum
Repository 64bit  Wiki

compilazione su solaris

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

compilazione su solaris

Messaggioda sbabaro » gio ago 07, 2008 10:33

So che è solaris e non linux, ma volevo comunque chiedere un consulto
sto cercando di compilare sotto solaris una interfaccia open python per chiamate PKCS11 verso librerie in C
Praticamente questa interfaccia utilizza guile per la parte C.
Sotto linux mi si compila senza problemi, sotto solaris mi dà errrori di sintassi nel make, e si ferma ad un certo punto dicendomi che non esiste file in input
C'è qualcuno che ha esperienze di compilazione sotto solaris, disponibile ad aiutarmi?
nel caso posto l'output del make
sbabaro
Packager
Packager
 
Messaggi: 388
Iscritto il: gio set 08, 2005 23:00
Slackware: slack 12.1
Kernel: 2.6.26 ricompilato
Desktop: gslacky

Re: compilazione su solaris

Messaggioda sid77 » gio ago 07, 2008 13:46

io controllerei che versioni di make e di Makefile stai utilizzando.
da come descrivi il problema sembra che il programma che devi compilare si aspetti GNU make, mentre solaris ha BSD make. se è così, di solito si risolve installando il pacchetto che contiene il make di GNU e invocando gmake al posto di make.

ciao
Avatar utente
sid77
Linux 2.6
Linux 2.6
 
Messaggi: 568
Iscritto il: mar mag 31, 2005 23:00
Località: PowerPC
Slackware: 12.0/12.1/curr (ppc)

Re: compilazione su solaris

Messaggioda Mario Vanoni » gio ago 07, 2008 14:07

sid77 ha scritto:io controllerei che versioni di make e di Makefile stai utilizzando.
da come descrivi il problema sembra che il programma che devi compilare si aspetti GNU make, mentre solaris ha BSD make. se è così, di solito si risolve installando il pacchetto che contiene il make di GNU e invocando gmake al posto di make.

ciao


Esatto, dai tempi di AT&T UNIX!

Compila le utilities GNU con il prefisso "g",
nei Makefile in generis e` previsto,
dopo hai make, gmake, cc, gcc, find, gfind ecc.
e compili ogni GPL senza problemi.
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: compilazione su solaris

Messaggioda sbabaro » gio ago 07, 2008 15:34

allora, il problema sembra legato all'estensione dei file
essendo file c++, l'estensione dei file da compilare è cpp
cc di sun non li riconosce
sbabaro
Packager
Packager
 
Messaggi: 388
Iscritto il: gio set 08, 2005 23:00
Slackware: slack 12.1
Kernel: 2.6.26 ricompilato
Desktop: gslacky

Re: compilazione su solaris

Messaggioda sbabaro » gio ago 07, 2008 15:40

sto provando ad usare il comando CC per compilare al posto di cc
Codice: Seleziona tutto
/usr/bin/CC -i -xO4 -xspace -xstrconst -xarch=v8a -mr -DANSICPP -D__STDC_VERSION__=199409L -DNDEBUG -O -Isrc -I/usr/sfw/include/python2.3 -c src/utility.cpp -o build/temp.solaris-2.10-sun4u-2.3/src/utility.o
CC: Warning: Option -xstrconst passed to ld, if ld is invoked, ignored otherwise
CC: Warning: -O overwrites previously set optimization level of -O4
"src/pykcs11string.h", line 24: Error: Multiple declaration for PyKCS11String.
"src/pykcs11string.h", line 31: Error: Multiple declaration for PyKCS11String.
2 Error(s) detected.
/usr/ccs/bin/mcs: build/temp.solaris-2.10-sun4u-2.3/src/utility.o: cannot open file.
        File o directory non trovati
error: command '/usr/bin/CC' failed with exit status 3


il problema è che non sto capendo molto bene cosa succede

tra l'altro se provo con gcc mi dà altri errori
sbabaro
Packager
Packager
 
Messaggi: 388
Iscritto il: gio set 08, 2005 23:00
Slackware: slack 12.1
Kernel: 2.6.26 ricompilato
Desktop: gslacky

Re: compilazione su solaris

Messaggioda Mario Vanoni » gio ago 07, 2008 16:33

sbabaro ha scritto:sto provando ad usare il comando CC per compilare al posto di cc
Codice: Seleziona tutto
/usr/bin/CC -i -xO4 -xspace -xstrconst -xarch=v8a -mr -DANSICPP -D__STDC_VERSION__=199409L -DNDEBUG -O -Isrc -I/usr/sfw/include/python2.3 -c src/utility.cpp -o build/temp.solaris-2.10-sun4u-2.3/src/utility.o
CC: Warning: Option -xstrconst passed to ld, if ld is invoked, ignored otherwise
CC: Warning: -O overwrites previously set optimization level of -O4
"src/pykcs11string.h", line 24: Error: Multiple declaration for PyKCS11String.
"src/pykcs11string.h", line 31: Error: Multiple declaration for PyKCS11String.
2 Error(s) detected.
/usr/ccs/bin/mcs: build/temp.solaris-2.10-sun4u-2.3/src/utility.o: cannot open file.
        File o directory non trovati
error: command '/usr/bin/CC' failed with exit status 3


il problema è che non sto capendo molto bene cosa succede

tra l'altro se provo con gcc mi dà altri errori


Hai compilata la GNU Compilation Collection con cc(1) di Solaris?
Il tuo CC e` una copia/un link a gcc?

Sotto Linux per i codici *.cpp esiste g++ quale compilatore,
un link OK, ma specifico per programmi C++.
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: compilazione su solaris

Messaggioda sbabaro » gio ago 07, 2008 16:54

sulla macchina solaris ho installato il sun studio
ho fatto
Codice: Seleziona tutto
export CC=/usr/bin/CC

ed ora inizia a compilare

Il problema è che mi dà
Codice: Seleziona tutto
"src/pykcs11string.h", line 24: Error: Multiple declaration for PyKCS11String.
"src/pykcs11string.h", line 31: Error: Multiple declaration for PyKCS11String.

questo perchè diversi file fanno include dello stesso punto h
ho provato a modificare mettendo a tutte le chiamate di quell'include una cosa di questo genere
Codice: Seleziona tutto
#ifndef _PYKCS11STRING
#include "pykcs11string.h"
#define _PYKS11STRING
#endif

ma mi ignora

Ho provato ad eliminare (remmando) le chiamate all'include del file incriminato, e mi compila il primo file, poi al secondo si pianta
Il problema è che tra l'altro non riesco a trovare dove è definito il flusso di compilazione, visto che questo è il Makefile
Codice: Seleziona tutto
# give some default values
PREFIX ?= /usr
DESTDIR ?= /

build: src/unix_pykcs11_wrap.cpp
        python setup.py build

install: build
        python setup.py install --prefix=$(PREFIX) --root=$(DESTDIR)

clean:
        python setup.py clean
        rm -f src/unix_pykcs11_wrap.cpp
        rm -rf build

rebuild: clean build

src/unix_pykcs11_wrap.cpp: src/pykcs11.i
        cd src ; swig -c++ -python pykcs11.i ; mv pykcs11_wrap.cxx unix_pykcs11_wrap.cpp ; mv PyKCS11.py ..

src/pykcs11.i: src/rsaref/cryptoki.h src/pkcs11lib.h src/pykcs11string.h src/ck_attribute_smart.h

mentre il setup.py è

Codice: Seleziona tutto
# python setup.py install --root=/tmp/p
# PYTHONPATH=/tmp/p/usr/lib/python2.4/site-packages python test.py

from distutils.core import setup, Extension

setup(name="PyKCS11", version="1.0.2",
        ext_modules=[
                Extension(
                        "_PyKCS11",
                        ["src/ck_attribute_smart.cpp", "src/pkcs11lib.cpp",
                        "src/pykcs11string.cpp", "src/unix_pykcs11_wrap.cpp",
                        "src/utility.cpp", "src/dyn_unix.c"],
                        include_dirs = ["src"],
                        libraries = ["python2.4"]
                )
        ],
        py_modules=["PyKCS11"],
)


considera che il primo file che inizia a compilare è "src/utility.cpp",
sbabaro
Packager
Packager
 
Messaggi: 388
Iscritto il: gio set 08, 2005 23:00
Slackware: slack 12.1
Kernel: 2.6.26 ricompilato
Desktop: gslacky


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron