exif-0.6.9 kompilieren: PKG_CONFIG_PATH definieren
Ich habe libexif-0.6.10 ohne weitere Optionen kompiliert und dabei merkte ich keine Probleme. chmod 644 /usr/local/lib/libexif.a PATH="$PATH:/sbin" ldconfig -n /usr/local/lib ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/lib Hier sind also die aktuelleren Dateien ls -1 /usr/local/lib/* /usr/local/lib/libexif.a /usr/local/lib/libexif.la /usr/local/lib/libexif.so /usr/local/lib/libexif.so.10 /usr/local/lib/libexif.so.10.0.0 und hier die durch SuSE installierten. ls -1 /usr/lib/libexif* /usr/lib/libexif-gtk.la /usr/lib/libexif-gtk.so /usr/lib/libexif-gtk.so.4 /usr/lib/libexif-gtk.so.4.0.0 /usr/lib/libexif.la /usr/lib/libexif.so /usr/lib/libexif.so.9 /usr/lib/libexif.so.9.1.2 Ich möchte nun "SuSE-exif" bestehen lassen, und alternativ die neuere exif-Version aufrufen können. Beim "configure" von exif-0.6.9 kommt es dann zu u.a. Fehlermeldung. Ich verstehe zwar nicht ganz, warum libexif nicht im Pfad sein soll, aber ich könnte ja mal probieren die Variable PKG_CONFIG zu definieren. Nur wo bzw. wie? checking for pkg-config... no *** The pkg-config script could not be found. Make sure it is *** in your path, or set the PKG_CONFIG environment variable *** to the full path to pkg-config. *** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config. configure: error: Library requirements (libexif >= 0.6.9) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them. Al
Hallo, Am Wed, 13 Oct 2004, Al Bogner schrieb:
Ich habe libexif-0.6.10 ohne weitere Optionen kompiliert und dabei merkte ich keine Probleme.
Welche SuSE? [..]
Hier sind also die aktuelleren Dateien ls -1 /usr/local/lib/* /usr/local/lib/libexif.a /usr/local/lib/libexif.la /usr/local/lib/libexif.so /usr/local/lib/libexif.so.10 /usr/local/lib/libexif.so.10.0.0
Gibt's auch ein '/usr/local/lib/pkgconfig/libexif*.pc'?
checking for pkg-config... no *** The pkg-config script could not be found.
Dir fehlt pkg-config oder es ist nicht im Pfad. Also Pfad anpassen oder pkgconfig nachinstallieren. Ausserdem muss pkg-config dann auch das .pc der libexif finden, d.h. du musst PKG_CONFIG_PATH dann ggfs. anpassen. Bei mir sieht's z.B. so aus (gnome2 und pkg-config sind in /opt/gnome2): $ echo $PKG_CONFIG_PATH /opt/gnome2/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/lib/pkgconfig -dnh BTW: pkgconfig-0.12 müsste reichen. -- Warning: Some of my best mistakes are yet to be made.
Am Donnerstag, 14. Oktober 2004 03:00 schrieb David Haller:
Hallo,
Am Wed, 13 Oct 2004, Al Bogner schrieb:
Ich habe libexif-0.6.10 ohne weitere Optionen kompiliert und dabei merkte ich keine Probleme.
Welche SuSE?
SuSE 9.1
[..]
Hier sind also die aktuelleren Dateien ls -1 /usr/local/lib/* /usr/local/lib/libexif.a /usr/local/lib/libexif.la /usr/local/lib/libexif.so /usr/local/lib/libexif.so.10 /usr/local/lib/libexif.so.10.0.0
Gibt's auch ein '/usr/local/lib/pkgconfig/libexif*.pc'?
ls /usr/local/lib/pkgconfig/libexif*.pc /usr/local/lib/pkgconfig/libexif.pc
checking for pkg-config... no *** The pkg-config script could not be found.
Dir fehlt pkg-config oder es ist nicht im Pfad. Also Pfad anpassen oder pkgconfig nachinstallieren.
pkgconfig ist nun nachinstalliert. checking for libexif >= 0.6.9... Requested 'libexif >= 0.6.9' but version of libexif is 0.5.12 configure: error: Library requirements (libexif >= 0.6.9) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
Ausserdem muss pkg-config dann auch das .pc der libexif finden,
das ist in /usr/local/lib/pkgconfig/ (vgl. oben)
d.h. du musst PKG_CONFIG_PATH dann ggfs. anpassen. Bei mir sieht's z.B. so aus (gnome2 und pkg-config sind in /opt/gnome2):
$ echo $PKG_CONFIG_PATH
/opt/gnome2/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/lib/pkgco nfig
echo $PKG_CONFIG_PATH /opt/gnome/lib/pkgconfig Mir ist noch nicht klar welche Datei ich zu editieren habe und was ich da alles reinschreiben soll. Es geht übrigens um exif --ifd=EXIF --tag=0x9286 --set-value="testing-the-comment" \ "$TEMPNEWNAME" Mit der Suse-Version (exif-0.6-108) kommt die Meldung "not implemented yet" und es gibt einen Bug, wenn wenn --set-value Leerzeichen enthält, wenn man zB folgendes macht: exif --ifd=EXIF --tag=0x013b \ --set-value="Ein mieserabler Fotograf" test.jpg In diesem Fall findet man nur "Ein" wieder. Mann kann damit also bei Digitalfotos eintragen, wer das Foto gemacht hat, wenn die Kamera das nicht unterstützt. Mein Workaround, ich verwende eine email-Adresse. Bei anderen editierbaren Exif-Feldern kann man Leerzeichen nicht so einfach übergehen. exif --ifd=EXIF --tag=0x010e \ --set-value="my_image_description" test.jpg Hier wird der Tag "0x010e" ein _2._ Mal angelegt und der 1. nicht editiert. Bei einem weiteren Editieren wird immer der 2. Tag verändert, so als ob der 1. Eintrag eine andere ID hätte. Das sieht dann zB so aus: exif test.jpg.modified.jpeg | grep "Image Description" Image Description |KONICA MINOLTA DIGITAL CAMERA Image Description |my_image_description exif -i test.jpg.modified.jpeg | grep "0x010e" 0x010e|KONICA MINOLTA DIGITAL CAMERA 0x010e|my_image_description Da mir kein guter Workaround für den doppelten Eintrag einfällt und ich auch "0x9286 User Comment" verwenden möchte, versuche ich es mit einem neueren exif. Achtung 0x9286 ist ein anderer Kommentar, als der den wrjpgcom erzeugt. Letzterer ist bei "mouse over" im Konqueror sichtbar, ersterer nicht. In 0x9286 möchte ich dokumentieren, dass das Bild bereits optimiert (zB geschärft) wurde und daher nicht mehr von einem Script verändert wird. Außer diesen 3 Tags, die theoretisch editierbar sein sollten, keine ich keine Tags, wo man sinvoll eigene Ergänzungen machen könnte. exif -l test.jpg listet die IDs und Beschreibungen der Tags. Al
Am Donnerstag, 14. Oktober 2004 13:26 schrieb Al Bogner:
exif --ifd=EXIF --tag=0x010e \ --set-value="my_image_description" test.jpg Hier wird der Tag "0x010e" ein _2._ Mal angelegt und der 1. nicht editiert. Bei einem weiteren Editieren wird immer der 2. Tag verändert, so als ob der 1. Eintrag eine andere ID hätte.
Das sieht dann zB so aus: exif test.jpg.modified.jpeg | grep "Image Description" Image Description |KONICA MINOLTA DIGITAL CAMERA Image Description |my_image_description
exif -i test.jpg.modified.jpeg | grep "0x010e" 0x010e|KONICA MINOLTA DIGITAL CAMERA 0x010e|my_image_description
Die Ursache ist geklärt, die Kamera schreibt nicht nur mit "--ifd=EXIF", sondern manchmal auch mit "--ifd=0" Al
Hallo, Am Thu, 14 Oct 2004, Al Bogner schrieb:
Am Donnerstag, 14. Oktober 2004 03:00 schrieb David Haller:
Am Wed, 13 Oct 2004, Al Bogner schrieb: [..]
Hier sind also die aktuelleren Dateien ls -1 /usr/local/lib/* /usr/local/lib/libexif.a /usr/local/lib/libexif.la /usr/local/lib/libexif.so /usr/local/lib/libexif.so.10 /usr/local/lib/libexif.so.10.0.0
Gibt's auch ein '/usr/local/lib/pkgconfig/libexif*.pc'?
ls /usr/local/lib/pkgconfig/libexif*.pc /usr/local/lib/pkgconfig/libexif.pc
Ok.
checking for pkg-config... no *** The pkg-config script could not be found.
Dir fehlt pkg-config oder es ist nicht im Pfad. Also Pfad anpassen oder pkgconfig nachinstallieren.
pkgconfig ist nun nachinstalliert. checking for libexif >= 0.6.9... Requested 'libexif >= 0.6.9' but version of libexif is 0.5.12 configure: error: Library requirements (libexif >= 0.6.9) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
Dein exif will eine neuere libexif als die installierte.
echo $PKG_CONFIG_PATH /opt/gnome/lib/pkgconfig
Mir ist noch nicht klar welche Datei ich zu editieren habe und was ich da alles reinschreiben soll.
In die /etc/profile.local. Obiger PKG_CONFIG_PATH wird in /etc/profile.d/gnome-filesystem.sh gesetzt. Da diese Datei aber vor profile.local eingelesen wird kannst du dann den Pfad noch ergaenzen: ==== for dir in \ /usr/local/lib/pkgconfig \ /usr/lib/pkgconfig do test -d "$dir" && PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$dir" done unset dir export PKG_CONFIG_PATH ==== Oder die simple Version: PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig" -dnh -- "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head." Terry Pratchett -- "Maskerade"
Am Donnerstag, 14. Oktober 2004 19:56 schrieb David Haller:
Oder die simple Version:
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/l ib/pkgconfig"
Na, dann probiere ich mal das. Configure ist nun durchgelaufen, aber bei make hängt es nun. main.c:27:18: popt.h: No such file or directory main.c: In function `main': main.c:254: error: `poptContext' undeclared (first use in this function) main.c:254: error: (Each undeclared identifier is reported only once main.c:254: error: for each function it appears in.) main.c:254: error: parse error before "ctx" main.c:257: error: elements of array `options' have incomplete type main.c:259: error: `POPT_AUTOHELP' undeclared (first use in this function) main.c:259: error: parse error before '{' token main.c:259: warning: missing braces around initializer main.c:259: warning: (near initialization for `options[1]') main.c:259: warning: excess elements in struct initializer main.c:259: warning: (near initialization for `options[1]') main.c:259: error: `POPT_ARG_NONE' undeclared (first use in this function) main.c:259: warning: excess elements in struct initializer main.c:259: warning: (near initialization for `options[3]') main.c:259: warning: excess elements in struct initializer main.c:259: warning: (near initialization for `options[4]') main.c:260: warning: excess elements in struct initializer main.c:260: warning: (near initialization for `options[5]') main.c:260: warning: excess elements in struct initializer main.c:260: warning: (near initialization for `options[6]') main.c:257: error: array size missing in `options' main.c:257: error: storage size of `options' isn't known main.c:261: error: parse error before '{' token main.c:303: error: `ctx' undeclared (first use in this function) main.c:303: warning: implicit declaration of function `poptGetContext' main.c:304: warning: implicit declaration of function `poptSetOtherOptionHelp' main.c:305: warning: implicit declaration of function `poptGetNextOpt' main.c:314: warning: implicit declaration of function `poptPrintHelp' main.c:354: warning: implicit declaration of function `poptGetArgs' main.c:354: warning: assignment makes pointer from integer without a cast main.c:581: warning: implicit declaration of function `poptFreeContext' main.c:257: warning: unused variable `options' make[2]: *** [main.o] Error 1 make[2]: Leaving directory `/usr/src/packages/SOURCES/exif-0.6.9/exif' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/packages/SOURCES/exif-0.6.9' make: *** [all] Error 2 Irgendwie sieht es danach aus, dass ich mit meinem alten exif zufrieden geben soll :-) Übrigens, wenn _vor_ ImageMagick mit jhead oder wrjpgcom der Kommentar verändert wird, dann gehen die exif-Informationen verloren. ImageMagick habe ich informiert. Al
Am Donnerstag, 14. Oktober 2004 21:02 schrieb Al Bogner:
Am Donnerstag, 14. Oktober 2004 19:56 schrieb David Haller:
Oder die simple Version:
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/l ib/pkgconfig"
Na, dann probiere ich mal das.
Configure ist nun durchgelaufen, aber bei make hängt es nun.
main.c:27:18: popt.h: No such file or directory
Das Paket nennt sich popt :-) (bzw popt-devel) Gruß Harald
Am Donnerstag, 14. Oktober 2004 21:20 schrieb Harald Huthmann:
Am Donnerstag, 14. Oktober 2004 21:02 schrieb Al Bogner:
Am Donnerstag, 14. Oktober 2004 19:56 schrieb David Haller:
Oder die simple Version:
PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/u sr/l ib/pkgconfig"
Na, dann probiere ich mal das.
Configure ist nun durchgelaufen, aber bei make hängt es nun.
main.c:27:18: popt.h: No such file or directory
Das Paket nennt sich popt :-) (bzw popt-devel)
Danke, hat funktioniert und mit dem neuen Exif sieht es so aus als ob der "Space-Bug" behoben ist. Ich habe es aber nur an 1 Beispiel beim Copyright getestet. Al
Hallo, Am Thu, 14 Oct 2004, Al Bogner schrieb:
Am Donnerstag, 14. Oktober 2004 19:56 schrieb David Haller: [..] Configure ist nun durchgelaufen, aber bei make hängt es nun.
main.c:27:18: popt.h: No such file or directory main.c: In function `main': main.c:254: error: `poptContext' undeclared (first use in this function) [..]
pin libpopt Nachinstallieren. Dann sollt' es durchlaufen. -dnh -- Life is full of small and large disappointments, and then you die. -- M. Andrews
participants (3)
-
Al Bogner
-
David Haller
-
Harald_mail@t-online.de