Issue634

Title Add Mac buildslave
Priority feature Status resolved
Superseder Nosy List florian, jendrik, malte
Assigned To florian Keywords infrastructure
Optional summary

Created on 2016-02-05.19:31:30 by florian, last changed by florian.

Messages
msg5167 (view) Author: florian Date: 2016-02-08.19:04:06
Merged.
msg5166 (view) Author: florian Date: 2016-02-08.18:56:28
Looks like this is working now. I'll merge the new buildbot config and close
this issue. I didn't get OSI running on the Mac yet, but I think for now its
sufficient that we test the regular build (a build with LP solvers is done by
the linux slave).
msg5163 (view) Author: florian Date: 2016-02-08.16:16:52
I reverted the change with FlexLexer.h again. I thought not checking for this
file would give us the option to remove the workaround we currently have in the
Wiki, but that was wrong. Now the build system is unchanged.

To avoid build errors caused by the header there are two options:
1) Tell CMake to look in the place where the header actually is (as described in
the wiki), and
2) Copy the header to the location where CMake looks for it.

I chose option 2) for the build slave because this means we can use the regular
build scripts and the buildbot configuration is simpler.
msg5162 (view) Author: jendrik Date: 2016-02-08.16:06:36
The pull request looks good.
msg5159 (view) Author: malte Date: 2016-02-06.00:45:18
FlexLexer.h generally shouldn't be included in our source. This is not a
header-only library, so shipping a header without the library itself often leads
to incompatibility problems, and they can be of a very nasty kind (random
crashes etc.).
msg5158 (view) Author: florian Date: 2016-02-05.21:40:31
Hmm, maybe removing the include is a bad idea. It is used in the code and even
though the readme and comments say that there is a copy of FlexLexer.h included,
there isn't one. Maybe we should include it?
msg5157 (view) Author: florian Date: 2016-02-05.19:41:21
I started a pull request with the changes to the config and VAL build:
https://bitbucket.org/flogo/downward-issues/pull-requests/19
msg5156 (view) Author: florian Date: 2016-02-05.19:31:30
We now have a Mac mini that we can use as our Mac build slave. I was able to
compile Fast Downward on it with some minor modifications and without the LP Solver.

One thing I ran into was the Flex issue that we already mention in the building
instructions
(http://www.fast-downward.org/ObtainingAndRunningFastDownward#Compiling_on_Mac_OS_X).
Basically, CMake finds the binary of flex but not the headers (e.g.,
"FlexLexer.h"). I'm not sure, if we even need the include directories. There is
an example in the CMake documentation of how to use the find script and it does
not include any additional directories apart from the current source directory
which is needed to use the generated file.
(https://github.com/Kitware/CMake/blob/master/Modules/FindFLEX.cmake#L66).

I tried removing the include and the check for the CMake variable which
generated the error and VAL compiled fine both on my Ubuntu and on the Mac.
History
Date User Action Args
2016-02-08 19:04:06floriansetstatus: chatting -> resolved
messages: + msg5167
2016-02-08 18:56:28floriansetmessages: + msg5166
2016-02-08 16:16:52floriansetmessages: + msg5163
2016-02-08 16:08:18jendriksetpriority: meta -> feature
keyword: + infrastructure
2016-02-08 16:06:36jendriksetnosy: + jendrik
messages: + msg5162
2016-02-06 00:45:18maltesetmessages: + msg5159
2016-02-05 21:40:31floriansetmessages: + msg5158
2016-02-05 20:30:08jendriksetnosy: - jendrik
2016-02-05 19:41:21floriansetstatus: unread -> chatting
messages: + msg5157
2016-02-05 19:31:30floriancreate