Win32 version of Scribus: Difference between revisions
m (fixed a couple of typos) |
No edit summary |
||
Line 15: | Line 15: | ||
---- | ---- | ||
Here's another snapshot of my latest efforts. --[[User:Hap0|Hap0]] 23:54, 22 Mar 2005 (UTC) | |||
<pre> 513 rm -fr Scribus | |||
514 export CVSROOT=:pserver:anoncvs@scribus.info:/cvs | |||
515 cvs -z3 co -r Version13x Scribus | |||
516 cd Scribus | |||
517 tar cvf Scribus-fresh-cvs.tar Scribus/ | |||
518 ls -l | |||
519 cd Scribus | |||
520 make -f Makefile.cvs | |||
521 ./configure | |||
522 make | |||
523 history | tail -n 15 | |||
$ make -f Makefile.cvs | |||
This Makefile is only for the CVS repository | |||
This will be deleted before making the distribution | |||
/usr/bin/autoconf: line 312: 1640 Broken pipe ${AUTO_STABLE}/bin/autoconf --version | |||
/usr/bin/autoheader: line 278: 1304 Broken pipe ${AUTO_STABLE}/bin/autoheader --version | |||
/usr/bin/automake: line 327: 116 Broken pipe ${AUTO_STABLE}/bin/automake --version | |||
*** Creating acinclude.m4 | |||
*** Creating list of subdirectories | |||
*** Creating configure.files | |||
*** Creating configure.in | |||
*** Creating aclocal.m4 | |||
/usr/share/aclocal/vorbis.m4:8: warning: underquoted definition of AM_PATH_VORBIS | |||
run info '(automake)Extending aclocal' | |||
or see http://sources.redhat.com/automake/automake.html#Extending-aclocal | |||
/usr/share/aclocal/ogg.m4:8: warning: underquoted definition of AM_PATH_OGG | |||
/usr/share/aclocal/freetype2.m4:7: warning: underquoted definition of AC_CHECK_FT2 | |||
/usr/share/aclocal/ao.m4:9: warning: underquoted definition of AM_PATH_AO | |||
*** Creating configure | |||
*** Creating config.h template | |||
*** Creating Makefile templates | |||
*** Postprocessing Makefile templates | |||
*** Creating date/time stamp | |||
*** Finished | |||
Don't forget to run ./configure | |||
If you haven't done so in a while, run ./configure --help | |||
$ ./configure | |||
... | |||
Configuration Summary: | |||
Libraries: | |||
Freetype2 installed: Yes | |||
Fontconfig found: Yes | |||
CUPS installed: No | |||
LittleCMS installed: Yes | |||
libtiff installed: Yes | |||
Libxml2 installed: Yes | |||
The Scripter-Plugin will not be compiled. | |||
Configuration options: | |||
Debugging enabled: No | |||
Good - your configure finished. Start make now | |||
$ make | |||
... .libs/pdflib.o(.text$_ZN11QMapPrivateI7QStringS0_E5clearEP8QMapNodeIS0_S0_E[QMapPrivate<QString, QString>::clear(QMapNod | |||
e<QString, QString>*)]+0x3f):pdflib.cpp: undefined reference to `QString::shared_null' | |||
.libs/pdflib.o(.text$_ZN11QMapPrivateI7QStringS0_E5clearEP8QMapNodeIS0_S0_E[QMapPrivate<QString, QString>::clear(QMapNod | |||
e<QString, QString>*)]+0x49):pdflib.cpp: undefined reference to `QStringData::deleteSelf()' | |||
.libs/pdflib.o(.text$_ZN11QMapPrivateI7QStringS0_E5clearEP8QMapNodeIS0_S0_E[QMapPrivate<QString, QString>::clear(QMapNod | |||
e<QString, QString>*)]+0x5e):pdflib.cpp: undefined reference to `QString::shared_null' | |||
.libs/pdflib.o(.text$_ZN11QMapPrivateI7QStringS0_E5clearEP8QMapNodeIS0_S0_E[QMapPrivate<QString, QString>::clear(QMapNod | |||
e<QString, QString>*)]+0x68):pdflib.cpp: undefined reference to `QStringData::deleteSelf()' | |||
.libs/pdflib.o(.text$_ZN10QPtrVectorI10VColorStopE10deleteItemEPv[QPtrVector<VColorStop>::deleteItem(void*)]+0x35):pdfli | |||
b.cpp: undefined reference to `QString::shared_null' | |||
.libs/pdflib.o(.text$_ZN10QPtrVectorI10VColorStopE10deleteItemEPv[QPtrVector<VColorStop>::deleteItem(void*)]+0x3f):pdfli | |||
b.cpp: undefined reference to `QStringData::deleteSelf()' | |||
.libs/pdflib.o(.text$_ZN9QMemArrayI6FPointE6detachEv[QMemArray<FPoint>::detach()]+0x11):pdflib.cpp: undefined reference | |||
to `QGArray::duplicate(QGArray const&)' | |||
.libs/pdflib.o(.text$_ZN9QMemArrayIcE6detachEv[QMemArray<char>::detach()]+0x11):pdflib.cpp: undefined reference to `QGAr | |||
ray::duplicate(QGArray const&)' | |||
collect2: ld returned 1 exit status | |||
make[3]: *** [libpdf.la] Error 1 | |||
make[3]: Leaving directory `/home/cboothe/src/Scribus/scribus/libpdf' | |||
make[2]: *** [all-recursive] Error 1 | |||
make[2]: Leaving directory `/home/cboothe/src/Scribus/scribus' | |||
make[1]: *** [all-recursive] Error 1 | |||
make[1]: Leaving directory `/home/cboothe/src/Scribus' | |||
make: *** [all] Error 2</pre> | |||
And here's a snapshot of what happened going through the steps as suggested by Ralf: | |||
<pre> | <pre> |
Revision as of 23:54, 22 March 2005
In February 2005, Trolltech announced that version 4 of the QT library used by Scribus will be available for Windows under the GNU General Public License (GPL). This brings the possibility of a native Windows port of Scribus a step closer. It's still a long way off though, and not really in anyone's plans. First, QT4 needs to be released ("second quarter of 2005"), and then Scribus would need to be updated to QT4 (a substantial job in itself) then ported to Windows. So it might happen at some point, but don't hold your breath!--Joeboy 13:49, 9 Mar 2005 (UTC)
Hence I've created this page for posting notes relating to the ongoing effort to compile Scribus under Cygwin/X11 for win32, since that is our next-best option.
However, don't forget we already have one working recipe for Installing Scribus on Win32 using version 1.2.1 binary snapshots compiled for Cygwin/QT3/X11. :)
Now efforts to compile the latest Scribus for Cygwin/X11 are ongoing, though I haven't been successful yet. However I have gotten as far as a running a successful configure of the 1.3 version from CVS, and there is a patch available for the 1.2.1 version at the kde-cygwin download area.
Here are some notes from some of the experiences I've had so far:
Here's another snapshot of my latest efforts. --Hap0 23:54, 22 Mar 2005 (UTC)
513 rm -fr Scribus 514 export CVSROOT=:pserver:anoncvs@scribus.info:/cvs 515 cvs -z3 co -r Version13x Scribus 516 cd Scribus 517 tar cvf Scribus-fresh-cvs.tar Scribus/ 518 ls -l 519 cd Scribus 520 make -f Makefile.cvs 521 ./configure 522 make 523 history | tail -n 15 $ make -f Makefile.cvs This Makefile is only for the CVS repository This will be deleted before making the distribution /usr/bin/autoconf: line 312: 1640 Broken pipe ${AUTO_STABLE}/bin/autoconf --version /usr/bin/autoheader: line 278: 1304 Broken pipe ${AUTO_STABLE}/bin/autoheader --version /usr/bin/automake: line 327: 116 Broken pipe ${AUTO_STABLE}/bin/automake --version *** Creating acinclude.m4 *** Creating list of subdirectories *** Creating configure.files *** Creating configure.in *** Creating aclocal.m4 /usr/share/aclocal/vorbis.m4:8: warning: underquoted definition of AM_PATH_VORBIS run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal /usr/share/aclocal/ogg.m4:8: warning: underquoted definition of AM_PATH_OGG /usr/share/aclocal/freetype2.m4:7: warning: underquoted definition of AC_CHECK_FT2 /usr/share/aclocal/ao.m4:9: warning: underquoted definition of AM_PATH_AO *** Creating configure *** Creating config.h template *** Creating Makefile templates *** Postprocessing Makefile templates *** Creating date/time stamp *** Finished Don't forget to run ./configure If you haven't done so in a while, run ./configure --help $ ./configure ... Configuration Summary: Libraries: Freetype2 installed: Yes Fontconfig found: Yes CUPS installed: No LittleCMS installed: Yes libtiff installed: Yes Libxml2 installed: Yes The Scripter-Plugin will not be compiled. Configuration options: Debugging enabled: No Good - your configure finished. Start make now $ make ... .libs/pdflib.o(.text$_ZN11QMapPrivateI7QStringS0_E5clearEP8QMapNodeIS0_S0_E[QMapPrivate<QString, QString>::clear(QMapNod e<QString, QString>*)]+0x3f):pdflib.cpp: undefined reference to `QString::shared_null' .libs/pdflib.o(.text$_ZN11QMapPrivateI7QStringS0_E5clearEP8QMapNodeIS0_S0_E[QMapPrivate<QString, QString>::clear(QMapNod e<QString, QString>*)]+0x49):pdflib.cpp: undefined reference to `QStringData::deleteSelf()' .libs/pdflib.o(.text$_ZN11QMapPrivateI7QStringS0_E5clearEP8QMapNodeIS0_S0_E[QMapPrivate<QString, QString>::clear(QMapNod e<QString, QString>*)]+0x5e):pdflib.cpp: undefined reference to `QString::shared_null' .libs/pdflib.o(.text$_ZN11QMapPrivateI7QStringS0_E5clearEP8QMapNodeIS0_S0_E[QMapPrivate<QString, QString>::clear(QMapNod e<QString, QString>*)]+0x68):pdflib.cpp: undefined reference to `QStringData::deleteSelf()' .libs/pdflib.o(.text$_ZN10QPtrVectorI10VColorStopE10deleteItemEPv[QPtrVector<VColorStop>::deleteItem(void*)]+0x35):pdfli b.cpp: undefined reference to `QString::shared_null' .libs/pdflib.o(.text$_ZN10QPtrVectorI10VColorStopE10deleteItemEPv[QPtrVector<VColorStop>::deleteItem(void*)]+0x3f):pdfli b.cpp: undefined reference to `QStringData::deleteSelf()' .libs/pdflib.o(.text$_ZN9QMemArrayI6FPointE6detachEv[QMemArray<FPoint>::detach()]+0x11):pdflib.cpp: undefined reference to `QGArray::duplicate(QGArray const&)' .libs/pdflib.o(.text$_ZN9QMemArrayIcE6detachEv[QMemArray<char>::detach()]+0x11):pdflib.cpp: undefined reference to `QGAr ray::duplicate(QGArray const&)' collect2: ld returned 1 exit status make[3]: *** [libpdf.la] Error 1 make[3]: Leaving directory `/home/cboothe/src/Scribus/scribus/libpdf' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/cboothe/src/Scribus/scribus' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/cboothe/src/Scribus' make: *** [all] Error 2
And here's a snapshot of what happened going through the steps as suggested by Ralf:
377 cd ~/src 378 rm -fr Scribus/ 379 CVSROOT=:pserver:anoncvs@scribus.info:/cvs 380 cvs -z3 co -r Version13x Scribus 381 tar jcvf tar-Scribus13cvs.tar Scribus 382 cd Scribus/ 383 make -f Makefile.cvs 384 export CFLAGS="-fdata-sections" 385 export CXXFLAGS="-fdata-sections" 386 export LDFLAGS="-L/home/<your username>/src/qt-3/lib" noone@sector0 ~/src/Scribus $ ./configure --prefix=/opt/scribus/1.3 ... Configuration Summary: Libraries: Freetype2 installed: Yes Fontconfig found: Yes CUPS installed: No LittleCMS installed: Yes libtiff installed: Yes Libxml2 installed: Yes The Scripter-Plugin will not be compiled. Configuration options: Debugging enabled: No Good - your configure finished. Start make now $
With the following commands, I already got Scribus configuring fine, but I accidently deleted it again so now with that config it gives an error when checking for qt. The error message in config.log is very similar to the error I got when making scribus after my succesful ./configure.
--jo-hannes 07:12, 18 Mar 2005 (UTC)
Export commands:
export CFLAGS="-fdata-sections" export CXXFLAGS="-fdata-sections" export LDFLAGS="-Wl,--enable-runtime-pseudo-reloc,--script /usr/local/lib/qt/mkspecs/cygwin-g++/i386pe.x-no-rdata,-lqt-mt"
The error at checking for Qt:
checking for Qt... configure: error: Qt (>= Qt 3.3) (library qt-mt) not found. Please check your installation! For more details about this problem, look at the end of config.log. Make sure that you have compiled Qt with thread support!
And the error in config.log
configure:40114: checking for Qt configure: 40182: /opt/qt/3.3/include/qstyle.h taking that configure:40297: rm -rf SunWS_cache; g++ -o conftest.exe -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -O2 -fno-exceptions -fno-check-new -fno-common -I/opt/qt/3.3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -L/opt/qt/3.3/lib -L/usr/X11R6/lib conftest.cc -lqt-mt -lpng -lz -lm -ljpeg -lXext -lX11 -lSM -lICE -lpthread 1>&5 collect2: ld terminated with signal 11 [Segmentation fault], core dumped /opt/qt/3.3/lib/libqt-mt.dll.a(.text+0x0):crtstuff.c: multiple definition of `___do_sjlj_init' /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/crtbegin.o(.text+0x0):crtstuff.c: first defined here /opt/qt/3.3/lib/libqt-mt.dll.a(.text+0x3c52a0):crtstuff.c: multiple definition of `QGList::count() const' /cygdrive/c/DOKUME~1/johannes/LOKALE~1/Temp/ccNwGMgn.o(.text$_ZNK6QGList5countEv+0x0):conftest.cc: first defined here /opt/qt/3.3/lib/libqt-mt.dll.a(.data+0x78cc4):qrtlcodec.cpp: multiple definition of `vtable for QGList' /cygdrive/c/DOKUME~1/johannes/LOKALE~1/Temp/ccNwGMgn.o(.rdata$_ZTV6QGList+0x0):conftest.cc: first defined here /opt/qt/3.3/lib/libqt-mt.dll.a(.data+0x5fb3c):qrtlcodec.cpp: multiple definition of `typeinfo for QPtrCollection' /cygdrive/c/DOKUME~1/johannes/LOKALE~1/Temp/ccNwGMgn.o(.rdata$_ZTI14QPtrCollection+0x0):conftest.cc: first defined here /opt/qt/3.3/lib/libqt-mt.dll.a(.data+0x62604):qrtlcodec.cpp: multiple definition of `typeinfo name for QPtrCollection' /cygdrive/c/DOKUME~1/johannes/LOKALE~1/Temp/ccNwGMgn.o(.rdata$_ZTS14QPtrCollection+0x0):conftest.cc: first defined here /opt/qt/3.3/lib/libqt-mt.dll.a(.data+0x607ec):qrtlcodec.cpp: multiple definition of `typeinfo for QGList' /cygdrive/c/DOKUME~1/johannes/LOKALE~1/Temp/ccNwGMgn.o(.rdata$_ZTI6QGList+0x0):conftest.cc: first defined here /opt/qt/3.3/lib/libqt-mt.dll.a(.data+0x63ba4):qrtlcodec.cpp: multiple definition of `typeinfo name for QGList' /cygdrive/c/DOKUME~1/johannes/LOKALE~1/Temp/ccNwGMgn.o(.rdata$_ZTS6QGList+0x0):conftest.cc: first defined here configure:40300: $? = 1 configure: failed program was: #include "confdefs.h" #include <qglobal.h> #include <qapplication.h> #include <qcursor.h> #include <qstylefactory.h> #include <private/qucomextra_p.h> #if ! (QT_VERSION >= 0x030300) #error 1 #endif
Jo-Hanes:
collect2: ld terminated with signal 11 [Segmentation fault], core dumped
shows that ld, the linker that's called by gcc after it finishes compiling the source file, has crashed. That's pretty weird and very likely to indicate a bug in ld (probably the cygwin version).
That said, if it worked before it seems reasonable to expect it to work now. Could you have made some changes to environment variables or installed libraries since then?
--Ringerc 08:16, 18 Mar 2005 (UTC)
As i remember, i had installed the cvs version of qt in /usr/local/lib and then it worked. don't know if there were any other switches. now i have the qt-snapshot installed and it doesnt work. variables could have changed, yes. but dunno into what. libraries werent installed as is remember. will try to get it working again.
--jo-hannes 10:52, 18 Mar 2005 (UTC)
I just updated my own little code section up above to reflect my recent similar experiences with the addition of a search I ran on the file system for qt-mt.
--Hap0 19:44, 18 Mar 2005 (UTC)
Do you have tried to run the above mentioned link by hand using the code snippet from configure using the flags set by LDFLAGS ? Seems that the LDFLAGS isn't taken.
--RHabacker 23:58, 18 Mar 2005 (UTC)
Hey it worked! Thanks for the helpful hints Ralf offered on the kde-cygwin mailing list. :) I updated my recipe above to reflect what worked. --Hap0 00:11, 19 Mar 2005 (UTC)
Ack now it doesn't work??? I'm doing the same thing??? ./configure now complains again of:
checking for Qt... configure: error: Qt (>= Qt 3.3) (library qt-mt) not found. Please check your installation! For more details about this problem, look at the end of config.log. Make sure that you have compiled Qt with thread support!
from config.log:
... conftest.c: In function `main': conftest.c:19: error: `not' undeclared (first use in this function) conftest.c:19: error: (Each undeclared identifier is reported only once conftest.c:19: error: for each function it appears in.) conftest.c:19: error: parse error before "big" configure:3378: $? = 1 configure: failed program was: | /* confdefs.h. */ ...