suche pkg-config

Post Reply
Message
Author
der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

suche pkg-config

#1 Post by der-schutzhund »

Hallo,

kann mir jemand sagen, wo sich "pkg-config" versteckt.
Ich möchte ein Programm compilieren welches qt 4.5 oder höher benötigt und dafür wid auch pkg-config benötigt.
In welchem pet versteckt es sich??

LG

Wolfgang

User avatar
rhadon
Posts: 1292
Joined: Thu 27 Mar 2008, 11:05
Location: Germany

#2 Post by rhadon »

Hallo Wolfgang,

in Slacko ist es in der devx.sfs, in /usr/bin. Ob es bei Lazy Puppy auch dort ist, weiss ich nicht.

Falls nicht, hier eine kurze Beschreibung mit Link, wo du's runterladen kannst.

Hoffe, es hilft dir weiter,
Rolf
Ich verwende "frugal", und das ist gut so. :wink:
Raspberry Pi without Puppy? No, thanks.

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#3 Post by der-schutzhund »

rhadon wrote:Hallo Wolfgang,

in Slacko ist es in der devx.sfs, in /usr/bin. Ob es bei Lazy Puppy auch dort ist, weiss ich nicht.

Falls nicht, hier eine kurze Beschreibung mit Link, wo du's runterladen kannst.

Hoffe, es hilft dir weiter,
Rolf
Hallo Rolf,

