On Thu, May 11, 2006 at 04:30:33PM -0500, Bo Peng wrote: > $ scons lyxbase > $ scons [prefix=/path/to/lyx] [exec_path=/path/to/lyx_bin] install > are in. > > So my lastest fresh run (linux) is like > $ scons client > $ scons tex2lyx > $ scons lyxbase > $ scons qt3 > $ scons frontend=qt4 qt_dir=/path/to/qt4 qt4 > $ scons graphics > $ scons lyx (build qt4, frontend=qt4 etc are *cached*) > $ rm -f options.cache (have to clear cached qt_dir) > $ scons frontend=qt3 > > Another minor improvement is that I copy lyx to lyx-qt3 under debug > directory after build. > > Now, unless I get some bug reports, I will assume that scons is > basically working and I will take this weekend off. It's been a bit > intense for me lately and I own my kids a few hours of playing time.
Please, find attached a small bug fix for lyxclient. Then I don't want to ruin your weekend, but I have a couple of bug reports :( On cygwin: scons: done reading SConscript files. scons: Building targets ... scons: *** [Errno 2] No such file or directory: '/usr/local/src/lyx/lyx-1.5.0svn/release/qt3/lyx' scons: building terminated because of errors. I think this is due to the fact that on Windows executables have a .exe extension. On solaris scons uses gcc for linking, so there are tons of undefined references: gcc -o release/qt3/lyx -Lrelease/libs -L/opt/qt/lib -L/opt/qt/lib -L/opt/lib -L/usr/X11/lib -L. -llyxbase_pre -lmathed -linsets -lfrontends -lqt3 -lcontrollers -lgraphics -lsupports -llyxbase_post -lboost_signals -lboost_regex -lboost_filesystem -lboost_iostreams -lAiksaurus -laspell -lqt-mt -lsocket -lnsl -lz Undefined first referenced symbol in file std::basic_string<char, std::char_traits<char>, std::allocator<char> >::rfind(char, unsigned int) constrelease/libs/libcontrollers.a(biblio.o) (symbol belongs to implicit dependency /usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/../../../libstdc++.so.6) [...] ld: fatal: Symbol referencing errors. No output written to release/qt3/lyx collect2: ld returned 1 exit status scons: *** [release/qt3/lyx] Error 1 scons: building terminated because of errors. This is probably due to the fact that no sources are now present on the command line but only libraries. -- Enrico
Index: development/scons/SConscript =================================================================== --- development/scons/SConscript (revision 13835) +++ development/scons/SConscript (working copy) @@ -902,7 +902,7 @@ if 'client' in targets or 'install' in t client = env.Program( target = '$BUILDDIR/common/client/lyxclient', - LIBS = env['BOOST_LIBRARIES'] + env['socket_libs'] + ['supports'], + LIBS = env['BOOST_LIBRARIES'] + env['SYSTEM_LIBS'] + ['supports'], source = ["$BUILDDIR/common/client/%s" % x for x in Split(''' boost.C client.C