[Maria-developers] MariaDB and Windows
Hi there. I was wondering what is the policy / direction for MariaDB and Windows. Basically, are we aiming to maintain MariaDB for that platform as well? I am asking because of the following output log from a couple of attempted Windows builds of a Maria branch I pulled today 3/18/2009. This was on a 32-bit version of XP that I use to build MySQL on a regular basis without incident. To make a long story short: ========== Rebuild All: 26 succeeded, 39 failed, 1 skipped ========== A lot of things are failing now. Please see attached output for details. I haven't really researched the failures too much myself, I was mainly curious if we were taking a similar approach as Drizzle, etc. Let me know if I can provide further information.
Patrick Crews <gleebix@gmail.com> writes:
I was wondering what is the policy / direction for MariaDB and Windows. Basically, are we aiming to maintain MariaDB for that platform as well?
The current plan is to keep MariaDB working on Windows.
net_serv.cc C:\work\maria\include\violite.h(91) : error C2146: syntax error : missing ';' before identifier 'vio_pending' C:\work\maria\include\violite.h(91) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\work\maria\include\violite.h(91) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
From a quick web search, ssize_t seems to be a Linux-ism, or at least not in
This looks to be due to a missing ssize_t definition. the ANSI C standard. You should probably add a windows definition, maybe typedef ptrdiff_t ssize_t
.\mysqltest.cc(1638) : warning C4244: 'argument' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1639) : warning C4244: 'argument' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1642) : warning C4244: '=' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1643) : warning C4244: '=' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1647) : warning C4244: 'argument' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1649) : warning C4244: 'argument' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1654) : warning C4244: 'argument' : conversion from 'my_off_t' to 'size_t', possible loss of data
Are these warnings also in MySQL source? I would think so, don't look fatal from a quick glance.
Building Custom Rule C:/work/maria/unittest/mysys/CMakeLists.txt -- Configuring done -- Generating done -- Build files have been written to: C:/work/maria Compiling... waiting_threads-t.c .\waiting_threads-t.c(265) : warning C4013: 'ftruncate' undefined; assuming extern returning int Linking... waiting_threads-t.obj : error LNK2019: unresolved external symbol _ftruncate referenced in function _do_tests
I guess Windows doesn't have ftruncate. Maybe there is a mysys portable replacement that you can use, or maybe you can wrap that part of the unit test in #ifdef HAVE_FTRUNCATE. - Kristian.
Hi!
"Kristian" == Kristian Nielsen <knielsen@knielsen-hq.org> writes:
Kristian> Patrick Crews <gleebix@gmail.com> writes:
I was wondering what is the policy / direction for MariaDB and Windows. Basically, are we aiming to maintain MariaDB for that platform as well?
Kristian> The current plan is to keep MariaDB working on Windows. Yes!
net_serv.cc C:\work\maria\include\violite.h(91) : error C2146: syntax error : missing ';' before identifier 'vio_pending' C:\work\maria\include\violite.h(91) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\work\maria\include\violite.h(91) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Kristian> This looks to be due to a missing ssize_t definition.
From a quick web search, ssize_t seems to be a Linux-ism, or at least not in Kristian> the ANSI C standard. You should probably add a windows definition, maybe
Kristian> typedef ptrdiff_t ssize_t This comes from me moving the pool-of-threads from 6.0 to MariaDB but I missed the move the ssize_t typedef that was added in include/config.win What they have in 6.0 is: include/config-win.h:typedef SSIZE_T ssize_t; Will add this to the MariaDB tree at once.
.\mysqltest.cc(1638) : warning C4244: 'argument' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1639) : warning C4244: 'argument' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1642) : warning C4244: '=' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1643) : warning C4244: '=' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1647) : warning C4244: 'argument' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1649) : warning C4244: 'argument' : conversion from 'my_off_t' to 'size_t', possible loss of data .\mysqltest.cc(1654) : warning C4244: 'argument' : conversion from 'my_off_t' to 'size_t', possible loss of data
Kristian> Are these warnings also in MySQL source? I would think so, don't look fatal Kristian> from a quick glance. The above come from a new function I added in mysqltest.c to fix things for Maria. Have now added casts to remove the warnings. (We need quickly a buildbot for windows so that we can catch things like this...)
Building Custom Rule C:/work/maria/unittest/mysys/CMakeLists.txt -- Configuring done -- Generating done -- Build files have been written to: C:/work/maria Compiling... waiting_threads-t.c .\waiting_threads-t.c(265) : warning C4013: 'ftruncate' undefined; assuming extern returning int Linking... waiting_threads-t.obj : error LNK2019: unresolved external symbol _ftruncate referenced in function _do_tests
Kristian> I guess Windows doesn't have ftruncate. Maybe there is a mysys portable Kristian> replacement that you can use, or maybe you can wrap that part of the unit test Kristian> in #ifdef HAVE_FTRUNCATE. This one is strange; The normal MySQL source has this too. I wrapped the code in an #ifndef _WIN32 so this should work now. Will push the fixes at once. Regards, Monty
<snip> Kristian> Are these warnings also in MySQL source? I would think so, don't look fatal Kristian> from a quick glance.
The above come from a new function I added in mysqltest.c to fix things for Maria.
Have now added casts to remove the warnings.
(We need quickly a buildbot for windows so that we can catch things like this...)
That definitely sounds worthwhile. Is anyone working on getting buildbots up and running? I have an XP 32bit VM on a not-too-often-used machine that I can volunteer. It is a Mac OSX machine as well. I can start taking a look at Drizzle's buildbot setup if nobody else is working on this. Also, if you ping me once the patch is pushed, I can do a run-through on Windows as well (or just apply your patch to a local branch).
<snip> Will push the fixes at once.
Regards, Monty
participants (3)
-
Kristian Nielsen
-
Michael Widenius
-
Patrick Crews