First of all I'm not a C++ expert nor do I know much about OOP!

We have lyx 1.0.4 running on a Sparc Solaris 2.6 machine using Sun's
C++ 5.0 compiler with the latest patches installed.

Then I tried to get lyx 1.1.5fix1 (downloaded from the home page)
compiled
under this configuration as well as on Solaris 7 and ran into the
following
problems after configure/make (an old gcc 2.81 blew up on the code):

./configure --prefix=/export --with-extra-prefix=/export
--with-lyxname=lyx-1.1.5 --datadir=/export/lib

I'd would greatly appreciate a working more recent Solaris-lyx because
a lot of
my users depend on it and I like to get it compiled with Sun's
compilers
because that's our standard development environment.

--------------------------------------------------------
Quite a bunch of messages of the following form
"insetbib.h", line 162: Warning: InsetBibtex::display hides the virtual
function

But I guess this is a normal behaviour.

--------------------------------------------------------
src/lyxparagraph.h

CC -DHAVE_CONFIG_H -I. -I. -I../../src -I../../images -I./../
-I/export/include -I/usr/openwin/include -O -c formula.C -o formula.o
"../../src/lyxparagraph.h", line 522: Error: LyXParagraph::InsetTable
is not accessible from LyXParagraph::matchIT.
"../../src/lyxparagraph.h", line 529: Error: LyXParagraph::InsetTable
is not accessible from LyXParagraph::matchIT.
"../../src/lyxparagraph.h", line 599: Error: LyXParagraph::InsetList is
not accessible from LyXParagraph::inset_iterator.
"../../src/lyxparagraph.h", line 613: Error: LyXParagraph::InsetList is
not accessible from LyXParagraph::inset_iterator.
4 Error(s) detected.

After moving the struct InsetTable and InsetList along with the
typedef into the public section it worked.

--------------------------------------------------------
src/bmtable.c

cc -DHAVE_CONFIG_H -I. -I. -I. -I../images  -I/export/include
-I/usr/openwin/include  -O -c bmtable.c
"bmtable.c", line 346: syntax error before or at: /

