Win32 version of Scribus

From Scribus Wiki
Revision as of 07:11, 18 March 2005 by Jo-hannes (talk | contribs)
Jump to navigation Jump to search

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"), 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 had 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:




  379  rm -fr Scribus/
  380  cvs -z3 co -r Version13x Scribus
  381  tar jcvf tar-Scribus13cvs.tar Scribus
  382  cd Scribus/
  383  make -f Makefile.cvs

noone@sector0 ~/src/Scribus
$ CFLAGS="-fdata-sections" CXXFLAGS="-fdata-sections" LDFLAGS="-Wl, --enable-runtime-pseudo-reloc, --script, $QTDIR/mkspecs/cygwin-g++/i386pi.x-no-rdata" ./configure --prefix=/opt/scribus/1.3
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... i686-pc-cygwin
checking for a BSD-compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for pkg-config... no
checking for libart2-config... /usr/bin/libart2-config
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.

noone@sector0 ~/src/Scribus
$

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.

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