Schrift
[thread]5445[/thread]

module verteilen



<< >> 9 Einträge, 1 Seite
deepblack
 2005-01-16 19:25
#49087 #49087
User since
2004-06-15
46 Artikel
BenutzerIn
[default_avatar]
moin,

ich will benötigte module gleich mit meinem script verteilen, so das benutzer die nicht erst installieren müssen, also hab ich alles wichtige (dbi, imdb::film) etc. in scriptname/modules kopiert.

innerhalb von dem script nehm ich dann
Code: (dl )
1
2
use FindBin;
use lib "$FindBin::Bin/modules";

um den pfad einzubinden, soweit schonmal richtig glaub ich..

nun hat ein kollege von mir aber ein problem mit den versionen,

DBI object version 1.38 does not match $DBI::VERSION 1.46 at /usr/lib/perl5/5.8.4/i686-linux/DynaLoader.pm line 253.

ich weiß net genau ob er nun schon ne alte dbi version installiert hat oder nicht, wie kann ich sowas umgehen?
evtl. perl beibiegen das er nur die module aus modules/ nehmen soll?
ich steh bei dem problem gerademal aufm schlauch..
könnt ihr mal wieder helfen? *g*

mfg ole
We have joy, we have fun, we have a root shell on a SUN!
format_c
 2005-01-16 19:47
#49088 #49088
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Manche Module kannst du nicht einfach kopieren dass sie dann laufen. Machne benötigen Veränderungen in diversen Binaries und Libaries.
Wenn du ein Script mit Standardmodulen 1:1 Portieren willst brauchst du CPAN:PAR

Gruß alex
pq
 2005-01-16 20:13
#49089 #49089
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
oder du packst die module (tar.gz) mit zu deinem script und bastelst ein
simples installationsscript, das im selben verzeichnis liegt
wie das eigentliche script
dort machst du dann folgendes für jedes modul/package:
system("tar -xzf Modul-3.14.tar.gz");
chdir "Modul-3.14";
system ("perl -I$FindBin::Bin/modules Makefile.PL PREFIX=$FindBin::Bin/modules LIB=$FindBin::Bin/modules");
system "make";
system "make test";
system "make install";


edit: oder du benutzt CPAN.pm. damit kann man auch lokal liegende module installieren.\n\n

<!--EDIT|pq|1105899378-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
format_c
 2005-01-16 20:44
#49090 #49090
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Funktioniert dann das make install ohne Rootrechte?

Gruß Alex
deepblack
 2005-01-16 20:57
#49091 #49091
User since
2004-06-15
46 Artikel
BenutzerIn
[default_avatar]
gut par sieht ok aus.. ich kanns nur nicht installieren.. naja aber das bekomm ich auch noch gelöst.. mal schauen ob das dann mit par hinhaut..
We have joy, we have fun, we have a root shell on a SUN!
deepblack
 2005-01-17 16:02
#49092 #49092
User since
2004-06-15
46 Artikel
BenutzerIn
[default_avatar]
also par ist auch net das wahre..
auf nem anderen rechner mit perl:
die executable kann er net ausführen wegen problemem mit der libperl..
./cakemaster_t: error while loading shared libraries: ./cakemaster_t: undefined symbol: Perl_Gsigfpe_saved_ptr

dann nur n par archiv erzeugt und mittels perl -MPAR foo.par foo.pl ausgeführt..
lauter probleme mit par.pm weil ers net finden konnte.. wobei ich extra par mittels emerg installiert hatte..
gibts net ne bessere möglichkeit?\n\n

<!--EDIT|deepblack|1105984845-->
We have joy, we have fun, we have a root shell on a SUN!
ptk
 2005-01-17 20:40
#49093 #49093
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Vielleicht hilft ein Blick in PAR::FAQ oder PAR::Tutorial?
deepblack
 2005-01-17 21:04
#49094 #49094
User since
2004-06-15
46 Artikel
BenutzerIn
[default_avatar]
hab ich mir schon angeschaut, aber schlau bin ich daraus leider nicht geworden...
We have joy, we have fun, we have a root shell on a SUN!
pq
 2005-01-17 23:30
#49095 #49095
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=format_c,16.01.2005, 19:44]Funktioniert dann das make install ohne Rootrechte?[/quote]
überleg mal. das installiert die module in $FindBin::Bin/modules.
wenn die verzeichnisse deine eigenen sind, funktioniert das
selbstverständlich ohne rootrechte.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 9 Einträge, 1 Seite



View all threads created 2005-01-16 19:25.