Lefteris Dimitroulakis wrote:
> Στις Sunday 27 May 2007 21:45:01 ο/η Dan Nicholson έγραψε:
>
>> Lefteris, can you try to change your Qt setup a bit and see if the
>> doxygen build passes? Do this:
>>
>> # ln -v -snf ../../bin /usr/share/qt/bin
>> # ln -v -snf ../../include/qt /usr/share/qt/include
>> # ln -v -snf ../../lib /usr/share/qt/lib
>>
>> Then,
>> $ export QTDIR=/usr/share/qt
>>
>> and try to build doxywizard without any changes.
>
> All are OK!
Here's a patch which changes QTDIR to /usr/share/qt by making symlinks
to ../../{bin,include/qt,lib} there. This comes from Paldo, and I've
been using it for a while, too. The important fix here is that the
headers are directly accessible in $QTDIR/include, which fixes the
doxywizard case that Lefteris was having. I think it's more correct
anyway since Qt wants to install into a dedicated directory and that's
what the structure looks like in, e.g. /opt/qt.
Two other changes here. First, the sed to remove $(QTDIR)/include and
$(QTDIR)/lib is removed since it doesn't help anything. It's replace
with an sed to make Qt not build with RPATH by removing the variable
QMAKE_RPATH from qmake.conf. This makes the later `find' command
unnecessary.
--
Dan
BOOK/general.ent | 2 +-
BOOK/introduction/welcome/changelog.xml | 10 +++++++++
BOOK/x/lib/qt.xml | 34 ++++++++++++++++--------------
3 files changed, 29 insertions(+), 17 deletions(-)
diff --git a/BOOK/general.ent b/BOOK/general.ent
index f8082ef..df373bc 100644
--- a/BOOK/general.ent
+++ b/BOOK/general.ent
@@ -3,7 +3,7 @@ $LastChangedBy$
$Date$
-->
-<!ENTITY day "26"> <!-- Always 2 digits -->
+<!ENTITY day "28"> <!-- Always 2 digits -->
<!ENTITY month "05"> <!-- Always 2 digits -->
<!ENTITY year "2007">
<!ENTITY version "svn-&year;&month;&day;">
diff --git a/BOOK/introduction/welcome/changelog.xml
b/BOOK/introduction/welcome/changelog.xml
index bc1c5db..868ec30 100644
--- a/BOOK/introduction/welcome/changelog.xml
+++ b/BOOK/introduction/welcome/changelog.xml
@@ -42,6 +42,16 @@
-->
<listitem>
+ <para>May 28th, 2007</para>
+ <itemizedlist>
+ <listitem>
+ <para>[dnicholson] - Changed the Qt /usr install with symlinks to
+ the bin, include and lib directories in /usr/share/qt.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
<para>May 26th, 2007</para>
<itemizedlist>
<listitem>
diff --git a/BOOK/x/lib/qt.xml b/BOOK/x/lib/qt.xml
index 7d40356..5be137c 100644
--- a/BOOK/x/lib/qt.xml
+++ b/BOOK/x/lib/qt.xml
@@ -185,9 +185,7 @@ done</userinput></screen>
<para>Continue with:</para>
-<screen><userinput>sed -i -e 's:$(QTDIR)/include:&/qt:' \
- -e 's:$(QTDIR)/lib:&/qt:' \
- mkspecs/linux*/qmake.conf &&
+<screen><userinput>sed -i '/QMAKE_RPATH/d' mkspecs/linux*/qmake.conf &&
bash
export PATH=$PWD/bin:$PATH &&
@@ -212,7 +210,6 @@ export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH &&
-thread \
-tablet &&
-find -type f -name Makefile | xargs sed -i "[EMAIL
PROTECTED],-rpath,/usr/lib@@g" &&
make &&
exit</userinput></screen>
@@ -223,6 +220,9 @@ exit</userinput></screen>
<screen role="root"><userinput>make install &&
ln -v -sf libqt-mt.so /usr/lib/libqt.so &&
+ln -v -snf ../../bin /usr/share/qt/bin &&
+ln -v -snf ../../include/qt /usr/share/qt/include &&
+ln -v -snf ../../lib /usr/share/qt/lib &&
cp -v -r doc/man /usr/share &&
cp -v -r examples /usr/share/doc/qt</userinput></screen>
@@ -293,9 +293,10 @@ cp -v -r doc/man examples /opt/qt/doc</userinput></screen>
<sect2 role="commands">
<title>Command Explanations</title>
- <para><command>sed -i -e ... mkspecs/linux*/qmake.conf</command>:
- Directories in <filename>qmake.conf</filename> need to be adjusted
- to match the BLFS Method 1 installation directories.</para>
+ <para><command>sed -i '/QMAKE_RPATH/d' mkspecs/linux*/qmake.conf</command>:
+ In Method 1, <application>Qt</application> is being installed into
+ the standard system directories. The runtime library search path does not
+ need to be set in this case.</para>
<para><command>bash</command>: This command enters a sub-shell to isolate
environment changes.</para>
@@ -347,16 +348,17 @@ cp -v -r doc/man examples /opt/qt/doc</userinput></screen>
<para><parameter>-thread</parameter>: This switch adds
support for multi-threading.</para>
- <para><command>find -type f -name Makefile | xargs sed -i
- "[EMAIL PROTECTED],-rpath,/usr/lib@@g"</command>: This command removes
hardcoded
- run-time paths. Otherwise, <command>uic</command> always tries to run
- with <application>Qt</application> libraries in
- <filename>/usr/lib</filename>.</para>
-
- <para><command>ln -v -s libqt-mt.so /usr/lib/libqt.so</command>: This
+ <para><command>ln -v -sf libqt-mt.so /usr/lib/libqt.so</command>: This
command allows <command>configure</command> scripts to find a working
<application>Qt</application> installation.</para>
+ <para><command>ln -v -snf ../../bin /usr/share/qt/bin</command>: This
+ command and the following two allow the
+ <filename class="directory">/usr</filename> style installation to mimic
+ the <filename class="directory">/opt</filename> style installation by
+ making all binaries, headers and libraries available from a single
+ directory, <filename class="directory">/usr/share/qt</filename>.</para>
+
<para><command>cp -v -r doc/man examples /usr/share (or
/opt/qt/doc)</command>:
This command installs the man pages and examples which are missed by
@@ -381,9 +383,9 @@ cp -v -r doc/man examples /opt/qt/doc</userinput></screen>
<filename>/etc/profile</filename> file.</para>
<para>For Method 1 (This is optional, only set this if an application is
- unable to find the installed libraries):</para>
+ unable to find the installed libraries or headers):</para>
-<screen><literal>export QTDIR=/usr</literal></screen>
+<screen><literal>export QTDIR=/usr/share/qt</literal></screen>
<para>or for Method 2:</para>
--
1.5.1.3
--
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page