gute Info! Es ist in LP2_devx.sfs enthalten!
Vielleicht hast du noch einen Tip für mich?
sh-4.1# pkg-config --modversion QtCore
Package QtCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `QtCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'QtCore' found
Wo kann ich den Pfad "/opt/qt4/lib/pkgconfig/QtCore.pc" für PKG_CONFIG_PATH definieren?

LG

Wolfgang

User avatar
rhadon
Posts: 1292
Joined: Thu 27 Mar 2008, 11:05
Location: Germany

#4 Post by rhadon »

Wenn ich
pkg-config --help aufrufe, erhalte ich u.a.

Code: Select all

--define-variable=NAME=VALUE          set variable NAME to VALUE
ich würde es mit

Code: Select all

--define-variable=PKG_CONFIG_PATH=/opt/qt4/lib/pkgconfig/
versuchen (vielleicht den letzten Slash weglassen).

Allerdings kenne ich pkg-config nicht, und soo viel habe ich bis jetzt auch nicht kompiliert, ist also nur geraten.

Vielleicht hilfts ja trotzdem,
Rolf
Ich verwende "frugal", und das ist gut so. :wink:
Raspberry Pi without Puppy? No, thanks.

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#5 Post by Karl Godt »

Ist dies QT überhaupt in /opt ?
/etc/profile wrote:#100622 PKG_CONFIG_PATH is determined in 3builddistro (Woof), written to /etc/profile.d/pkgconfig

Code: Select all

export PKG_CONFIG_PATH="/opt/Qt/lib/pkgconfig:$PKG_CONFIG_PATH"
./configure
make mess || make
new2dir make install
make clean
Schomstink leik diss ..

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#6 Post by der-schutzhund »

Hallo Karl Godt,

> ist dies QT überhaupt in /opt?
Wenn ich nach QtCore.pc suche dann wird die Datei gefunden in /opt/qt4/lib/pkgconfig/
Die Frage ist jetzt nur in welcher Datei ich den Pfad wie eintragen muss???

Welche Funktion hat der Code den du angegeben hast?

Hallo Rolf:
In welcher Datei soll ich deine Zeile eintragen?

LG

Wolfgang

User avatar
rhadon
Posts: 1292
Joined: Thu 27 Mar 2008, 11:05
Location: Germany

#7 Post by rhadon »

der-schutzhund wrote:Hallo Rolf:
In welcher Datei soll ich deine Zeile eintragen?
In keiner Datei. :shock:
Du hast pkg-config mit der Option --modversion QtCore aufgerufen. Gibst du pkg-config mit der Option --help ein, erhälst du eine Auflistung möglicher Optionen (daher meine Weisheit :wink: ). Ich denke mir nun, dass

Code: Select all

pkg-config --modversion QtCore --define-variable=PKG_CONFIG_PATH=/opt/qt4/lib/pkgconfig/

vielleicht hilft. Vielleicht musst du den letzten Slash weglassen, evtl. QtCore.pc anfügen..., vielleicht irre ich mich auch. Ist nur eine Vermutung.

Viel Glück,
Rolf
Ich verwende "frugal", und das ist gut so. :wink:
Raspberry Pi without Puppy? No, thanks.

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#8 Post by Karl Godt »

Meine momentane Puppy hat ein /etc/profile.d/pkgconfig file.
Der sieht so aus :

Code: Select all

export PKG_CONFIG_PATH='/usr/lib/pkgconfig:/usr/X11R7/lib/pkgconfig'
Mehr nicht.

Der könnte so aussehen :

Code: Select all

#!/bin/bash

echo $PKG_CONFIG_PATH
#unset PKG_CONFIG_PATH
PKG_CONFIG_PATH='';
echo $PKG_CONFIG_PATH

while read file; 
do echo "$file"; 
[ "$file" ] || continue 
PKG_CONFIG_PATH="$PKG_CONFIG_PATH"':'"$file"
done<<EOI
$(find / -maxdepth 4 -type d -name pkgconfig)
EOI

PKG_CONFIG_PATH="${PKG_CONFIG_PATH/#:/}"
PKG_CONFIG_PATH="${PKG_CONFIG_PATH/%:/}"

echo "$PKG_CONFIG_PATH"

export PKG_CONFIG_PATH
absafen als /etc/profile.d/pkgconfig und wenn rxvt started grüsst es mich

/mnt/sda7/lib/pkgconfig
/mnt/sda6/lib/pkgconfig
/usr/lib/pkgconfig
/usr/share/pkgconfig
/usr/X11R7/lib/pkgconfig
/mnt/sda7/lib/pkgconfig:/mnt/sda6/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/X11R7/lib/pkgconfig


export ed wird in der momentanen shell . /etc/profile source es die Mappe /etc/profile.d/ mit seinen Fussel-Dateien (Files=Späne) .

Du kannst auch so configurieren :

Code: Select all

PKG_CONFIG_PATH=/opt/qt4/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/X11R7/lib/pkgconfig ./configure
anstatt zu export en.
Notiere : Eine Zeile ! ( Falls der Brauser umbrechen tut )
Welche Funktion hat der Code den du angegeben hast?
Und Du wolltest doch make n , oder nicht ?

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#9 Post by der-schutzhund »

Ok, also wenn ich im Terminal eingebe:

Code: Select all

PKG_CONFIG_PATH=/opt/qt4/lib/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/X11R7/lib/pkgconfig ./configure
eingabe dann kommt die Fehlemeldung:
./configure: No such file or directory
Im Verzeichnis /etc/profile.de befinden sich zwei Dateien: pkgconfig und README.txt
in die pkgconfig habe ich mal eingegeben:

Code: Select all

#!/bin/bash

echo $PKG_CONFIG_PATH
#unset PKG_CONFIG_PATH
PKG_CONFIG_PATH='';
echo $PKG_CONFIG_PATH

while read file;
do echo "$file";
[ "$file" ] || continue
PKG_CONFIG_PATH="$PKG_CONFIG_PATH"':'"$file"
done<<EOI
$(find / -maxdepth 4 -type d -name pkgconfig)
EOI

PKG_CONFIG_PATH="${PKG_CONFIG_PATH/#:/}"
PKG_CONFIG_PATH="${PKG_CONFIG_PATH/%:/}"

echo "$PKG_CONFIG_PATH"

export PKG_CONFIG_PATH 
Dann ausführbar gemacht. Beim Start im Terminal kommt dann eine ähnliche Auflistung wie bei dir!
Bei

Code: Select all

pkg-config --modversion QtCore
kommt aber weiterhin die folgende Fehlermeldung:
Package QtCore was not found in the pkg-config search path.
Perhaps you should add the directory containing `QtCore.pc'
to the PKG_CONFIG_PATH environment variable
No package 'QtCore' found
LG

