[Monetdb-developers] MonetDB/XQuery on SunOS 5.9

Niels Nes Niels.Nes at cwi.nl
Fri Oct 28 22:40:39 CEST 2005

On Fri, Oct 28, 2005 at 09:50:40PM +0200, Jens Teubner wrote:
> Hi all,
> for our ongoing course "Database-Supported XML Processors" I wanted to
> install MonetDB/XQuery in our Sun-based computer lab.  I encountered a
> number of pitfalls during the install that I will list below.  System is
> SunOS 5.9.  There's a bunch of GNU tools installed (e.g., gcc), but a
> number of tools is only available in their original Sun version.  I've
> used the 4.8.2/0.8.2 tarballs distributed on the SourceForge website and
> set `--enable-optimize'.
> 1. Python
> =========
> MonetDB's ./configure complains about a wrong version of Python and
> aborts.  If I give it `--without-python', however, ./configure no longer
> complains, and MonetDB compiles fine (apparently).

The rules of --with and --without are clear, ie
	if --with is given and we fail to find the require software package
	we should directly fail.
	if one is given we should automatically find out if a package is
	available, but if it isn't available we should recover and continue.
	(ie configure should finish and compilation should work)

So both the python and libbz cases need work.
> 2. make
> =======
> Default `make' on that system is the one provided by SunOS.  Apparently
> this is *not* sufficient to compile MonetDB:

Indeed we require 'gnu' make. The *.mk are there because we want
to keep the 'configure process and some of the config/makefiles files' for
MonetDB and it sub-projects the same. This is to reduce maintainance.

We should indeed reconsider this as the *.mk indeed gives some undesired
side affects.
>  -- Sun's `make' does not like the wildcards (*.mk) in Makefile
>     includes.  I'm explicitly mentioning that because that actually
>     annoys me for quite some time also on my system (independent of the
>     Sun make issue).  The Makefiles include $(top_srcdir)/*.mk and
>     $(top_builddir)/*.mk.  If I build MonetDB (or Pathfinder) directly
>     in the source directory, this leads to any *.mk file being included
>     twice---with loads of `make' warnings.  Wouldn't it be more
>     consistent to explicitly list .mk files to be included here with
>     their full name?  (Btw. with those wildcards, compilation will
>     inevitably fail if I drop some random .mk file in any of the two
>     directories---a thing that a normal user probably wouldn't
>     expect/understand.)
>  -- Lots of other stuff is not understood by Sun's `make'.
> Shouldn't ./configure also check whether the `make' implementation on a
> system suffices for the project?
> gmake did the job for me.  It was available on our Sun, fortunately.
> 3. libbz2
> =========
> There's no libbz2 on that system.  ./configure still did not complain.
> Compilation, however failed.  Adding a `--without-bz2' fixed the issue.
> 4. Compilation issue
> ====================
> gcc -DHAVE_CONFIG_H -I. -I../../../src/gdk -I../.. -I../../../src/gdk -I../common -DLIBGDK -O2 -std=c99 -D__EXTENSIONS__ -Wall -W -O2 -fomit-frame-pointer -finline-functions -DHWCOUNTERS -DHW_SunOS -DHW_sun4u -Werror-implicit-function-declaration -Werror -Wno-unused-function -Wno-unused-label -Wno-uninitialized -D_REENTRANT -c gdk_posix.c  -fPIC -DPIC -o .libs/libbat_la-gdk_posix.o
> cc1: warnings being treated as errors
> ../../../src/gdk/gdk_posix.mx: In function `MT_getrss':
> ../../../src/gdk/gdk_posix.mx:550: warning: int format, pid_t arg (arg 1)
> gmake[4]: *** [libbat_la-gdk_posix.lo] Error 1
> gmake[4]: Leaving directory `/u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/gdk'
> I've removed the -Werror to get past that error.
This should be fixed. 
> 5. HwCounters
> =============
> ./configure complained about libcpc.h: present but cannot be compiled.
> Seems like the libcpc.h is there for some other reason.  Compiling
> failed with an error in ..counters.mx.  I've thus set
> `--without-hwcounters'.
This is probably related to us not fully knowning the requirements for
the counter module on current sun os systems.
> 6. Parallel Make
> ================
> Tired of long make runs, I've tried `gmake -j4.  Result:
Parallel Make should work! We know there are some problems currently
with the automatically genereated dependencies.
> [...lots of stuff...]
> ../../../src/mel/ops.mx: ./ops.h - created 
> ../../../src/mel/symtable.mx: ./symtable.h - created 
> gmake[3]: *** No rule to make target `atom.mx', needed by `atom.h'.  Stop.
> gmake[3]: *** Waiting for unfinished jobs....
> ../../../src/mel/dependency.mx: ./dependency.h - created 
> gmake[3]: Leaving directory `/u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/mel'
> gmake[2]: *** [all-recursive] Error 1
> Missing dependencies?  Starting gmake again did it for me.
> Oops!  Another one:
> /u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/utils/Mx/Mx  -x y ../../../src/monet/monet_parse.mx 
> ../../../src/monet/monet_parse.mx: ./monet_parse.h - created 
> gmake[3]: *** No rule to make target `../gdk/../common/stream.mx', needed by `../gdk/../common/stream.h'.  Stop.
> gmake[3]: *** Waiting for unfinished jobs....
> ../../../src/monet/monet_parse.mx: ./monet_parse.c - created 
> Another one:
> /u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/utils/Mx/Mx  -x sh ../../../../src/modules/contrib/ddbench.mx
> gmake[4]: stat:../../../../src/modules/contrib/bat_mmath.mx: Interrupted system call
> gmake[4]: *** No rule to make target `bat_mmath.mx', needed by `bat_mmath.m'.  Stop.
> gmake[4]: *** Waiting for unfinished jobs....
> ../../../../src/modules/contrib/ddbench.mx: ./ddbench - created 
> ../../../../src/modules/contrib/ddbench.mx: ./ddbench.m - created 
> Another one:
> /u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/mel/mel -I../../../../src/modules/contrib -I../../common -I../../gdk -I../../monet -I../plain     -glue oo7.m > oo7.glue.c
> gmake[4]: *** No rule to make target `uchr.mx', needed by `uchr.m'.  Stop.
> gmake[4]: *** Waiting for unfinished jobs....
> gmake[4]: Leaving directory `/u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/modules/contrib'
> (I know that parallel build have their problems.  I've listed the errors
> here anyway.)
> 7. Linker Error
> ===============
> Finally I hit this linker error that I don't know how to solve:
> gmake[4]: Entering directory `/u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/tools'
> /bin/bash ../../libtool --tag=CC --mode=link gcc  -O2 -std=c99 -D__EXTENSIONS__ -Wall -W -O2 -fomit-frame-pointer -finline-functions -Werror-implicit-function-declaration -Werror -Wno-unused-function -Wno-unused-label -Wno-uninitialized  -D_REENTRANT   -o Mserver   Mserver.o initmodules.o ../monet/libmonet.la ../modules/plain/lib_algebra.la ../modules/plain/lib_arith.la ../modules/plain/lib_bat.la ../modules/plain/lib_builtin.la ../modules/plain/lib_str.la ../modules/plain/lib_sys.la ../modules/plain/lib_trans.la  ../gdk/libbat.la -lsocket -lnsl -ldl -lpthread -lposix4 -lmalloc ../common/libmutils.la ../common/libstream.la 
> gcc -O2 -std=c99 -D__EXTENSIONS__ -Wall -W -O2 -fomit-frame-pointer -finline-functions -Werror-implicit-function-declaration -Werror -Wno-unused-function -Wno-unused-label -Wno-uninitialized -D_REENTRANT -o .libs/Mserver Mserver.o initmodules.o  ../monet/.libs/libmonet.so ../modules/plain/.libs/lib_algebra.so ../modules/plain/.libs/lib_arith.so ../modules/plain/.libs/lib_bat.so ../modules/plain/.libs/lib_builtin.so ../modules/plain/.libs/lib_str.so -liconv ../modules/plain/.libs/lib_sys.so ../modules/plain/.libs/lib_trans.so /u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/monet/.libs/libmonet.so /u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/gdk/.libs/libbat.so -lm ../gdk/.libs/libbat.so /u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/common/.libs/libstream.so -ldl -lpthread -lposix4 -lmalloc ../common/.libs/libmutils.so ../common/.libs/libstream.so /u/halle/teubnerj/home_sun/MonetDB/src/MonetDB-4.8.2/build/src/common/.libs/libmutils.so -lsocket -lnsl -lz -Wl,--rpath -Wl,/u/halle/teubnerj/home_sun/MonetDB/lib -Wl,--rpath -Wl,/u/halle/teubnerj/home_sun/MonetDB/lib/MonetDB
> ../modules/plain/.libs/lib_arith.so: undefined reference to `__ashrdi3 at GCC_3.0'
> ../modules/plain/.libs/lib_arith.so: undefined reference to `__ashldi3 at GCC_3.0'
> ../modules/plain/.libs/lib_arith.so: undefined reference to `__floatdisf at GCC_3.0'
> ../modules/plain/.libs/lib_arith.so: undefined reference to `__floatdidf at GCC_3.0'
> collect2: ld returned 1 exit status
> gmake[4]: *** [Mserver] Error 1

I guess these missing functions should be in libgcc, which should normally
be linked automatically by gcc. Maybe adding it explicitly will help.
> Any ideas so I can continue and hit more compilation problems?
> I'm not an expert on that system.  Actually, I don't have any clue what
> software, libraries, tools, etc. is available there.  I have access to
> the machine at any time, though, and I'm happy to give fixes a try or
> figure out, e.g., more detailed error messages.

Many thanks for takening these notes. It will take some time to fix it
but it is definetly valuable info.

> Jens
> -- 
> Jens Teubner
> Technische Universitaet Muenchen, Department of Informatics
> D-85748 Garching, Germany
> Tel: +49 89 289-17259     Fax: +49 89 289-17263
> Real programmers don't comment their code.
> If it was hard to write, why should it be easy to read?
> -------------------------------------------------------
> This SF.Net email is sponsored by the JBoss Inc.
> Get Certified Today * Register for a JBoss Training Course
> Free Certification Exam for All Training Attendees Through End of 2005
> Visit http://www.jboss.com/services/certification for more information
> _______________________________________________
> Monetdb-developers mailing list
> Monetdb-developers at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/monetdb-developers


Niels Nes, Centre for Mathematics and Computer Science (CWI)
Kruislaan 413, 1098 SJ Amsterdam, The Netherlands
room C0.02,  phone ++31 20 592-4098, fax ++31 20 592-4312
url: http://www.cwi.nl/~niels   e-mail: Niels.Nes at cwi.nl

More information about the developers-list mailing list