Article View: comp.lang.c++.leda
Article #151LEDA-3.2.3 on Solaris 2.4
From: Olivier L'Heureux
Date: Fri, 27 Oct 1995 10:40
Date: Fri, 27 Oct 1995 10:40
235 lines
9780 bytes
9780 bytes
--Multipart Fri Oct 27 11:40:54 1995
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Hello,
I loaded "LEDA-R-3.2.3" library, and I compiled it. I noted all the
potential problems and reported them here. It may help other users.
I compiled LEDA on a Sun SPARCstation 20.
The operating system was Solaris 2.4 (SunOS 5.4) with patch 101945-13.
The compiler used was gcc version 2.7.0.
By the way, I succeeded to compile LEDA as shared library, it is
not so difficult. Without the sharing libraries, compiling all the
programmes with `-g -O' requires more than 100 MB ! More in another
post.
Olivier L'Heureux
----------------------------------------------------------------------
Laboratoire de microélectronique de l'Université catholique de Louvain
e-mail: lheureux@dice.ucl.ac.be B-1348 Louvain-la-Neuve
<URL:http://www.dice.ucl.ac.be/~lheureux> Belgium
MIME/PGP accepted
--------------------------
1) Compilation of the libraries: OK !
Only one problem happened. I compiled the library with both options
"-g" (debugging) and "-O" (optimisation). (Yes, I had to change the
Makefile ! ). "_mw_mat1.c" and "_mw_mat2.c" do not support both
options; I had to compile them without "-g". It is propably an
overflow in gcc-2.7.0, the generated assembly source is more than 2
MB !
-------------
../../c++ -I../../incl -g -O -DLEDA_CHECKING_OFF -c _mw_mat1.c
cc1plus: /var/tmp/cca001DQ.s: I/O error
make[2]: [_mw_mat1.o] Error 1 (ignored)
../../c++ -I../../incl -g -O -DLEDA_CHECKING_OFF -c _mw_mat2.c
cc1plus: /var/tmp/cca001DT.s: I/O error
make[2]: [_mw_mat2.o] Error 1 (ignored)
-------------
To compile with more than one option, insert lines like these in
LEDA-3.2.3/makefile:
-------------
lib_gO:
cd src; $(MAKE) -i FLAGS="\"-g -O\""
pro_gO:
cd prog; $(MAKE) -i FLAGS="\"-g -O\""
-------------
2) Compilation of the programmes:
2.1) The `prog/graph/short' programme calls an algorithm
"STATIC_DIJKSTA" wich does not exist, compilation crashes.
2.2) The `prog/graph/shorttest' programme #includes <LEDA/node_slist.h>,
which does not exist, compilation crashes.
2.3) The programmes linked with `-lX11' needs to be linked with
`-lsocket' on Solaris 2.x. Here is a typical error message:
-------------
../../c++ -g -O -o bin_tree bin_tree.o ../../libP.a ../../libG.a ../../libL.a ../../libWx.a -lX11 -lm
Undefined first referenced
symbol in file
socket /usr/X11R5/lib/libX11.so
xdrmem_create /usr/X11R5/lib/libX11.so
gethostbyname /usr/X11R5/lib/libX11.so
setsockopt /usr/X11R5/lib/libX11.so
authdes_create /usr/X11R5/lib/libX11.so
inet_addr /usr/X11R5/lib/libX11.so
connect /usr/X11R5/lib/libX11.so
ld: fatal: Symbol referencing errors. No output written to bin_tree
make[2]: [bin_tree] Error 1 (ignored)
-------------
The Makefiles in the directories "prog/windows" and
"prog/demo" should be updated with the following patch:
--Multipart Fri Oct 27 11:40:54 1995
Content-Type: text/plain; charset=US-ASCII
*** Makefile Tue Oct 24 12:04:19 1995
--- Makefile.orig Fri Sep 15 15:43:10 1995
***************
*** 1,5 ****
! UNIXLIB = -L../.. -lP -lG -lL -lWx -lX11 -lm -lsocket
DOSLIB = ..\\..\\libp.lib ..\\..\\libg.lib ..\\..\\libl.lib ..\\..\\libwx.lib
--- 1,5 ----
! UNIXLIB = ../../libP.a ../../libG.a ../../libL.a ../../libWx.a -lX11 -lm
DOSLIB = ..\\..\\libp.lib ..\\..\\libg.lib ..\\..\\libl.lib ..\\..\\libwx.lib
--Multipart Fri Oct 27 11:40:54 1995
Content-Type: text/plain; charset=US-ASCII
2.4) The programmes `prog/seeep/test.c' and `prog/seeep/demo.c' does
not compile.
-------------
../../c++ -I../../incl -g -O -c test.c
test.c: In function `int main()':
test.c:61: no matching function for call to `point::point (integer, integer, integer)'
../../incl/LEDA/point.h:66: candidates are: point::point()
../../incl/LEDA/point.h:70: point::point(double, double)
../../incl/LEDA/point.h:74: point::point(vector)
../../incl/LEDA/point.h:78: point::point(const point &)
test.c:61: no matching function for call to `point::point (integer, integer, integer)'
../../incl/LEDA/point.h:66: candidates are: point::point()
../../incl/LEDA/point.h:70: point::point(double, double)
../../incl/LEDA/point.h:74: point::point(vector)
../../incl/LEDA/point.h:78: point::point(const point &)
test.c:61: in base initialization for class `segment'
test.c:68: `cmp_count' is not a member of type `point'
test.c:68: `exact_cmp_count' is not a member of type `point'
test.c:68: `exact_cmp_count' is not a member of type `point'
test.c:68: `cmp_count' is not a member of type `point'
test.c:70: `cmp_count' is not a member of type `point'
test.c:70: `exact_cmp_count' is not a member of type `point'
test.c:70: `exact_cmp_count' is not a member of type `point'
test.c:70: `cmp_count' is not a member of type `point'
test.c:71: `use_filter' is not a member of type `point'
test.c:72: `use_filter' is not a member of type `segment'
test.c:73: `cmp_count' is not a member of type `point'
test.c:73: `exact_cmp_count' is not a member of type `point'
test.c:73: `exact_cmp_count' is not a member of type `point'
test.c:73: `cmp_count' is not a member of type `point'
make: [test.o] Error 1 (ignored)
-------------
../../c++ -I../../incl -g -O -c demo.c
demo.c:3: LEDA/rat_point1.h: No such file or directory
demo.c:4: LEDA/rat_segment1.h: No such file or directory
make: [demo.o] Error 1 (ignored)
-------------
3) Documentation:
3.1) The documentation may not be extracted without `gawk', because
the awk scripts seems non-standard.
The following patch for LEDA-3.2.3/man/extman.awk permits to
use `nawk' instead. Put a symbolic link "LEDA-3.2.3/man/Awk"
toward either `gawk' if you have it or `nawk'.
--Multipart Fri Oct 27 11:40:54 1995
Content-Type: text/plain; charset=US-ASCII
*** extman.awk Wed Feb 1 15:09:53 1995
--- extman.awk.orig Wed Feb 1 12:13:13 1995
***************
*** 1,5 ****
! # BEGIN { datatype = "?????????????"; }
! BEGIN { datatype = "............."; }
function removeweb()
{ x = 0;
--- 1,4 ----
! BEGIN { datatype = "?????????????"; }
function removeweb()
{ x = 0;
***************
*** 54,61 ****
/\/\*{\\Mbinopfunc/ {
split(memberfunc,arr);
if (arr[2] !~ /[a-z,A-Z]+.*/) # binary operator
! {
! sub(/arr[2]/,"",memberfunc);
sub(/\(/,"",memberfunc);
sub(/\)/,"",memberfunc);
sub(/\,/,"\\ "arr[2],memberfunc);
--- 53,59 ----
/\/\*{\\Mbinopfunc/ {
split(memberfunc,arr);
if (arr[2] !~ /[a-z,A-Z]+.*/) # binary operator
! { sub(arr[2],"",memberfunc);
sub(/\(/,"",memberfunc);
sub(/\)/,"",memberfunc);
sub(/\,/,"\\ "arr[2],memberfunc);
*** tman Mon Oct 16 17:42:02 1995
--- tman.orig Fri Sep 15 15:43:14 1995
***************
*** 56,63 ****
echo "" >> $tmpfile.tex
echo "\begin{document}" >> $tmpfile.tex
echo "\chapter{ }" >> $tmpfile.tex
! # gawk -f $MAN/extman.awk $INCL/$1.h >> $tmpfile.tex
! $MAN/Awk -f $MAN/extman.awk $INCL/$1.h >> $tmpfile.tex
echo "\end{document}" >> $tmpfile.tex
--- 56,62 ----
echo "" >> $tmpfile.tex
echo "\begin{document}" >> $tmpfile.tex
echo "\chapter{ }" >> $tmpfile.tex
! gawk -f $MAN/extman.awk $INCL/$1.h >> $tmpfile.tex
echo "\end{document}" >> $tmpfile.tex
--Multipart Fri Oct 27 11:40:54 1995
Content-Type: text/plain; charset=US-ASCII
3.2) Adding a "SHELL= /bin/csh" line on top of "man/Makefile" may help.
3.3) LaTeX errors :
\abs : Undefined control sequence (extract/graph.tex, l.9,
l.10, l.45, l.50)
Missing $ inserted. (extract/node_list.tex l.1)
Solutions :
Put a line "\def\abs {|}" in MANUAL.mac.
Replace "node\\_list" by "node\_list" on line 1 of
man/extract/node_list.tex.
Replace "graph\\_misc" by "graph\_misc" on line 1 of
man/extract/graph_misc.tex.
It should probably be better to update the original .h files.
4) Programmes:
4.1) `hash_dic' crashes with "Segmentation fault".
4.2) `bin_tree' crashes with "Segmentation fault".
4.3) `embedding' gives a message
"ERROR(2): sorry: can only embed bidirected graphs."
with the default settings (random input = on, # segments = 40,
node width = 12, edge width = 1)
4.4) `hilbert' stops with "Segmentation fault".
--Multipart Fri Oct 27 11:40:54 1995--
Technical Details
Message-ID:
<LHEUREUX.95Oct27114055@sphinx.dice.ucl.ac.be>Path:
arc1-ca.pugleaf.net!news.sri.ucl.ac.be!lheureuxShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news.sri.ucl.ac.be!lheureux From: Olivier L'Heureux <lheureux@dice.ucl.ac.be> Newsgroups: comp.lang.c++.leda Subject: LEDA-3.2.3 on Solaris 2.4 Date: 27 Oct 1995 10:40:55 GMT Organization: Lab. de Microelectronique - UCL - Belgium Distribution: world Message-ID: <LHEUREUX.95Oct27114055@sphinx.dice.ucl.ac.be> NNTP-Posting-Host: ns3.dice.ucl.ac.be Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart Fri Oct 27 11:40:54 1995" Content-Transfer-Encoding: 7bit