>>>>> "Thomas" == Thomas Anders <[EMAIL PROTECTED]> writes:
Thomas> Going further: Thomas> - --- snip --- /usr/bin/cxx -std strict_ansi -DHAVE_CONFIG_H Thomas> -I. -I. -I../../src -I./../ -I../.. -I../../boost Thomas> -I/net/usr/include -ptr /tmp/lyx_cxx_repository Thomas> -I/net/usr/include -c -MD insetbib.C cxx: Error: Thomas> ../../src/paragraph.h, line 366: type "Paragraph::InsetList" Thomas> is inaccessible inset_iterator(InsetList::iterator const & Thomas> iter); -------------------------------^ cxx: Error: Thomas> ../../src/paragraph.h, line 389: type "Paragraph::InsetList" Thomas> is inaccessible InsetList::iterator it; ----------------^ cxx: Thomas> Info: 2 errors detected in the compilation of "insetbib.C". Thomas> gmake[3]: *** [insetbib.lo] Error 1 gmake[3]: Leaving Thomas> directory `/path/to/lyx-1.2.0/src/insets' - --- snap --- Thomas> IIRC Angus' suggestion was to move "typedef Thomas> std::vector<InsetTable> InsetList;" and "InsetList insetlist;" Thomas> from private to public in src/paragraph.h. And would defining inset_iterator as friend class inset_iterator { ... work? And remove the firend declaration below, I guess. Thomas> If I do this, it compiles until: Thomas> - --- snip --- /usr/bin/cxx -std strict_ansi -DHAVE_CONFIG_H Thomas> -I. -I. -I../../src -I./../ -I../.. -I../../boost Thomas> -I/net/usr/include -ptr /tmp/lyx_cxx_repository Thomas> -I/net/usr/include -c -MD insetexternal.C cxx: Error: Thomas> insetexternal.C, line 295: the global scope has no "difftime" Thomas> ::difftime(fi2.getModificationTime(), ----------------------^ Thomas> cxx: Info: 1 error detected in the compilation of Thomas> "insetexternal.C". gmake[3]: *** [insetexternal.lo] Error 1 Thomas> gmake[3]: Leaving directory `/path/to/lyx-1.2.0/src/insets' - Thomas> --- snap --- Do we really need to use difftime? Isn't there another way to tell that a file is newer than another one?? Thomas> IIRC Angus suggested "#include <ctime>" in Thomas> src/insets/insetexternal.C which unfortunately doesn't fix it. Thomas> When I manually add "-I$(top_srcdir)/src/cheaders" to CPPFLAGS Thomas> in src/insets/Makefile (configure decided to put Thomas> "lyx_cv_cxx_cheaders=yes" in config.cache), I get conflicts: This is only needed for cxx <6.3, indeed. Actually, these new cheaders are probably the main reason why you have problems with cxx 6.5. Thomas> Well, with an ugly "#include <time.h>" it compiles. What is the reason why <ctime> does not provide it? It looks like a reasonable standard thing... Did you try a simple 'using std::difftime;'? Thomas> Now I'm stuck at: Thomas> - --- snip --- /usr/bin/cxx -std strict_ansi -DHAVE_CONFIG_H Thomas> -I. -I. -I../../src -I./../ -I../.. -I../../boost Thomas> -I/net/usr/include -ptr /tmp/lyx_cxx_repository Thomas> -I/net/usr/include -c -MD insetgraphics.C cxx: Error: Thomas> /usr/lib/cmplrs/cxx/V6.5-021/include/cxx/utility, line 197: Thomas> extern inline function "std::make_pair(const T1 &, const T2 &) Thomas> [with T1=std::string, T2=std::string]" was referenced but not Thomas> defined inline pair<T1, T2> make_pair(const T1& x, const T2& Thomas> y) ----------------------^ cxx: Info: 1 error detected in the Thomas> compilation of "insetgraphics.C". gmake[3]: *** Thomas> [insetgraphics.lo] Error 1 gmake[3]: Leaving directory Thomas> `/path/to/lyx-1.2.0/src/insets' - --- snap --- Thomas> A cxx bug? (upgrade is not an option, this already is the Thomas> latest version) This one is strange, especially since it does not mention any useful line number in insetraphics.C. And I see no use of pairs in this file. JMarc