-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trouble passing make check
#1240
Comments
Even some non-Lua tests are failing, e.g. looks like most of the kvs tests have failed. Once
If that succeeds then maybe try running I wonder if there is just some basic missing dependency. |
So |
Ok, that didn't fail in the obvious ways I would expect if there was some missing dependency. We may have to start smaller. Would you be willing to run through |
Of course. Thank you for helping me with this. Here's what I've got:
|
Ok, unfortunately there are no useful errors in that test either. Sorry! Try this (from top level of your flux-core builddir)
The flux-exec util uses the Lua bindings so if something is wrong there, hopefully we'll get a useful error.
You could also just launch a session and try various commands to see if any clues pop up:
The confusing thing is that the kvs tests don't depend on the Lua bindings (I don't think), so there might be something else wrong as well. |
I messed around a bit while inside flux, but I am not very familiar just using flux-core. I built flux-sched and ran a unit test and it looks like this, if it helps. (this is t/t001-basic.t from flux-sched) |
Hm, most everything you tried above seemed to work properly, indicating that the flux-core built at least marginally ok. The errors from that flux-sched test seem like that version of flux-sched wasn't built against the correct libflux-core libraries. Do you perhaps have a previous version of a flux-core spack package installed, for which flux-sched might be picking up libraries? Tomorrow I'll try building up dependencies with spack as you have and see if I can reproduce any of these issues. |
@sampollard -- I didn't get very far with the spack package on my desktop (See #1118 for details). Still trying to reproduce the errors you're seeing here... |
Ahh, I've found my way to that issue before as well. Here's what I did to get around that: I modified the flux and git packages in git they can be found here then, I did I then did a module avail and piped and loaded every single module I could that was managed by flux. Maybe this will get you on the right track? NOTE: I didn't try this. Alternatively, it looks like Todd Gamblin suggested adding the following to
|
Thanks, I didn't have environment-modules on my desktop, so I've installed environment modules with spack, then set it up with
After this I was able to build a copy of flux-core using all dependencies from spack, and was indeed able to reproduce the problem you've reported. I'm still trying to figure out what is going on though. I've tried changing the versions of czmq and zeromq, as well as jansson, but so far that doesn't seem to resolve the problem. For the In fact, the following test (added to the top of json_t *o = json_loads (json_dumps (arg, 0), 0, NULL);
fprintf (stderr, "arg and o are %sequal\n",
json_equal (o, arg) ? "" : "NOT "); I'll see if I can reproduce this outside of flux code, but I don't see this same error when building with normal dependencies outside of spack. |
Huh. So this is only happening when spack handles the dependencies? Would a temporary workaround be to install all the dependencies without spack? |
Yes, that seems to work for me on my desktop.. though I'd really like to understand what is going on here with the jansson library. |
This is interesting. The spack package for jansson only has a static library. Do you know if that is on purpose? That might be part of the problem here, since multiple function versions could be loaded by different objects within the same address space.
|
A change that fixed the issue with the i.e. if (flux_msg_get_json (msg, &json_str) < 0
|| !(o = json_loads (json_str, 0, NULL))) {
flux_log_error (h, "cron.create: Failed to get name/command/args");
goto done;
}
/* Get required fields "type", "name" and "command" */
if (json_unpack (o, "{ s:s, s:s, s:s, s:O }",
"type", &type,
"name", &name,
"command", &command,
"args", &args) < 0) {
flux_log_error (h, "cron.create: Failed to get name/command/args");
goto done;
} instead of if (flux_msg_unpack (msg, "{ s:s, s:s, s:s, s:O }",
"type", &type,
"name", &name,
"command", &command,
"args", &args) < 0) {
flux_log_error (h, "cron.create: Failed to get name/command/args");
goto done;
} This does seem to imply that the jansson implementation that got linked with libflux message.c is maybe not binary compatible with the one linked to modules/cron (though I don't really have proof there is even a different version linked anywhere else, I did try to remove all versions of jansson but one from my system before rebuilding) My worry in general, is that we're going to run into similar trouble if ever someone is compiling out-of-tree modules to load into a flux session, and using |
@sampollard, I think the main problem here (besides the linking of fluxometer.lua to itself) is the static jansson library. I changed the spack package of jansson to build shared libraries and that resolved all the strange test failures. (Though I have no idea why exactly linking jansson statically was causing these errors). Try this change, along with config change suggested by Todd above, and let me know if it goes better. I still have czmq and zeromq backed off to earlier versions, but I'll try updating them to the default in spack after lunch. diff --git a/var/spack/repos/builtin/packages/jansson/package.py b/var/spack/repos/builtin/packages/jansson/package.py
index f29b17f..c8269b7 100644
--- a/var/spack/repos/builtin/packages/jansson/package.py
+++ b/var/spack/repos/builtin/packages/jansson/package.py
@@ -33,3 +33,8 @@ class Jansson(CMakePackage):
url = "https://github.com/akheron/jansson/archive/v2.9.tar.gz"
version('2.9', 'd2db25c437b359fc5a065ed938962237')
+
+ def cmake_args(self):
+ return [
+ '-DJANSSON_BUILD_SHARED_LIBS=ON',
+ ] |
Submitted patch to spack jansson package as spack/spack#5857 |
I've also discovered the reason To temporarily fix, append
As a workaround, the flux |
I hope I haven't done something stupid and regressed, but here's where I'm at. Here are some errors I'm getting with
But I can't get the lua-posix library to link. Any idea why this might happen? I have Also, did you mean to have |
Yeah, you are right should have been I haven't seen that namespace clash before from lua-posix. You might try "uninstalling" the lua-luaposix module and trying again. What is the LUA_CPATH as set by spack? |
You shouldn't need the |
Thanks. I had been dragging Anyway, my steps were thus:
To be clear, I was able to get a working version by just manually installing everything (with |
I'm not that familiar with spack, are you using |
I can't get this to work, even if I first |
I am using I also forgot to clarify, |
Ah, ok I understand now. I'm using default I did notice spack has a |
Though I should note that Does
|
@sampollard, on my latest
For this scenario, on my desktop anyway, all tests pass except the valgrind test, which fails with a detected leak under |
I apologize for the delay. Let me try to address everything: Lua posix appears to work; I get the same output as you:
And for some reason, the This seems to be an unrelated error with python. When your fix gets merged, I'll try it that way and let you know. |
Ok, package spec for flux is now updated in spack LLNL/develop branch. Make check should be able to pass on current flux-core/master since the failing valgrind test was updated (at least for my ubuntu system) Your failure above seems to be in the |
It seems that fixing one bug reveals another. I think that part of these issues may be the system I'm using; I've had trouble with it being misconfigured in the past so it may not even be If I use the spack env flux bash after checking out this version of spack 165e6bfe5fb3ce327315c698a3a275deda9e6d35
Then I get the following compilation error:
and I have loaded |
Does that error go away if you rebuild libczmq? |
I reinstalled libczmq, and also ended up reinstalling munge. When using It seems that every time I try to reinstall some package, I have to reinstall another. It seems to go in this order: lua -> czmq -> munge -> luaposix -> lua -> czmq -> munge -> ... ad nauseum. I wish I could help figure this out, but I can't really justify spending any more time on this since the workaround of installing packages using |
@sampollard, thanks for trying! Honestly I think this is a tricky problem with spack and probably not a flux problem, so I wouldn't encourage you to spend too much more time on it either. Glad you're able to get flux-core,sched working. If you have problems in the future feel free to open up another issue! |
I am trying to get flux installed on a non-LC system (
uname -a = Linux sansa 4.4.0-72-generic #93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
). Here is my process:Remove the gettext dependency in
spack/var/spack/repos/builtin/packages/git
spack install flux %gcc@5.4.0
Load everything from module avail that spack manages
./autogen && ./configure --diable-docs --prefix=$HOME/local && make
make check
Then I get this file
test-suite-sansa4.log
Does anyone have any insight into this? It seems like fluxometer isn't getting copied into spack's LUA location, but there seems to be more going on.
The text was updated successfully, but these errors were encountered: