From: Robert R. <re...@ii...> - 2004-07-28 15:08:07
|
Hi Trying to build the latest octave-forge release (2004.07.07) on solaris (sparc) 2.8 using gcc 3.4.1 with octave 2.1.57 I ran into a couple of problems. To get through the build process, I had to do use the following workarounds. Some of this is probably due to the exact setup here, some of them might be more general problems. - /bin/sh versus /bin/bash The octave-forge build seems to assume that /bin/sh actually is a bash shell, which it isn't on a std solaris box. I therefore changed "/bin/sh" to "/bin/bash" in the following places: - Makeconf (SHELL = ...) - all *.sh files in all directories (#!/bin/bash, not #!/bin/sh). - term.h does not compile on solaris if curses.h isn't included first. For this, I commented out the TERM_H and TERMCAP stuff in Makeconf. This should probably be handled better by the configure process, but I don't know enough about that to try to fix it. - "-R" option in "X_LIBS" My configure sets "-R/usr/openwin/lib" in X_LIBS, which leads to problems since mkoctfile does not accept "-R". I therefore removed the "-R" option from X_LIBS in Makeconf (might lead to problems later on, but at least build should work ...). - dispatch.cc doesn't compile gcc does not compile the last statement in main/miscellaneous/dispatch.cc ("template std::map<std::string,std::string>;"). I therefore commented that out. - installing: install-sh not found due to relative path. install-sh is set with a relative path ("./install-sh") in Makeconf and octinst.sh (INSTALL = ...). This fails when INSTALL is executed in subdirs. I therefore set this to the full absolute path to install-sh in those two definitions. With this, I can build and install octave-forge. gmake check fails (segmentation violation while in main/signal). I don't know yet, what other problems I still have. If anybody has experience with building octave and octave-forge on solaris 2.8 with gcc I'll be thankful for any hints and better solutions. Versions: - sparc-sun-solaris2.8 - octave 2.1.57 - octave-forge 2004.07.07 - gcc 3.4.1 - autoconf 2.59 - automake 1.8b - gmake 3.80 Thanks, Robert |
From: Paul K. <pki...@us...> - 2004-07-28 23:52:48
|
On Jul 28, 2004, at 10:55 AM, Robert Reutemann wrote: > Hi > > Trying to build the latest octave-forge release > (2004.07.07) on solaris (sparc) 2.8 using gcc 3.4.1 > with octave 2.1.57 I ran into a couple of problems. Thanks for reporting them. > To get through the build process, I had to do > use the following workarounds. Some of this is > probably due to the exact setup here, some of > them might be more general problems. > > - /bin/sh versus /bin/bash > The octave-forge build seems to assume that /bin/sh > actually is a bash shell, which it isn't on a std > solaris box. > I therefore changed "/bin/sh" to "/bin/bash" in > the following places: > - Makeconf (SHELL = ...) > - all *.sh files in all directories (#!/bin/bash, > not #!/bin/sh). We are trying to be shell agnostic. Please report the sh incompatibilities rather than requiring bash on the target machine. > - term.h does not compile on solaris if curses.h > isn't included first. > For this, I commented out the TERM_H and TERMCAP > stuff in Makeconf. > This should probably be handled better by the > configure process, but I don't know enough about > that to try to fix it. I'm very tempted to remove the term dependent modules unless someone fixes the configure. I will ignore it for awhile longer. > > - "-R" option in "X_LIBS" > My configure sets "-R/usr/openwin/lib" in X_LIBS, > which leads to problems since mkoctfile does not > accept "-R". > I therefore removed the "-R" option from X_LIBS in > Makeconf (might lead to problems later on, but > at least build should work ...). This is an octave bug. Please report it to bu...@oc... I tried to set it up so that everything that could be built would be built and the rest ignored. Is that not the case? Maybe I should fail silently ;-) > - dispatch.cc doesn't compile > gcc does not compile the last statement in > main/miscellaneous/dispatch.cc > ("template std::map<std::string,std::string>;"). > I therefore commented that out. I'm using: #if defined(__GNUG__) template class std::map<std::string,std::string>; #endif I see octave doesn't even use #if defined(__GNUG__) anymore. Can you please report the error message. Did you need to do similar changes in Octave? Anyone know the correct incantation? > - installing: install-sh not found due to relative > path. > install-sh is set with a relative path ("./install-sh") > in Makeconf and octinst.sh (INSTALL = ...). This fails > when INSTALL is executed in subdirs. > I therefore set this to the full absolute path to > install-sh in those two definitions. I'm using autoconf AC_PROG_INSTALL. Anyone know how to make it use absolute path? > With this, I can build and install octave-forge. > > gmake check fails (segmentation violation while in > main/signal). I don't know yet, what other problems > I still have. I would be much obliged if you could split up the make check work so that it only checks a directory at a time. At least that way it will minimize the consequences of a segfault. You probably don't want to go down to the level of the individual file since that will start and restart octave too many times. Alternatively, the test program could monitor progress and restart at the next test after a segfault. > If anybody has experience with building octave and > octave-forge on solaris 2.8 with gcc I'll be thankful > for any hints and better solutions. Please post your experiences on the octave wiki http://wiki.octave.org Category Install. - Paul |
From: Robert R. <re...@ii...> - 2004-08-03 16:07:41
|
Paul Kienzle wrote: > > On Jul 28, 2004, at 10:55 AM, Robert Reutemann wrote: > >> Hi >> >> Trying to build the latest octave-forge release >> (2004.07.07) on solaris (sparc) 2.8 using gcc 3.4.1 >> with octave 2.1.57 I ran into a couple of problems. .... >> gmake check fails (segmentation violation while in >> main/signal). I don't know yet, what other problems >> I still have. (It wasn't in main/signal, but in main/sparse, sorry, see below.) > > I would be much obliged if you could split up the > make check work so that it only checks a directory > at a time. At least that way it will minimize the > consequences of a segfault. You probably don't > want to go down to the level of the individual file > since that will start and restart octave too many > times. Alternatively, the test program could monitor > progress and restart at the next test after a segfault. I tried to split up the make check stuff. All the problems seem to be in sparse/.... Up to main/signal, fntests.m works, with the following error: -------------------------------------------------------- >>>>> processing main/signal/kaiserord.m ***** test error("extend demo to show detail at criteria box corners"); !!!!! test failed error: extend demo to show detail at criteria box corners -------------------------------------------------------- Then, I have to comment *all* checks in sparse, except for pcg.m. Including any of the other sparse tests leads to a segmentation violation. With the sparse stuff commented out, the tests run through, with the following error: -------------------------------------------------------- >>>>> processing main/statistics/princomp.m ***** assert(Tsq,1,10*eps); !!!!! test failed error: assert (Tsq,1,10 * eps) expected 1 but got NaN NaN Dimensions don't match shared variables { Tsq = NaN NaN m = -0.70711 0.70711 0.00000 0.70711 0.70711 0.00000 -0.00000 0.00000 1.00000 pc = -0.70711 0.70711 0.00000 0.70711 0.70711 0.00000 -0.00000 0.00000 1.00000 w = 1 0 0 x = 1 2 3 2 1 3 z = 0.70711 0.00000 0.00000 -0.70711 -0.00000 0.00000 } -------------------------------------------------------- In batch_test.m, I again have to remove the sparse stuff ("fem_test"), since I get segmentation violations other- wise. With sparse commented out, batch_test.m passes all tests. >> If anybody has experience with building octave and >> octave-forge on solaris 2.8 with gcc I'll be thankful >> for any hints and better solutions. > > > Please post your experiences on the octave wiki > > http://wiki.octave.org > > Category Install. > I'll try to summarize my experiences there next. I still didn't work on getting the scripts to run with standard /bin/sh -- just using /bin/bash was easier. Robert |