From: Angus L. <le...@ly...> - 2004-12-14 09:41:48
|
Dear all, I have just succeeded in compiling LyX (www.lyx.org) under MinGW, MinSYS, using the port of Qt to Win32 by the cygwin-kde people. http://kde-cygwin.sourceforge.net/qt3-win32 I'd like to tell you of some of the hurdles I had to leap to get there. I'm using up to date MinGW, MinSYS sources: MinGW-3.1.0-1.exe mingw-runtime-3.5.tar.gz mingw-utils-0.3.tar.gz w32api-3.1.tar.gz binutils-2.15.91-20040904-1.tar.gz gcc-core-3.4.2-20040916-1.tar.gz 3433kB gcc-g++-3.4.2-20040916-1.tar.gz 4718kB MSYS-1.0.10.exe msysDTK-1.0.1.exe msys-autoconf-2.59.tar.bz2 msys-automake-1.8.2.tar.bz2 msys-libtool-1.5.tar.bz2 COMPILER ======== I found that the g++ 3.2 that ships with MinGW-3.1 will compile qt3-win32 using the instructions here: http://kde-cygwin.sourceforge.net/qt3-win32/compile-mingw.php However, compiliation of the Qt frontend to LyX will subsequently result in an ICE. g++ 3.4 works perfectly. Nonetheless, g++ 3.4 appears to have a bug related to -I directives. An instruction like: g++ -Ifoo/bar/ -c baz.C will fail to find any header files in the foo/bar directory. In order to succeed, the trailing '/' must be removed. Ie, this works: g++ -Ifoo/bar -c baz.C AUTOTOOLS ========= The LyX autogen.sh script is executed successfully using the above autotools, although it does issue a couple of warnings about "underquoted definition of AG_PATH_AUTOOPTS". The fix is to wrap the definition of AG_PATH_AUTOOPTS inside square brackets. However, the resulting configure script will fail at the very last hurdle when creating the config.status file. It will complain about something being wrong with the sed script about line 18444. Actually, it's the list of AC_CONFIG_FILES pulled from configure.ac that have confused it. My LyX sources are under CVS control and the files have dos-style line endings. I believe that that is standard CVS behaviour, no? Anyway, a bunch of Makefiles in AC_CONFIG_FILES separated by dos-style line endings will break configure. The workaround is simple: $ dos2unix config/configure.ac $ ./autogen.sh But perhaps this could be addressed at source? MAKE ==== I've had to patch the LyX sources to allow make to successfully build the sources. I'll address these in separate mails. I hope that some of this is useful. Kind regards, Angus |