Wolfgang

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#10 Post by Karl Godt »

Ich richte gerade einen TastaturPc ein, mit recht alten Voll-Installationen und nem Dutzend Fraggles.

Gerade habe ich dies auf ner Voll Partition :

bash-3.2# echo $PKG_CONFIG_PATH
/usr/lib/pkgconfig:
/opt/qt4/lib/pkgconfig:/opt/mozilla.org/lib/pkgconfig

bash-3.2# pkg-config --modversion QtCore.pc
Failed to open 'QtCore.pc': No such file or directory
No package 'QtCore.pc' found


bash-3.2# pkg-config --modversion QtCore
4.3.2


bash-3.2# pkg-config --version
0.22


Code: Select all

pkg-config --debug --print-errors --modversion QtCore
gibt eine Sintflut an Botschaften, das Ende ist so bei mir :

Looking for package 'QtCore'
Looking for package 'QtCore-uninstalled' :?:
Reading 'QtCore' from file '/opt/qt4/lib/pkgconfig/QtCore.pc'
Parsing package file '/opt/qt4/lib/pkgconfig/QtCore.pc'
line>prefix=/opt/qt4
Variable declaration, 'prefix' has value '/opt/qt4'
line>exec_prefix=${prefix}
Variable declaration, 'exec_prefix' has value '/opt/qt4'
line>libdir=//opt/qt4/lib
Variable declaration, 'libdir' has value '//opt/qt4/lib'
line>includedir=${prefix}/include/QtCore
Variable declaration, 'includedir' has value '/opt/qt4/include/QtCore'
line>qt_config=lex yacc warn_on uic resources qt warn_on release incremental link_prl no_mocdepend release stl qt_no_framework system-sqlite release shared dll largefile stl precompile_header separate_debug_info mmx 3dnow sse sse2 dylib create_prl link_prl depend_includepath QTDIR_build qt_install_headers qt warn_on depend_includepath qmake_cache target_qt hide_symbols create_libtool create_pc explicitlib moc thread shared dll
Variable declaration, 'qt_config' has value 'lex yacc warn_on uic resources qt warn_on release incremental link_prl no_mocdepend release stl qt_no_framework system-sqlite release shared dll largefile stl precompile_header separate_debug_info mmx 3dnow sse sse2 dylib create_prl link_prl depend_includepath QTDIR_build qt_install_headers qt warn_on depend_includepath qmake_cache target_qt hide_symbols create_libtool create_pc explicitlib moc thread shared dll'
line>moc_location=/opt/qt4/bin/moc
Variable declaration, 'moc_location' has value '/opt/qt4/bin/moc'
line>uic_location=/opt/qt4/bin/uic
Variable declaration, 'uic_location' has value '/opt/qt4/bin/uic'
line>
line>Name: Qtcore
line>Description: Qtcore Library
line>Version: 4.3.2
line>Libs: -L${libdir} -lQtCore -L//opt/qt4/lib -lz -lm -pthread -L/opt/gnome2/lib -lgthread-2.0 -lrt -lglib-2.0 -lpthread -ldl
line>Cflags: -DQT_SHARED -I/opt/qt4/include -I${includedir}
line>
Path position of 'Qtcore' is 2
Package Qtcore has -I/opt/qt4/include in Cflags
Removing -I/opt/qt4/include from cflags for QtCore :?:
Adding 'QtCore' to list of known packages, returning as package 'QtCore'
./configure: No such file or directory
Ist natürlich im Kompilierungs-Ordner zu machen.

Und sonst weiß ich auch nicht . Bist Du root oder wolfgang ?
Hast Du mehrere Qt Versionen überall in der Installation ausgesät ?

Qt ist DOOF !
Versuche mit --disable-qt --enable gtk
.

Code: Select all

/configure --help
Wenn es überhaupt ein ./configure script gibt.
So wie ich lese braucht es vielleicht qmake und nicht make .

Wattn komplizierter Sch*** !

Opera Brauser braucht Qt, aber der ist ob seiner Funktionen wie Seamonkey, doch Seamonkey find ich besser !

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#11 Post by der-schutzhund »

