Qt3-Apps: ./compile schlägt fehl

SteWo

OpenBSD User
Hi Gemeinde,

ich hänge mal wieder mit zwei Problemchen fest und bitte um ein wenig kreative Unterstützung. Ich arbeite unter OBSD 3.8-Releasehom

Da ich relativ viel Schreibarbeit zu leisten habe, erfreue ich mich an dem Output von LaTeX. Als Wanderer zwischen den System-Welten ist es für mich deutlich angenehmer, wenn ich mit LyX arbeiten kann, als direkt in einem Editor.

Die Ankündigung der neuen LyX-Version mit seinen neuen Features ist für mich spannend und daher möchte ich das Teil installieren. Aber: Das ist gar nicht so einfach...:confused: Folgendes gebe ich ein:
Code:
./configure --with-frontend=qt --with-qt-libraries=/usr/local/lib/qt3 --with-qt-includes=/usr/local/include/X11/qt3 --with-extra-libs=/usr/local/lib/ --with-extra-includes="/usr/local/include/libpng:/usr/local/include" --disable-dependency-tracking --enable-final
Als Resultat erhalte ich:
Configuration
Host type: i386-unknown-openbsd3.8
Special build flags: compression assertions warnings use-ispell
C Compiler: gcc
C Compiler LyX flags:
C Compiler flags: -W -Wall -I/usr/X11R6/include -I/usr/local/i
nclude -g -O2
C++ Compiler: g++ (3.3.5)
C++ Compiler LyX flags: -fno-exceptions
C++ Compiler flags: -W -Wall -I/usr/X11R6/include -I/usr/local/i
nclude -g -O2
Linker flags:
Linker user flags:
Qt Frontend:
Qt version:
Packaging: posix
LyX binary dir: /usr/local/bin
LyX files dir: /usr/local/share/lyx

**** The following problems have been detected by configure.
**** Please check the messages below before running 'make'.
**** (see the section 'Problems' in the INSTALL file)

** qt library not found !
Das Qt3-Dir ist wie angegeben unter /usr/local/lib/qt3. Testweise habe ich einen Link von /usr/local/lib/qt auf das DIR angegeben, aber auch dies nützt nix: Unter /usr/local/lib/qt3/lib findet nämlich lediglich ein reflexiver Verweis auf das DIR... :confused: <Nix versteh'n... />

Da meistens nachgefragt, hänge ich den Output von DMESG als Textdatei an. (Auch wenn es mir in diesem Zusammenhang überflüssig erscheint...) Weiterhin hänge ich mal den Output von pkg_info an: Eventuell habe ich ha auch ein Package nicht installiert, welches zwinged nötig ist...

Ich weiß jedenfalls nicht weiter. Ein ähnliches Problem habe ich mit Java und OOo. Aber dafür mach ich eine eigenen Thread auf.

Schon einmal DANKE für eure Zeit, bis hier gelesen zu haben.

Gruß,
SteWo
 

Anhänge

Versuch mal:

./configure \
[...]
--with-qt-libraries=/usr/local/lib \
--with-qt-dir=/usr/local/lib/qt3 \
[...]
 
Guten Morgen!

Hi Walt,

DANKE für Deine schnelle Antwort: War genau das, was ich brauchte!

Hier meine Eingabe:
./configure --with-qt-dir=/usr/local/lib --with-qt-libraries=/usr/local/lib/ --with-qt-includes=/usr/local/include/X11/qt3 --with-extra-libs=/usr/local/lib/ --with-extra-includes="/usr/local/include/libpng:/usr/local/include" --disable-dependency-tracking --enable-final
... und hier das Ergebnis:
Configuration
Host type: i386-unknown-openbsd3.8
Special build flags: compression assertions warnings use-ispell
C Compiler: gcc
C Compiler LyX flags:
C Compiler flags: -W -Wall -I/usr/X11R6/include -I/usr/local/include -g -O2
C++ Compiler: g++ (3.3.5)
C++ Compiler LyX flags: -fno-exceptions
C++ Compiler flags: -W -Wall -I/usr/X11R6/include
-I/usr/local/include -g -O2
Linker flags:
Linker user flags:
Qt Frontend:
Qt version: 3.3.4
Packaging: posix
LyX binary dir: /usr/local/bin
LyX files dir: /usr/local/share/lyx

