MySQL Lists are EOL. Please join:

List:Internals« Previous MessageNext Message »
From:Sergei Golubchik Date:May 26 2006 3:45pm
Subject:Re: Patches to correct build issues on Stratus VOS
View as plain text  
Hi!

On May 24, Green, Paul wrote:
> Hello,
> 
> I am a software developer at Stratus Technologies and I have just spent
> a few days porting MySQL to the Stratus VOS environment. I used our

Great!

> POSIX-based "OpenVOS" environment running under VOS Release 15.2.dev.fa
> on a Stratus V200 system. This is an Intel Pentium4 Xeon processor
> running code in Big Endian format (for compatibility with our older
> PA-RISC systems).

Hmm, I know that Itanium supports big endian, but not Xeon.
Are you sure your CPU isn't Itanium ?
Just curious, the patch is still valid.
 
> I'm enclosing uni-diffs against revision 1.2105 (5.0.21) for the build
> issues that I had to correct.  There were some other issues with missing
> features / functions in our own environment; I won't bore you with those
> details.

Ok, but does it mean that other users of Stratus VOS will be able to
build MySQL ? Or they will have to solve these "other issues" first ?
 
> At this point MySQL builds without errors. I haven't had a chance to run
> the tests yet.  If running the tests uncovers new issues, I'll send in
> further patches.

Ok.
But even if no new issues will be found, could you send an email
confirming that ? That you had built and run MySQL, and all tests pass,
and no new patches are necessary.
For example, we may want to wait till we have complete set of patches
that are reuired for a working binary.
 
> I have to say that despite its enormous size, porting the MySQL source
> code to VOS was very straightforward. The issues were minor and
> resolving them was simple.  Thanks for the effort that you put into
> this; I know it can't have been easy.

Good :)
 
> Here is a summary of what I changed.

see my questions inline in the patch.
 
> diff -u /subversion/mysql/cmd-line-utils/libedit/el.c.orig
> /subversion/mysql/cmd-line-utils/libedit/el.c
> --- /subversion/mysql/cmd-line-utils/libedit/el.c.orig        2006-04-26
> 14:31:03.000000000 -0400
> +++ /subversion/mysql/cmd-line-utils/libedit/el.c     2006-05-20 16:51:00.000000000
> -0400
> @@ -477,7 +477,9 @@
>       sigset_t oset, nset;
>  
>       (void) sigemptyset(&nset);
> +#ifdef SIGWINCH
>       (void) sigaddset(&nset, SIGWINCH);
> +#endif
>       (void) sigprocmask(SIG_BLOCK, &nset, &oset);

to avoid many ifdef's I'd rather put

#ifndef SIGWINCH
#define SIGWINCH SIGKILL /* or some other signal that can't happen */
#endif

in, for example, cmd-line-utils/libedit/tty.h
Can you please try if it works ?

> diff -u /subversion/mysql/dbug/Makefile.in.orig /subversion/mysql/dbug/Makefile.in
> --- /subversion/mysql/dbug/Makefile.in.orig   2006-04-26 14:31:51.000000000 -0400
> +++ /subversion/mysql/dbug/Makefile.in        2006-05-24 10:36:38.000000000 -0400
> @@ -36,6 +36,7 @@
>  srcdir = @srcdir@
>  top_srcdir = @top_srcdir@
>  VPATH = @srcdir@
> +EXEEXT = @EXEEXT@
>  pkgdatadir = $(datadir)/@PACKAGE@
>  pkglibdir = $(libdir)/@PACKAGE@
>  pkgincludedir = $(includedir)/@PACKAGE@
> @@ -702,19 +703,19 @@
>  user.ps:     user.r $(NROFF_INC)
>               -groff -mm user.r > $@
>  
> -output1.r:      factorial
> +output1.r:      factorial$(EXEEXT)
>               ./factorial 1 2 3 4 5 | cat > $@

Shouldn't you call the binary as ./factorial$(EXEEXT) ?

> diff -u /subversion/mysql/include/my_global.h.orig
> /subversion/mysql/include/my_global.h
> --- /subversion/mysql/include/my_global.h.orig        2006-04-26 14:30:38.000000000
> -0400
> +++ /subversion/mysql/include/my_global.h     2006-05-20 17:24:11.000000000 -0400
> @@ -1012,7 +1012,7 @@
>  */
>  
>  /* Optimized store functions for Intel x86 */
> -#if defined(__i386__) && !defined(_WIN64)
> +#if defined(__i386__) && !defined(_WIN64) &&
> !defined(WORDS_BIGENDIAN)

I'm surprised it was the only place where it was assumed that
defined(__i386__) == !defined(WORDS_BIGENDIAN)
but well, stranger things happen :)

>  #define sint2korr(A) (*((int16 *) (A)))
>  #define sint3korr(A) ((int32) ((((uchar) (A)[2]) & 128) ? \

In general, changes look very reasonable, we'll probably apply them.
Thank you for your efforts!

Regards,
Sergei

-- 
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /   Sergei Golubchik <serg@stripped>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, Senior Software Developer
/_/  /_/\_, /___/\___\_\___/  Kerpen, Germany
       <___/  www.mysql.com
Thread
Patches to correct build issues on Stratus VOSPaul Green24 May
  • Re: Patches to correct build issues on Stratus VOSSergei Golubchik26 May
RE: Patches to correct build issues on Stratus VOSPaul Green30 May
  • Re: Patches to correct build issues on Stratus VOSSergei Golubchik30 May
  • RE: Patches to correct build issues on Stratus VOSStewart Smith31 May
  • RE: Patches to correct build issues on Stratus VOSLenz Grimmer31 Aug
RE: Patches to correct build issues on Stratus VOSPaul Green1 Sep
  • RE: Patches to correct build issues on Stratus VOSLenz Grimmer1 Sep