Ja, is irgendwie allgemein Mist!

Ich will doch nur ein aktuelles Gambas erzeugen!

http://sourceforge.net/projects/gambas/ ... 2/download

Jemand vom Gambasclub.de hat mir das script gegeben:
Leider nein, vorgefertigt wuesste ich nichts. Auf der Seite der unterstuetzten Distributionen gibt es keinen Eintrag. Ich wusste bis gestern nicht einmal um PuppyLinux.

Die allgemeine Installation ist auf [0] beschrieben.

1) Du brauchst zuerst die Quelltexte. Wenn du nicht so experimentierfreudig bist, dann solltest du zur aktuell stabilen Version greifen [1].
2) Bei der Installation der Abhaengigkeiten fuer Kompilierung und Betrieb der Komponenten kann ich dir nicht helfen. Das haengt von deiner Distribution ab. Liste findest du aber auf [0]. Wenn dein PuppyLinux Ubuntu-Repositorien ansteuert, dann kannst du ja auch bei den Ubuntu-spezifischen Paketlisten nachschauen.
3) Wenn alles an seinem Platz ist, dann muss die Gambas-Kompilierung konfiguriert und vollzogen werden. Da du keine normale Installation willst, sondern ein Verzeichnis mit allen generierten Dateien, um daraus ein Installationspaket fuer deine Distribution zu machen, ist das marginal komplizierter:

Code: Alles auswählen
cd /pfad/zu/quelltexten
mkdir $HOME/gambas-puppylinux
./reconf-all && ./configure --prefix=$HOME/gambas-puppylinux && make && make install



Das erstellt zuerst ein Verzeichnis $HOME/gambas-puppylinux. Das "./configure"-Kommando konfiguriert den Kompilierungsprozess so, dass alle Dateien in diesem Ordner installiert werden. Danach wird kompiliert und installiert. Die lange Verkettung der Kommandos sorgt dafuer, dass man in der Zeit, die die Kompilierung braucht, getrost etwas anderes tun kann - das dauert fuer gewoehnlich beim ersten Mal.

4) Danach hast du $HOME/gambas-puppylinux eine Verzeichnishierarchie, die alle Dateien enthaelt, die bei der Gambas-Installation erstellt wurden. Daraus muesste sich dann ein distributionsspezifisches Installationspaket machen lassen - wie auch immer das fuer PuppyLinux funktioniert.

Zwei Anmerkungen noch, fuer den Fall, dass du es nicht wissen solltest: "make -jX" veranlasst "make", mit X Threads zu laufen. Wenn deine Maschine mehrere Prozessoren besitzt, solltest du mit dem Gedanken spielen, X entsprechend zu setzen. "./configure" kann benutzt werden, um einige Komponenten abzuschalten, wenn man sie nicht braucht oder ihre Abhaengigkeiten nicht installieren will. Ein "./configure --help" listet alle moeglichen "--enable-irgendwas" und "--disable-irgendwas" auf. Per Voreinstellung wird alles kompiliert.

PS: Wenn es klappt, dann kann ich PuppyLinux als offiziell "zur Kompilierung taugliche" Distribution eintragen. Vielleicht kannst du Gambas-Pakete sogar in die PuppyLinux-Repositorien einbinden?

Bei der Version 2.7 muss es doch auch irgendwie funktioniert haben.
Habe selbst halt noch nie etwas compiliert!

LG

Wolfgang

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#12 Post by Karl Godt »

http://packages.debian.org/source/sid/gambas3
Da ist ja ein Heroinsüchtiger besser bedient bei all den Abhängigkeiten.. :lol:

Hab mal eins aus der Mitte genommen : 2-2.9.0

1) Hat kein eigenes ./reconf-all Skrip, sondern ist gelinkt zo reconf Schrieb, welches folgendermaßen aussieht :

Code: Select all

#!/bin/sh

rm -f config.cache
rm -f acconfig.cache