Configuration of LyX was successful.
Type 'make' to compile the program,
and then 'make install' to install it.

Nur leider funktioniert nun das make nicht:
$ sudo make
Making all in config
Making all in development
Making all in intl
Making all in po
Making all in boost
Making all in libs
Making all in filesystem
Making all in src
make all-am
/bin/sh ../../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../../../src -DBOOST_USER_CONFIG="<config.h>" -I../../../../boost -W -Wall -I/usr/X11R6/include -I/usr/local/include -fno-exceptions -g -O2 -c -o convenience.lo convenience.cpp
g++ -DHAVE_CONFIG_H -I. -I. -I../../../../src "-DBOOST_USER_CONFIG=<config.h>" -I../../../../boost -W -Wall -I/usr/X11R6/include -I/usr/local/include -fno-exceptions -g -O2 -c convenience.cpp -o convenience.o
In file included from ../../../../boost/boost/filesystem/operations.hpp:21,
from ../../../../boost/boost/filesystem/convenience.hpp:17,
from convenience.cpp:17:
../../../../boost/boost/cstdint.hpp:227: error: redeclaration of C++ built-in
type `long'
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs/filesystem/src.
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs/filesystem/src (line 299 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs/filesystem (line 349 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs (line 349 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost (line 350 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3 (line 465 of Makefile).
Testweise einmal mit gmake:
$ sudo gmake
Making all in config
gmake[1]: Entering directory `/usr/src/lyx-1.4.0pre3/config'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/usr/src/lyx-1.4.0pre3/config'
Making all in development
gmake[1]: Entering directory `/usr/src/lyx-1.4.0pre3/development'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/usr/src/lyx-1.4.0pre3/development'
Making all in intl
gmake[1]: Entering directory `/usr/src/lyx-1.4.0pre3/intl'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/usr/src/lyx-1.4.0pre3/intl'
Making all in po
gmake[1]: Entering directory `/usr/src/lyx-1.4.0pre3/po'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/usr/src/lyx-1.4.0pre3/po'
Making all in boost
gmake[1]: Entering directory `/usr/src/lyx-1.4.0pre3/boost'
Making all in libs
gmake[2]: Entering directory `/usr/src/lyx-1.4.0pre3/boost/libs'
Making all in filesystem
gmake[3]: Entering directory `/usr/src/lyx-1.4.0pre3/boost/libs/filesystem'
Making all in src
gmake[4]: Entering directory `/usr/src/lyx-1.4.0pre3/boost/libs/filesystem/src'
gmake all-am
gmake[5]: Entering directory `/usr/src/lyx-1.4.0pre3/boost/libs/filesystem/src'
/bin/sh ../../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../../../src -DBOOST_USER_CONFIG="<config.h>" -I../../../../boost -W -Wall -I/usr/X11R6/include -I/usr/local/include -fno-exceptions -g -O2 -c -o convenience.lo convenience.cpp
g++ -DHAVE_CONFIG_H -I. -I. -I../../../../src "-DBOOST_USER_CONFIG=<config.h>" -I../../../../boost -W -Wall -I/usr/X11R6/include -I/usr/local/include -fno-exceptions -g -O2 -c convenience.cpp -o convenience.o
In file included from ../../../../boost/boost/filesystem/operations.hpp:21,
from ../../../../boost/boost/filesystem/convenience.hpp:17,
from convenience.cpp:17:
../../../../boost/boost/cstdint.hpp:227: error: redeclaration of C++ built-in
type `long'
gmake[5]: *** [convenience.lo] Error 1
gmake[5]: Leaving directory `/usr/src/lyx-1.4.0pre3/boost/libs/filesystem/src'
gmake[4]: *** [all] Error 2
gmake[4]: Leaving directory `/usr/src/lyx-1.4.0pre3/boost/libs/filesystem/src'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/usr/src/lyx-1.4.0pre3/boost/libs/filesystem'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/src/lyx-1.4.0pre3/boost/libs'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/src/lyx-1.4.0pre3/boost'
gmake: *** [all-recursive] Error 1
Hast Du dazu noch eine Idee??

Trotzdem: Ganz herzlichen Dank! Ich hoffe, wir können mit diesem Thread auch anderen helfen.

Dir in jedem Fall schon einmal eine Gute Nacht!

SteWo
 
Nachtrag...

um den Fehler möglichst einzugrenzen, habe ich folgendes versucht:
$ sudo ./configure --with-frontend=qt --with-qt-dir=/usr/local/lib/qt3 --with-qt-libraries=/usr/local/lib/
Ergebnis:
$ sudo make
Making all in config
Making all in development
Making all in intl
Making all in po
Making all in boost
Making all in libs
Making all in filesystem
Making all in src
make all-am
if /bin/sh ../../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../../../src -DBOOST_USER_CONFIG="<config.h>" -I../../../../boost -W -Wall -I/usr/X11R6/include -I/usr/local/include -fno-exceptions -g -O2 -MT convenience.lo -MD -MP -MF ".deps/convenience.Tpo" -c -o convenience.lo convenience.cpp; then mv -f ".deps/convenience.Tpo" ".deps/convenience.Plo"; else rm -f ".deps/convenience.Tpo"; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I../../../../src "-DBOOST_USER_CONFIG=<config.h>" -I../../../../boost -W -Wall -I/usr/X11R6/include -I/usr/local/include -fno-exceptions -g -O2 -MT convenience.lo -MD -MP -MF .deps/convenience.Tpo -c convenience.cpp -o convenience.o
In file included from ../../../../boost/boost/filesystem/operations.hpp:21,
from ../../../../boost/boost/filesystem/convenience.hpp:17,
from convenience.cpp:17:
../../../../boost/boost/cstdint.hpp:227: error: redeclaration of C++ built-in
type `long'
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs/filesystem/src.
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs/filesystem/src (line 299 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs/filesystem (line 349 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs (line 349 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost (line 350 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3 (line 465 of Makefile).
Vielleicht hilft das Studium des Makefile weiter...

Danke, für die Zeit, die ihr euch nehmt!!!

SteWo
 

Anhänge

Schalte mal die Deklaration vom type long in
../../../../boost/boost/cstdint.hpp
in der Zeile 227 aus.

Mal schau'n was passiert.
 
Das war's leider nicht...

Hi Walt,

ich habe die Zeile auskommentiert und danach ./configure und make laufen lassen. Hier das Ergebnis:
$ sudo make
Making all in config
Making all in development
Making all in intl
Making all in po
Making all in boost
Making all in libs
Making all in filesystem
Making all in src
make all-am
if /bin/sh ../../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.
-I. -I../../../../src -DBOOST_USER_CONFIG="<config.h>" -I../../../../boost -
W -Wall -I/usr/X11R6/include -I/usr/local/include -fno-exceptions -g -O2 -MT
convenience.lo -MD -MP -MF ".deps/convenience.Tpo" -c -o convenience.lo convenie
nce.cpp; then mv -f ".deps/convenience.Tpo" ".deps/convenience.Plo"; else rm -f
".deps/convenience.Tpo"; exit 1; fi
g++ -DHAVE_CONFIG_H -I. -I. -I../../../../src "-DBOOST_USER_CONFIG=<config.h>"
-I../../../../boost -W -Wall -I/usr/X11R6/include -I/usr/local/include -fno-exce
ptions -g -O2 -MT convenience.lo -MD -MP -MF .deps/convenience.Tpo -c convenienc
e.cpp -o convenience.o
In file included from ../../../../boost/boost/filesystem/operations.hpp:21,
from ../../../../boost/boost/filesystem/convenience.hpp:17,
from convenience.cpp:17:
../../../../boost/boost/cstdint.hpp:227:7: invalid preprocessing directive #type
def
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs/filesystem/src.
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs/filesystem/src (line 299 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs/filesystem (line 349 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost/libs (line 349 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3/boost (line 350 of Makefile).
*** Error code 1

Stop in /usr/src/lyx-1.4.0pre3 (line 465 of Makefile).
$
Irgendwie nicht wirklich anders ...

Fällt Dir noch etwas weiteres ein???

Gruß,
SteWo
 
hallo.
sieht so aus als ob du die zeile mit "#" asukommentiert hast - das kann aber nicht gehen.
versuche man, die zeile zwischen /* type...blablabla */ zusetzten, alternativ "//" an den zeilenanfang zu stellen.

ich kommen auch gelegendlich durcheineander, welches komentarzeichen für welche sprache ;)

viele grüße

sg
 
Nah dran...

Hi walt & Soylent Green,

nachdem ich die Zeile mit // auskommentiert hatte, funktionierte zunächst das ./configure. Das anschließende make meckerte, daß irgendwo ein $ von gmake verlangt werden würde und brach mit "Error 1" ab. Also neuer Versuch mit gmake. Ergebnis:
[ ... ]
/usr/local/lib/qt3/include/qvaluelist.h:272: undefined reference to `QWidget::windowActivationChange(bool)'
frontends/qt2/.libs/libqt2.a(qttableview_moc.o)(.gnu.linkonce.r._ZTV11QtTableView+0x1a4): In function `__static_initialization_and_destruction_0':
/usr/src/lyx-1.4.0pre3/src/frontends/qt2/moc/qttableview_moc.C:28: undefined reference to `QWidget::create(unsigned long, bool, bool)'
frontends/qt2/.libs/libqt2.a(qttableview_moc.o)(.gnu.linkonce.r._ZTV11QtTableView+0x1bc):/usr/src/lyx-1.4.0pre3/src/frontends/qt2/moc/qttableview_moc.C:28: undefined reference to `QWidget::setMicroFocusHint(int, int, int, int, bool, QFont*)'
frontends/qt2/.libs/libqt2.a(qttableview_moc.o)(.gnu.linkonce.r._ZTV11QtTableView+0x240): undefined reference to `QPaintDevice::setResolution(int)'
frontends/qt2/.libs/libqt2.a(qttableview_moc.o)(.gnu.linkonce.r._ZTV11QtTableView+0x244): undefined reference to `QPaintDevice::resolution() const'
frontends/qt2/.libs/libqt2.a(qttableview_moc.o)(.gnu.linkonce.r._ZTV11QtTableView+0x248): undefined reference to `QPaintDevice::handle() const'
frontends/qt2/.libs/libqt2.a(qttableview_moc.o)(.gnu.linkonce.r._ZTV11QtTableView+0x24c): undefined reference to `QPaintDevice::x11RenderHandle() const'
frontends/qt2/.libs/libqt2.a(qttableview_moc.o)(.gnu.linkonce.r._ZTV11QtTableView+0x258): undefined reference to `non-virtual thunk [nv:-40] to QWidget::metric(int) const'
frontends/qt2/.libs/libqt2.a(QLPainter.o)(.text+0x150): In function `QLPainter::start()':
../../../boost/boost/scoped_ptr.hpp:93: undefined reference to `QPainter::begin(QPaintDevice const*, bool)'
frontends/qt2/.libs/libqt2.a(QLPainter.o)(.text+0xb50): In function `QLPainter::smallCapsText(int, int, QString const&, LyXFont const&)':
../../../boost/boost/scoped_ptr.hpp:93: undefined reference to `QPainter::drawText(int, int, QString const&, int, QPainter::TextDirection)'
frontends/qt2/.libs/libqt2.a(QLPainter.o)(.text+0xc8f):../../../boost/boost/scoped_ptr.hpp:93: undefined reference to `QPainter::drawText(int, int, QString const&, int, QPainter::TextDirection)'
frontends/qt2/.libs/libqt2.a(QLPainter.o)(.text+0xf5b): In function `QLPainter::text(int, int, char const*, unsigned, LyXFont const&)':
../../../boost/boost/scoped_ptr.hpp:93: undefined reference to `QPainter::drawText(int, int, QString const&, int, QPainter::TextDirection)'
collect2: ld returned 1 exit status
gmake[3]: *** [lyx-qt] Error 1
gmake[3]: Leaving directory `/usr/src/lyx-1.4.0pre3/src'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/src/lyx-1.4.0pre3/src'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/src/lyx-1.4.0pre3/src'
gmake: *** [all-recursive] Error 1
$
Also: mir sagt dies recht wenig. (Ich wäre noch nicht einmal auf den Gedanken der Auskommentierung einer Zeile in einer der Programme oder Libraries gekommen ... )

Nur mal so ein Gedanke: Die OBSD-Version von LyX ist wohl auch nicht ganz 1:1 vom Projekt übernommen, sondern ist mir einigen Patches "angereichert". Wie könnte man diese Anpassungen auf die 1.4-Beta übertragen???

Vielen Dank für eure Hilfe!!!

Gruß und schöne Woche!

SteWo

P.S|.: Beim Korrekturlesen fiel mir auf, daß das make auf qt2 zurückgreift. Ist dies OK oder könnte daraus das Problem resultieren?
 
Zurück
Oben