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

Reply via email to