autoreconf $@
#aclocal
#autoconf
#acconfig
#autoheader
#automake -a  
autoconf automake aclocal libtool und m4 steh ich auf Kriegsfuß mit :P : Alle irgendwie zusammenhängend, doch alle irgendwie andere Versions-Nummern und sind nicht rückwärtskompatibel.
Gambas3 auf alle Fälle gibt es nicht für Lucid , auch nicht als backport -- glaub ich weiß warum ( siehe Satz vorher ).

Jedenfalls hat 2-2.9.0 ./reconf es mit tausenden Warnungen geschafft.
Bräuchte nicht, da es ein vorgekautes ./configure Schrieb gibt.

Gambas3-3.0.0 un 3.1.4 hat kein ./configure Fetzen, sondern ./configure muß mit den erwähnten auto-Werkzeugen erst gefertigt werden:
./reconf-all :

Code: Select all

#!/bin/sh

rm -f config.cache
rm -f acconfig.cache
rm -f libtool */libtool

libtoolize --force --copy --nonrecursive
autoreconf -v --install $@
und ./reconf :

Code: Select all

#!/bin/sh

rm -f config.cache
rm -f acconfig.cache

autoreconf -v --install $@
Bei mir jedenfalls hat autoconf gemeckert wegen der zugeschmissenen --install Option :x

Was man machen kann ist : All diese Befehle der reconf-Fussel per Hand ausführen, um sich mit selbigen gemecker zu steinigen, oder 3-3.1.1 von Debian runtersaugen, un hoffen, daß die Jungens und Mädels dort schon ein configure Script mit hineingepackt haben , was sehr oft, aber nicht immer, der Fall ist.

Ich nun hab jedenfalls 30MB Gambas tar.bz2 auf virtuellem Speicher aber kein Gambas im Magen.
Guten Appetit ! :)

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#13 Post by Karl Godt »

In 2-2.9.0 configure Skript is wirklich
--enable-gtk enable gtk component (default: yes)
--enable-qt enable qt component (default: yes)
Wenn Du nun schon ein configure hingekriegt hast, dann würd ich so coniferien >

Code: Select all

./configure --enable-gtk --enable-qt=no
.. und am Ar*** die Räuber ..
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#14 Post by der-schutzhund »

Hallo Karl,

es gibt einen ersten Teilerfolg:
mit

Code: Select all

export PKG_CONFIG_PATH=/opt/qt4/lib/pkgconfig/
Wird QtCore so lange gefunden wie das Terminarlfenster geöffnet ist.
Ablauf bisher:
folgende Module laden: qt4-4.8.0.sfs, qt4_DEV-4.8.0.sfs, LP2_DevX.sfs
Die Dateien von Gambas in ein Unterverzeichnis von root.
Dann in diesem Verzeichnis ein Terminalfenster öffnen.

Code: Select all

export PKG_CONFIG_PATH=/opt/qt4/lib/pkgconfig/
mkdir $HOME/gambas-puppylinux
./reconf-all && ./configure --prefix=$HOME/gambas-puppylinux && make && make install
Dann läuft ca. 15 Minuten ein Prozess ab und ewig viele Infos werden angezeigt.
Ich komme wir schon wie ein Linuxprofi vor obwohl ich keine Ahnung habe was ich da überhaupt mache und was die einzelnen Infos bedeuten. 8)
So muss es gewesen sein als ich mein ersten Kinderfahrrad bekommen habe (natürlich mit Stützrädern):D

Folgende Module fehlen jetzt wohl noch:
Unable to met pkg-config requirement: Qt3Support
|| gb.qt4 is disabled
|| Unable to met pkg-config requirement: Qt3Support
|| gb.qt4.ext is disabled
|| Unable to met pkg-config requirement: QtDBus
|| gb.qt4.webkit is disabled
|| Unable to met pkg-config requirement: QtOpenGL
|| gb.qt4.opengl is disabled
Wo sind die versteckt??

Das ist mein absolut erstes Programm welches ich versuche zu compilieren und habe echt null Ahnung was z.B.
Wenn Du nun schon ein configure hingekriegt hast, dann würd ich so coniferien
Keine Ahnung! Habe ich??? :oops:

LG

Wolfgang[/i]

Post Reply