The Sun cc does not like C++ comments (//).
So please use normal /* */ comments in code compiled by C-compilers.

--------------------------------------------------------
src/lyx_main.C

CC -DHAVE_CONFIG_H -I. -I. -I. -I../images  -I/export/include
-I/usr/openwin/include  -O -DLYX_DIR=\"/export/lib/lyx-1.1.5\" \
  -DTOP_SRCDIR=\"..\" -c ../src/lyx_main.C
"../src/lyx_main.C", line 175: Error: The function "signal" must have a
prototype.
<and some more errors of the same kind>

After manually inserting
#include <signal.h>
the error messages vanished.

--------------------------------------------------------
Linking, the biggest obstacle:

By default Sun's C++ links in Sun's standard and runtime C++ libraries.
But I get the following error, are there incompatibilities in the
g++ and CC libs?

mkdir .libs
CC -O -s -L/export/lib -o lyx BufferView.o BufferView2.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/export/lib -R/usr/openwin/lib -R/export/lib
-R/usr/openwin/lib

Undefined                       first referenced
 symbol                             in file
void std::__final_insertion_sort<binary_op_pair*,compara>(__type_0,__type_0,__type_1) 
mathed/.libs/libmathed.a(math_utils.o)
void std::vector<InsetText::row_struct,std::allocator<InsetText::row_struct> 
>::__insert_aux(InsetText::row_struct*,const InsetText::row_struct&) 
insets/.libs/libinsets.a(insettext.o)
__type_0 std::__lower_bound<binary_op_pair*,short,compara,int>(__type_0,__type_0,const 
__type_1&,__type_2,__type_3*,std::random_access_iterator_tag) 
mathed/.libs/libmathed.a(math_utils.o)
void 
std::__quick_sort_loop_aux<math_deco_struct*,math_deco_struct,math_deco_compare>(__type_0,__type_0,__type_1*,__type_2)
 mathed/.libs/libmathed.a(math_delim.o)
void std::deque<queue_element,std::allocator<queue_element>
>::__allocate_at_end() insets/.libs/libinsets.a(figinset.o)
void std::list<int,std::allocator<int> >::__deallocate_buffers()
insets/.libs/libinsets.a(figinset.o)
std::deque<queue_element,std::allocator<queue_element> >::~deque()
insets/.libs/libinsets.a(figinset.o)
__type_1 
std::copy<InsetText::row_struct*,InsetText::row_struct*>(__type_0,__type_0,__type_1) 
insets/.libs/libinsets.a(insettext.o)
void std::count<const char*,char,unsigned>(__type_0,__type_0,const
__type_1&,__type_2&) support/.libs/libsupport.a(lstrings.o)
std::list<int,std::allocator<int> >::iterator
std::list<int,std::allocator<int> >::erase(std::list<int,std::allocator<int> 
>::iterator,std::list<int,std::allocator<int> >::iterator) 
insets/.libs/libinsets.a(figinset.o)
__type_1 
std::copy<std::pair<unsigned,unsigned>*,std::pair<unsigned,unsigned>*>(__type_0,__type_0,__type_1)
 support/.libs/libsupport.a(LRegex.o)
__type_0 
std::__lower_bound<math_deco_struct*,int,math_deco_compare,int>(__type_0,__type_0,const
 __type_1&,__type_2,__type_3*,std::random_access_iterator_tag) 
mathed/.libs/libmathed.a(math_delim.o)
__type_1 std::copy<Figref**,Figref**>(__type_0,__type_0,__type_1)
insets/.libs/libinsets.a(figinset.o)
void 
std::__quick_sort_loop_aux<binary_op_pair*,binary_op_pair,compara>(__type_0,__type_0,__type_1*,__type_2)
 mathed/.libs/libmathed.a(math_utils.o)
__type_1 std::copy<std::deque<queue_element,std::allocator<queue_element> 
>::const_iterator,std::back_insert_iterator<std::deque<queue_element,std::allocator<queue_element>
 > > >(__type_0,__type_0,__type_1) insets/.libs/libinsets.a(figinset.o)
void std::vector<figdata*,std::allocator<figdata*>
>::__insert_aux(figdata**,figdata*const&)
insets/.libs/libinsets.a(figinset.o)
__type_0 std::find<Figref**,Figref*>(__type_0,__type_0,const __type_1&)
insets/.libs/libinsets.a(figinset.o)
void 
std::__final_insertion_sort<math_deco_struct*,math_deco_compare>(__type_0,__type_0,__type_1)
 mathed/.libs/libmathed.a(math_delim.o)
void std::vector<Figref*,std::allocator<Figref*>
>::__insert_aux(Figref**,Figref*const&)
insets/.libs/libinsets.a(figinset.o)
__type_0 std::find<std::list<int,std::allocator<int>
>::iterator,long>(__type_0,__type_0,const __type_1&)
insets/.libs/libinsets.a(figinset.o)
__type_1 std::copy<figdata**,figdata**>(__type_0,__type_0,__type_1)
insets/.libs/libinsets.a(figinset.o)
void 
std::vector<std::pair<unsigned,unsigned>,std::allocator<std::pair<unsigned,unsigned> > 
>::__insert_aux(std::pair<unsigned,unsigned>*,const std::pair<unsigned,unsigned>&) 
support/.libs/libsupport.a(LRegex.o)
__type_0 std::find<figdata**,figdata*>(__type_0,__type_0,const
__type_1&) insets/.libs/libinsets.a(figinset.o)
std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> 
>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > 
> >&std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> 
>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > 
> >::operator=(const 
std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> 
>,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > 
> >&) insets/.libs/libinsets.a(insetinclude.o)
void std::deque<queue_element,std::allocator<queue_element>
>::__deallocate_at_begin() insets/.libs/libinsets.a(figinset.o)
ld: fatal: Symbol referencing errors. No output written to lyx

Reply via email to