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

Reply via email to