Hi, I tried to build lyx 1.1.4fix3 on Solaris 7 first with Sun's C++ 5.0 (just to see if it would work) and then with g++ 2.95.1. Neither attempt was completely successful. Regardless of the compiler, after I ran configure script, invoking make produces this: cd . && automake --foreign --include-deps Makefile aclocal.m4: 1630: `AM_PROG_INSTALL' is obsolete; use `AC_PROG_INSTALL' make: *** [Makefile.in] Error 1 I'm have autoconf 2.13, automake 1.4 and libtool 1.3.4 installed. The problem above doesn't happen if fixes are not applied to plain lyx 1.1.4 source. With patches applied, the problem goes away if I delete config.status and run configure again. I found that by accident, since I first had libtool 1.3.3, so I thought that 1.3.4 might cure it. Anyway, I'm not sure what was automake supposed to do, but it didn't do it. The first try with Sun's compiler didn't go too well. I managed to make it compile the source, but then the linking failed. The patch is in the first attachment. It's mostly casting to hopefully proper types. There's one cast to something called string. I'm not at all sure that the patch is the proper solution, because I don't know C++, but it made compiler happy. Linking errors are in the second attachment. Since I don't know C++, it doesn't make any sense to me, but I'm including it in case someone can really understand that crap. That is just the beginning; the whole list is *huge*. Then I tried with g++. The source was compiled and linked without problems (and the binary works), but then `make install' failed with this: Making install in reLyX gmake[2]: Entering directory `/home/dave/work/lyx-1.1.4/lib/reLyX' cd . && CONFIG_FILES=reLyX CONFIG_HEADERS= /bin/sh ./config.status creating reLyX gmake[3]: Entering directory `/home/dave/work/lyx-1.1.4/lib/reLyX' /bin/sh ./../../config/mkinstalldirs ./reLyX/bin mkdir ./reLyX mkdir: Failed to make directory "reLyX"; File exists mkdir ./reLyX/bin mkdir: Failed to make directory "reLyX/bin"; Not a directory gmake[3]: *** [install-binSCRIPTS] Error 2 gmake[3]: Leaving directory `/home/dave/work/lyx-1.1.4/lib/reLyX' The step noted as "creating reLyX" created reLyX binary and then an attempt to make reLyX directory failed, because a file with that name already existed. So I decided to report all this and try to use lyx 1.0 which I already had. I need it for writing some small texts in Croatian (which requires ISO 8859-2 fonts), and I've managed to make it work, but it's barely usable and I can't find any logic the in the code page management. The rest of this mail applies to lyx 1.0 on Solaris 8. I've scanned 1.1.4 documentation and I can't say I've noticed significant differencies. I have bitmap ISO 8859-2 fonts. If I select iso8859-2 code page, I can get them on the screen. The problem is getting them in the generated PostScript. I didn't try to print, because I expect that gv previews won't differ in this respect. I've used xmodmap to assign national characters to some keys. That's actually cheating, since X server thinks it's using Latin 1, but all it does is number generation, and that's working fine (except that Caps Lock doesn't work the way it should, but I can live with that). XKB extension is off. If I type one of the characters with positions above 128 (just a single key press, no compose sequences or dead keys or anything like that), then Latin 2 letter is shown on the screen (logical, since I've forced Latin 2 screen fonts), but the generated PS has Latin 1 character with the same position in the Latin 1 code page. I really haven't found a way to tell LyX to interpret KeySyMs coming from the X server as Latin 2 characters, which is all I need. Compose sequences and dead keys are fine if you want to type some character which is seldom used, but for the characters which are normally used, I'd really want to use a single key press. Then I looked into distributed keymap files and found that most (all?) of Latin 2 languages have compose sequences defined there. Which is rather strange. Then I tried to bind a LaTeX (?) sequence to my Latin 2 characters. Taking s with caron as an example, it looks like this: \kmap š "\\v{s}" I put that into croatian.kmap, selected it from Options->Keyboard and then I got s with caron in the generated PostScript. However, that dialog has "Character set" entry. It was iso8859-1 by default and I left it like that and PS was OK. When I tried to change it to iso8859-2, PS was generated with Latin 1 characters. Then I set it back to iso8859-1, but PS was still generated with Latin 1 characters. That looks like a bug. It might have been fixed in subsequent versions, though. I don't understand what is the intended usage for that entry. It looks like the thing I need, ie. interpret KeySyms as <selected code page> characters, but it doesn't work like that. It doesn't work at all, I think. Back to keymap file. restart LyX, select croatian.map and PS again has Latin 2 characters. However, the characters shown on the screen are not the characters which should be shown. Since I told LyX to use Latin 2 fonts, I would expect it to use them. But it actually takes ASCII character and then draws accents above them, so the letter resembles s with caron (for example), but the caron looks really awful. It's very hard to read such text, because those little things above nice bitmap characters are very distracting. So, how do I tell LyX to use Latin 2 fonts on the screen and in the generated PostScript? Without compose sequences (which would probably produce the same effect, but I didn't even try to use them). There's one other annoying thing. When I use arrow keys to go up (or down) in the text and I'm on the top (or bottom) of the screen, LyX doesn't scroll the text by one line. Instead it jumps and scrolls several lines. I understand that this is [X]Emacs default behaviour, but I don't use either of them and I find it intimidating. I've read a large part of the included documentation, but I wasn't able to find a way to stop it. How do I break its legs? -- .-. .-. I don't work for my employer. (_ \ / _) | [EMAIL PROTECTED] | [EMAIL PROTECTED]
--- src/layout.C.orig Sat May 13 18:51:17 2000 +++ src/layout.C Sat May 13 18:52:11 2000 @@ -1214,7 +1214,7 @@ for (ClassList::const_iterator cit = classlist.begin(); cit != classlist.end(); ++cit) { if ((*cit).name() == textclass) - return make_pair(true, cit - classlist.begin()); + return make_pair(true, (unsigned)(cit - classlist.begin())); } return make_pair(false, size_type(0)); } @@ -1243,7 +1243,7 @@ return make_pair(true, i); } if (name == "dummy") - return make_pair(true, LYX_DUMMY_LAYOUT); + return make_pair(true, (unsigned)LYX_DUMMY_LAYOUT); return make_pair(false, LyXTextClass::LayoutList::size_type(0)); // not found } --- src/lyx_gui_misc.C.orig Sat May 13 19:04:42 2000 +++ src/lyx_gui_misc.C Sat May 13 19:04:46 2000 @@ -410,7 +410,7 @@ fl_set_resource("flInput.clear.label", idex(_("Clear|#e"))); tmp = fl_show_input(msg.c_str(), dflt.c_str()); if (tmp != 0) - return make_pair<bool, string>(true, tmp); + return make_pair<bool, string>(true, (string)tmp); else return make_pair<bool, string>(false, string()); } --- src/lyx_main.C.orig Sat May 13 19:05:11 2000 +++ src/lyx_main.C Sat May 13 19:05:32 2000 @@ -13,6 +13,8 @@ #include <cstdlib> #include <csignal> +#include <signal.h> + #include "version.h" #include "lyx_main.h" #include "lyx_gui.h" --- src/lyxfunc.C.orig Sat May 13 19:08:11 2000 +++ src/lyxfunc.C Sat May 13 19:11:07 2000 @@ -1073,7 +1073,7 @@ // and current buffer's textclass (number). */ LyXTextClassList::ClassList::size_type tclass = owner->view()->text->parameters->textclass; - pair <bool, int> layout = + pair <bool, unsigned> layout = textclasslist.NumberOfLayout(tclass, argument); // If the entry is obsolete, use the new one instead. --- src/mathed/math_symbols.C.orig Sat May 13 18:30:16 2000 +++ src/mathed/math_symbols.C Sat May 13 18:33:37 2000 @@ -542,7 +542,7 @@ XpmCreateDataFromImage(fl_display, const_cast<char***>(&data), sbima, sbima, 0); // Dirty hack to get blue symbols quickly - char * sx = strstr(data[2], "FFFFFFFF"); + char * sx = (char *)strstr(data[2], "FFFFFFFF"); if (sx) { for (int k = 0; k < 8; ++k) sx[k] = '0'; }
CC -g -L/usr/local/lib -o lyx BufferView.o Bullet.o Chktex.o DepTable.o FontInfo .o FontLoader.o ImportLaTeX.o ImportNoweb.o LaTeX.o LaTeXFeatures.o LaTeXLog.o L iterate.o LyXAction.o LyXSendto.o LyXView.o PaperLayout.o ParagraphExtra.o Spaci ng.o TableLayout.o bmtable.o buffer.o bufferlist.o bufferparams.o bullet_forms.o bullet_forms_cb.o chset.o combox.o credits.o credits_form.o debug.o filedlg.o f orm1.o intl.o kbmap.o lastfiles.o latexoptions.o layout.o layout_forms.o lyx.o l yx_cb.o lyx_gui.o lyx_gui_misc.o lyx_main.o lyx_sendfax.o lyx_sendfax_main.o lyx _sty.o lyxdraw.o lyxfont.o lyxfr0.o lyxfr1.o lyxfunc.o lyxlex.o lyxlookup.o lyxr c.o lyxserver.o lyxvc.o main.o menus.o minibuffer.o paragraph.o print_form.o scr een.o sp_form.o spellchecker.o table.o tex-accent.o tex-strings.o texoptions.o t exrow.o text.o text2.o toolbar.o trans.o trans_mgr.o undo.o vc-backend.o vspace. o mathed/.libs/libmathed.a insets/.libs/libinsets.a support/.libs/libsupport.a - lforms -lXpm -lSM -lICE -lc -lm -L/usr/openwin/lib -lX11 -lsocket -lnsl -R/usr/l ocal/lib -R/usr/openwin/lib -R/usr/local/lib -R/usr/openwin/lib ild: (undefined symbol) void std::deque<queue_element,std::allocator<queue_eleme nt> >::__deallocate_at_begin() -- referenced in the text segment of insets/.libs /libinsets.a(figinset.o) ild: (undefined symbol) void std::__final_insertion_sort<int*>(__type_0,__type_0 ) -- referenced in the text segment of paragraph.o ild: (undefined symbol) __type_0 std::find<Buffer**,Buffer*>(__type_0,__type_0,c onst __type_1&) -- referenced in the text segment of bufferlist.o ild: (undefined symbol) __rwstd::__rb_tree<unsigned,std::pair<const unsigned,LyX Action::pseudo_func>,__rwstd::__select1st<std::pair<const unsigned,LyXAction::ps eudo_func>,unsigned>,std::less<unsigned>,std::allocator<std::pair<const unsigned ,LyXAction::pseudo_func> > >::iterator __rwstd::__rb_tree<unsigned,std::pair<con st unsigned,LyXAction::pseudo_func>,__rwstd::__select1st<std::pair<const unsigne d,LyXAction::pseudo_func>,unsigned>,std::less<unsigned>,std::allocator<std::pair <const unsigned,LyXAction::pseudo_func> > >::erase(__rwstd::__rb_tree<unsigned,s td::pair<const unsigned,LyXAction::pseudo_func>,__rwstd::__select1st<std::pair<c onst unsigned,LyXAction::pseudo_func>,unsigned>,std::less<unsigned>,std::allocat or<std::pair<const unsigned,LyXAction::pseudo_func> > >::iterator,__rwstd::__rb_ tree<unsigned,std::pair<const unsigned,LyXAction::pseudo_func>,__rwstd::__select 1st<std::pair<const unsigned,LyXAction::pseudo_func>,unsigned>,std::less<unsigne d>,std::allocator<std::pair<const unsigned,LyXAction::pseudo_func> > >::iterator ) -- referenced in the text segment of LyXAction.o ild: (undefined symbol) __rwstd::__rb_tree<kb_action,std::pair<const kb_action,L yXAction::func_info>,__rwstd::__select1st<std::pair<const kb_action,LyXAction::f unc_info>,kb_action>,std::less<kb_action>,std::allocator<std::pair<const kb_acti on,LyXAction::func_info> > >::iterator __rwstd::__rb_tree<kb_action,std::pair<co nst kb_action,LyXAction::func_info>,__rwstd::__select1st<std::pair<const kb_acti on,LyXAction::func_info>,kb_action>,std::less<kb_action>,std::allocator<std::pai r<const kb_action,LyXAction::func_info> > >::find(const kb_action&)const -- refe renced in the text segment of LyXAction.o ild: (undefined symbol) void std::vector<std::basic_string<char,std::char_traits <char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_tr aits<char>,std::allocator<char> > > >::__insert_aux(std::basic_string<char,std:: char_traits<char>,std::allocator<char> >*,const std::basic_string<char,std::char _traits<char>,std::allocator<char> >&) -- referenced in the text segment of buff erlist.o ild: (undefined symbol) void __rwstd::__rb_tree<std::basic_string<char,std::char _traits<char>,std::allocator<char> >,std::pair<const std::basic_string<char,std: :char_traits<char>,std::allocator<char> >,unsigned char>,__rwstd::__select1st<st d::pair<const std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned char>,std::basic_string<char,std::char_traits<char>,std::allocator<c har> > >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator< char> > >,std::allocator<std::pair<const std::basic_string<char,std::char_traits <char>,std::allocator<char> >,unsigned char> > >::__deallocate_buffers() -- refe renced in the text segment of trans_mgr.o ild: (undefined symbol) __type_1 std::copy<char*,char*>(__type_0,__type_0,__type _1) -- referenced in the text segment of text2.o ild: (undefined symbol) __type_1 std::copy<char*,char*>(__type_0,__type_0,__type _1) -- referenced in the text segment of paragraph.o