Here are the issues I faced when building r190 on Solaris:
Unresolved issues
These are issues that still need to be addressed:
Warning when running ./configure:
...
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for shared library run path origin... done
./configure: line 16152: gt_INTL_MACOSX: command not found
checking for GNU gettext in libc... no
checking for iconv... yes
checking for working iconv... yes
...
Another warning in ./configure:
...
checking term.h usability... no
checking term.h presence... yes
configure: WARNING: term.h: present but cannot be compiled
configure: WARNING: term.h: check for missing prerequisite headers?
configure: WARNING: term.h: see the Autoconf documentation
configure: WARNING: term.h: section "Present But Cannot Be Compiled"
configure: WARNING: term.h: proceeding with the compiler's result
configure: WARNING: ## ------------------------------ ##
configure: WARNING: ## ------------------------------ ##
checking for term.h... no
checking execinfo.h usability... no
checking execinfo.h presence... no
...
Dynamic arrays detection doesn't seem to work
Is there any detection magic for dynamic arrays in configure? HAVE_DYNAMIC_ARRAYS was set to 1 in config.h for me.
If not, I could give it a try to write it for you.
The flag -rdynamic does not worn on Sun C++
This flag is GCC-specific. It can't be used on non-GCC compilers.
Fixed issues
The following issues are things I have fixed, and that is addressed in the attached patch:
Need to include <sstream> in several files in emacs_mode
On Linux, this seems to be included by something else. I've fixed it in the repository and it's part of the attached patch as well.
Overloading ambiguity (int to double vs float)
In IntCell.cc, line 299. Changed the line:
new (Z) FloatCell(log(value.ival));
to:
new (Z) FloatCell(log(static_cast<double>(value.ival)));
Avoiding zero-length arrays:
Changed:
static VH_entry history[VALUEHISTORY_SIZE];
to:
static VH_entry history[VALUEHISTORY_SIZE == 0 ? 1 : VALUEHISTORY_SIZE];
NOMACROS definition
On Solaris, NOMACROS needs to be defined prior to including <curses.h>.
Even though it has been defined, it seems to define the macro "tab" which messes up some template definitions later. #undef tab fixes it.
TPUTS_arg3 was not used in Output.hh
Simple problem. I've updated the file.
tparm10 passed too many arguments
The definition actually passed 12 values instead of 10.
Dyanamic arrays without DynArray
Instances of dynamic arrays which has not been converted to DynArray.