mal ne vermutung, ohne
export PATH=....
wird der geänderte PATH nicht in folge/child shells übernommen.
versuch mal mit export
(oder --prefix=/usr *g*)
mal ne vermutung, ohne
export PATH=....
wird der geänderte PATH nicht in folge/child shells übernommen.
versuch mal mit export
(oder --prefix=/usr *g*)
QuoteOriginal von memed
mal ne vermutung, ohne
export PATH=....wird der geänderte PATH nicht in folge/child shells übernommen.
versuch mal mit export
(oder --prefix=/usr *g*)
Hi
Auch schon probiert, da es sich wirklich nur um die beiden Sachen handelt, setze ich einfach links /usr/local/bin/PROC -> /usr/bin/PROC, hilft ja alles nix.
Villeicht geht ja auch ein Option von "stow" (-d/-t), habe mir das ganze noch nicht so richtig angeschaut:
Usage: stow [OPTION ...] PACKAGE ...
-n, --no Do not actually make changes
-c, --conflicts Scan for conflicts, implies -n
-d DIR, --dir=DIR Set stow dir to DIR (default is current dir)
-t DIR, --target=DIR Set target to DIR (default is parent of stow dir)
-v, --verbose[=N] Increase verboseness (levels are 0,1,2,3;
-v or --verbose adds 1; --verbose=N sets level)
-D, --delete Unstow instead of stow
-R, --restow Restow (like stow -D followed by stow)
-V, --version Show Stow version number
-h, --help Show this help
Display More
Im Notfall giebts "XSTOW" allerdings muß man für das Dingens eine Schulung besuchen :-), die Optionen sind da umfangreicher.
MFG Ronny
QuoteOriginal von anonymous
Hab ja alles durch probiert, funktioniert, bis auf transfron, und das image plugin.vdr2divx
vdrconvert
vdrrip
mplayer plugin
mp3 pluginAlle kommen klar mit (./usr/local/bin) wie gesagt nur die beiden "zicken" rum.
Zum Mäuse melken.
MFG Ronny
Interessant,
ich hab mir mal gerade im Commandoaufruf mp3-plugin (mount.sh)
und im image-plugins (convert.sh) angeschaut.
mp3) bool res = (system(cmd) == 0);
vis
image) execle("/bin/sh", "sh", "-c", cmd, 0, environ);;
nur sagt man 3 system
system() führt ein Kommando, das in string spezifiziert ist, durch
Aufruf von /bin/sh -c string aus und kehrt zurück wenn das Kommando
beendet ist.
also theorische auf dem selben weg, und es kommt "sh" als gemeinsamer Shellinterpreter zu einsatz (sh => bash)
Testmal bitte in player-image.c (0.0.8) (Zeile 353 / 399 / 519) einen geänderten Shellstart
-execle("/bin/sh", "sh", "-c", cmd, 0, environ);
+system(cmd);
Hoffen wir mal das es damit klappt...
Andreas
Hi
Müßte man das extra etwas ändern im (IMAGE/TRANSFRON) Plugin?
Mit STOW gehts wohl auch über "TARGET":
~ ../VDRtmp/setup/src/stow --verbose=3 --target=/usr faac
Stowing package faac...
Stowing contents of faac
Stowing directory faac/bin
Stowing contents of faac/bin
LINK /usr/bin/faac to ../local/stow/faac/bin/faac
Stowing directory faac/lib
Stowing contents of faac/lib
LINK /usr/lib/libfaac.so.0.0.0 to ../local/stow/faac/lib/libfaac.so.0.0.0
LINK /usr/lib/libfaac.so.0 to ../local/stow/faac/lib/libfaac.so.0
LINK /usr/lib/libfaac.la to ../local/stow/faac/lib/libfaac.la
LINK /usr/lib/libfaac.so to ../local/stow/faac/lib/libfaac.so
LINK /usr/lib/libfaac.a to ../local/stow/faac/lib/libfaac.a
Stowing directory faac/include
Stowing contents of faac/include
LINK /usr/include/faac.h to ../local/stow/faac/include/faac.h
LINK /usr/include/faaccfg.h to ../local/stow/faac/include/faaccfg.h
Display More
Hat nur einen Nachteil, bei "DEINSTALL" muß man ebenfalls den PATH angeben:
Aber das wäre wohl schon einmal eine Lösung, leider keine "TRENNUNG" (SYSTEM/VDR) aber da es nur sehr weniege Sachen betrifft .....
MFG Ronny
QuoteOriginal von anonymous
Müßte man das extra etwas ändern im (IMAGE/TRANSFRON) Plugin?
Ich will nur ausschliessen das es eine Bug im Quellcode ist,
wenn es Bug ist wäre dies zumindest in der nächsten Version
des Image-Plugin behoben...
Wenn sich das Verhalten des Image-Plugins nicht ändert
dann liegt es doch am aufgerufen Shell-Script
und der transfron-Autor freut sich bestimmt auch über eine Bugreport
Cu,
Andreas
also wenn des mit dem 2-zeilen patch klappt mach ich sofort ne 0.0.8a
ansonsten ne super idee endlich mal den /usr/local schmonz zu nutzen, ich wollte den ja schon mehrmals per general dekret aushebeln (cp -R /usr/local/bin /usr/bin;mount --bind /usr/bin /usr/local/bin) ...
Hallo,
ich hoffe ich habe es nicht überlesen - hier hat noch keiner gesagt das es erstmal wichtig ist unter welchem user 'vdr' läuft - etwa root
...denn es gibt unterschiedliche $PATH für user und root (oft eingestellt in /etc/profile).
Ebenfalls beachten: ein $PATH der für einen user gesetzt wird wenn er eine (bash-)Shell startet muss nicht /ist nicht der gleiche der einem Prozess zur Verfügung steht der unter diesem user im Hintergrund läuft.
Ich hoffe ich konnte die Problematik richtig rüberbringen.
Hi
Ich Teste es ein wenig später, kannst Du nochmal genau die Änderung posten?
das:
-----------
execle("/bin/sh", "sh", "-c", cmd, 0, environ);
ersetzen durch das:
------------
system(cmd);
War das richtig?
____________________
Jedenfalls gerade mal die Mjpegtools mit stow installiert, link ist un /usr/bin, damit funktionierts.
Beim ISND Plugin ist auch etwas "FAUL" installiere ich mit --prefix=/usr (mad) bekommt man es übersetzt, ohne prefix (entpricht /usr/local) gehts nicht, message -lmad wird nicht gefunden, möchte meinen im mp3/mplayer plugin wird ebenfalls -lmad benötigt.
Da ist es wiederum egal ob /usr/local oder /usr man bekommts übersetzt.
MFG Ronny
QuoteOriginal von wols
Hallo,
ich hoffe ich habe es nicht überlesen - hier hat noch keiner gesagt das es erstmal wichtig ist unter welchem user 'vdr' läuft - etwa root
...denn es gibt unterschiedliche $PATH für user und root (oft eingestellt in /etc/profile).Ebenfalls beachten: ein $PATH der für einen user gesetzt wird wenn er eine (bash-)Shell startet muss nicht /ist nicht der gleiche der einem Prozess zur Verfügung steht der unter diesem user im Hintergrund läuft.
Ich hoffe ich konnte die Problematik richtig rüberbringen.
Hi
Habs erst einmal nur unter root probiert, aber da es nur einiege Programme betrifft, Denke ich das es auch für den User gilt.
Später mal testen, aber vorschreiben kann man das ja niemanden ob root oder user, manche Programme laufen auch nur root (weiß nicht ob es noch so ist) (bitstream/grafiklcd)?
MFG Ronny
QuoteOriginal von anonymous
-----------
execle("/bin/sh", "sh", "-c", cmd, 0, environ);ersetzen durch das:
------------
system(cmd);War das richtig?
Genau, das war mein gedanke
Mit folgende zwei zusätzlichen Zeilem wird das aufrufen Enviroment angenzeigt...
+for (int i=0; environ[i]!=0; i++)
+ fprintf(stderr,"env= %s\n",environ[i]);
execle("/bin/sh", "sh", "-c", cmd, 0, environ);
aber das sieht man auch mit
XXX-PID-DES-VDR-XXX -> ps -C vdr
+
cat /proc/XXX-PID-DES-VDR-XXX/environ
also cat /proc/1234/environ
Andreas
QuoteOriginal von memed
also wenn des mit dem 2-zeilen patch klappt mach ich sofort ne 0.0.8aansonsten ne super idee endlich mal den /usr/local schmonz zu nutzen, ich wollte den ja schon mehrmals per general dekret aushebeln (cp -R /usr/local/bin /usr/bin;mount --bind /usr/bin /usr/local/bin) ...
Hi
Ja mit "stow" ist alles getrennt, auch mal frisch installiert unter /usr/local nur leere verzeichnisse, würde bedeuten:
rm -rf /usr/local
Und alles ist "clean", dazu kommt noch das man die Source Ordner nicht benötigt, die sonnst für "make uninstall" zwingend waren, soviel zur Theorie, alles geht aber nicht mit "stow" automake/autoconf ist /usr zwingend.
Versionen "switchen" ist wohl das beste, dazu kann man ebend noch so Sachen einbauen, wie INSTALLATION von neuen Sachen ohne ERFOLG -> behalte alte Sourcen in (../stow).
Eine komplette Installation kann man wirklich bequem sichern/einspielen.
Schaue mal beim FRANZOSEN, da habe ich zum ersten mal von stow gelesen, da auf Debian.
MFG Ronny
QuoteOriginal von anonymous
Hi
Habs erst einmal nur unter root probiert, aber da es nur einiege Programme betrifft, Denke ich das es auch für den User gilt.
Später mal testen, aber vorschreiben kann man das ja niemanden ob root oder user, manche Programme laufen auch nur root (weiß nicht ob es noch so ist) (bitstream/grafiklcd)?
MFG Ronny
Mein VDR-1.33 läuft auch noch wegen (älterem) grafiklcd unter root
Aber '/usr/bin' bzw. besser '/user/local/bin' (und Links von dort) sollten für root und user OK sein.
Schreib' bitte nochmal: WAS wird nicht gefunden, WIE genau wird es VON WO als root aufgerufen und WO LIEGT es tatsächlich bzw. von WO zeigt ein Link WOHIN?
Sollten wir noch herausbekommen
Hi
Das Transfron Plugin, findet sämmtliche "Binärys" nicht wenn sie unter /usr/local/bin liegen, folgende fallen mir gerade ein:
transcode
mpeg4ip
vcdimager
faac
(es sind aber mehr)
Unter /usr/bin geht alles seinen Gang, ist somit auch "wurscht" ob Sie als LINK oder "REAL" vorhanden sind.
MFG Ronny
Hm, dann sollte es an der "Art liegen wie das Plugin aufruft"?
Wird da eventuell mit absoluten Pfaden gearbeitet?
Funktioniert es wenn das Programm unter '/usr/local/bin/proggi' liegt und ein Link von '/usr/bin' dorthin zeigt?
Wird da eventuell mit absoluten Pfaden gearbeitet?
---------
Nein das ist ja das kommische.
Funktioniert es wenn das Programm unter '/usr/local/bin/proggi' liegt und ein Link von '/usr/bin' dorthin zeigt?
---------
Müßte ich mal testen, aber beim image plugin funktionierts so, ich denke mal als link in /usr/bin wirds das gleiche sein.
grep faac *
INSTALL:- faac
videomp4.cpp: // TODO: currently faac always segfaults at the end
videomp4.cpp: command = "faac -m4 -pLC -b128 " + tempWav + " " + tempAac;
Im Log steht dann einfach nur exec "$command" oder so ähnlich, gerade ein "nacktes image" eingespielt, kanns auch noch nicht probieren.
MFG Ronny
Hallo
Ich weiß nun auch nicht ob das Sinn macht Plugins wegen der Geschichte zu ändern.
Da es nun einmal die Option "--target=/usr" in "stow" giebt, ist es leichter, die paar Programme auch so zu installieren.
Das der Link in /usr/bin liegt, meine das macht ja letztendlich auch nichts, sind mit stow installiert, und man bekommt sie letztendlich auch sauber wieder runter.
Soviel ist es nicht "vcdimager/transcode/mpeg4ip/faac/mjpegtools/ogmtools".
Falls doch was schief geht, einen "DEADLINK" findet man doch immer.
MFG Ronny
Don’t have an account yet? Register yourself now and be a part of our community!