Am Montag, 18. Dezember 2006 16:19 schrieb Bo Peng:
> > I still have to comment line 348 in development/scons/qt4.py. If I do 
that
> > the linking step succeeds.
> 
> Although your qt installation has to be blamed. I have modified
> SConstruct to accommendate this.

Why should my qt installation be blamed? It is an absolute standard 
installation on debian, and on SuSE it looks alike. IMO a build system 
should work with such standard installations without any tweak or 
commandline argument (I still need to give qt_lib_path=/usr/lib), 
especially since pkg-config provides all necessary information.

> > ~/lyx-1.5/build-tree-scons$ ./lyx -dbg init
> > Checking whether LyX is run in place... no
> > Unable to determine the system directory having >
> > Of course I could install, but I don't want to. I usually configure for
> > installation on a server where I don't have direct write permissions,
> > therefore I have to install into a temp DESTDIR. Of course I can't run
> > from the DESTDIR, that means that I would need to configure for 
different
> > builds with scons, depending on whether I want to do a final install or
> > just run it. That means that scons is not usable for me currently.
> 
> I do not quite understand,
> 
> 1. What autotools have done for you that allows you to start lyx from
> any VPATH build?

I don't use VPATH, and this has nothing to do with autotools magic. The 
code in support/package.C.in does not find its support directories, 
therefore LyX aborts.

> 2. Why cannot you use options like --sysdir?

Too much typing for debugging.

> 3. Install to the same DESTDIR is not a big deal because only the lyx
> executable will be replaced when you install from different builds,
> unless you want to compare different lyx builds side by side.

That is not the problem. The problem is that LyX will refuse to start if I 
install it into a DESTDIR and run it from there. It will only run from the 
final destination dir, because it won't find its support files.

> I guess I can not help you here.

Then I continue to use the autotools. Scons might work on windows, but as 
you can see there are still many problems on Linux.

> > I see that is also tries 1.34 now, very nice. But anyway, if I install 
the
> > 1.33.1 devel packages, I get:
> >
> > Checking for boost library signals, regex, filesystem, iostreams...
> > Warning: Can not find an appropriate boost library in /usr/lib.
> > Allowed versions are  1_33_1, 1_34
> > Use library /usr/lib/libboost_signals-gcc-mt-1_33_1.a
> > Warning: Can not find an appropriate boost library in /usr/lib.
> > Allowed versions are  1_33_1, 1_34
> > Use library /usr/lib/libboost_regex-gcc-1_33_1.a
> > Warning: Can not find an appropriate boost library in /usr/lib.
> > Allowed versions are  1_33_1, 1_34
> > Use library /usr/lib/libboost_filesystem-gcc-1_33_1.a
> > Warning: Can not find an appropriate boost library in /usr/lib.
> > Allowed versions are  1_33_1, 1_34
> > Use library /usr/lib/libboost_signals-gcc-mt-1_33_1.a
> > Warning: Can not find an appropriate boost library in /usr/lib.
> > Allowed versions are  1_33_1, 1_34
> > Use library /usr/lib/libboost_regex-gcc-1_33_1.a
> > Warning: Can not find an appropriate boost library in /usr/lib.
> > Allowed versions are  1_33_1, 1_34
> > Use library /usr/lib/libboost_filesystem-gcc-1_33_1.a
> >
> > This output is confusing: Does it use the found libraries, or not? 
(later I
> > see that it does not). And IMHO the shared libraries should be 
preferred
> > over the static ones (I have installed both).
> 
> Under mode=debug, scons is looking for libboost_regex_gcc-d-1_33_1.a
> (or mt-d, or -g, or -y). If they are not found, release libraries are 
> used. If the found libraries are not used later, it is a scons bug.
> The shared libraries should be used, given the command line
> -lboost-regex-1_33_1.

Actually it did not use either (but the internal boost version as I found 
out later). I only guessed from the messages it gave that it would use the 
static libraries, but that was not true.

> In summary: scons tries to use the debug version of qt and boost
> libraries under mode=debug, and tries to check the exact boost version
> (it checks library names and opens boost/version.hpp to check for
> version string) before using it.

It does still not find boost 1.33.1, and gives the same confusing error 
messages as cited above.

> It autotools do not link to the debug 
> version and allow boost 1_35 (cvs) to be used (it can not be used
> actually), autotools would better be improved.

I ask again: Why would I want to debug boost or qt if I want a debug 
version of LyX? This is normally not needed in my experience. And even if 
it was: If you don't compile a library yourself there usually is no debug 
version. Although I don't like to use debug libraries it would not mind 
scons searching them, as long as it correctly falls back to the non-debug 
versions if it does not find the debug version.

Yes, autotools do not check the boost version at all. That should be 
improved, but since using the included boost is the default for autotools 
this is not such a high priority.


Georg

Reply via email to