hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar.cct.lsu.edu | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | Buildbot: http://rostam.cct.lsu.edu/ | Log: http://irclog.cct.lsu.edu/ | GSoD: https://developers.google.com/season-of-docs/
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
hkaiser has quit [Quit: bye]
<Yorlik> HPX Macros are driving me nuts again.
<Yorlik> I have a HPX_PLAIN_ACTION in a header file, but need to include this header file in another compilation unit. Now I get double symbol linkage errors. What's the best way architecturally to get rid of this?
<Yorlik> zao: Just realizing you were referencing this issue. Any idea how to fix this?
<Yorlik> BBL
<heller> Declaration vs Definition
<Yorlik> How do I just declare an action?
<Yorlik> So - If I'd move the HPX_PLAIN_ACTION macro to the CPP - what would I have to put into the hpp to not get an unknown identifier in the cppp which includes the header?
<Yorlik> HPX_DECLARE_PLAIN_ACTION ? It's basically undocumented.
<Yorlik> And it seems not to work - at least as I tried: "use of undefined type ..."
<Yorlik> HPX_DECLARE_PLAIN_ACTION looks defect to me
<Yorlik> #define HPX_DECLARE_PLAIN_ACTION(...) HPX_DECLARE_ACTION(__VA_ARGS__) <--- HPX_DECLARE_ACTION where?
<Yorlik> So - Ho do I declare a plain action to have it usable in another file including the HPP?
nikunj has quit [Remote host closed the connection]
hkaiser has joined #ste||ar
<Yorlik> hkaiser: yt?
<hkaiser> here
<Yorlik> I have a linking error which gives me a headache.
<hkaiser> k
<hkaiser> missing one of the action macros?
<Yorlik> Which one would that be?
<Yorlik> I only did the actions with methods or did not have this double include problem.
<Yorlik> I'm kinda clueless how to do this with a plain action
<hkaiser> you should pass the same arguments to DEFINE action and register action, I believe, would need to see the real code...
<Yorlik> I am not using a define and register pair here
<Yorlik> It's just HPX_PLAIN_ACTION
<hkaiser> could you create a minimal example reproducing the issue?
<Yorlik> Argh ... sure.
<Yorlik> More work though.
<Yorlik> I think the problem really is the double inclusion of HPX_PLAIN ACTION
<hkaiser> Yorlik: shrug, what do you suggest?
<hkaiser> no
<Yorlik> Quick screenshare?
<hkaiser> ahh, it's a duplicated symbol
<hkaiser> hold on
<Yorlik> I think I'd need a way to declare plain action properly
<Yorlik> And put the definition into the cpp
<hkaiser> yah, I think that's it, use HPX_DEFINE_PLAIN_ACTION_DECLARATION in the header nstead and put the HPX_DEFINE_PLAIN_ACTION in a source file
<Yorlik> OK - trying ...
<hkaiser> let me have a look at the macro definitions
<hkaiser> Yorlik: it's HPX_DECLARE_PLAIN_ACTION
<Yorlik> OK
<hkaiser> and HPX_DEFINE_PLAIN_ACTION
<hkaiser> use the same arguments for both
<Yorlik> I am using it like: HPX_DECLARE_PLAIN_ACTION( agns::game::lua::run_lua, run_lua_a );
<Yorlik> And I am getting this error:
<Yorlik> 'run_lua_a': an undefined class is not allowed as an argument to compiler intrinsic type trait '__is_base_of'
<hkaiser> Yorlik: pls create a small example
<hkaiser> should be a nobrainer
<Yorlik> Allright
<hkaiser> one header, two sources
<hkaiser> the error is generated by the register_action macro?
<hkaiser> or by what?
<hkaiser> Yorlik: ^^
<Yorlik> Looking into it ...
<Yorlik> There is no register action macro
<hkaiser> in your gist you have one
<Yorlik> Woops - moment ... its different now -- I'll update the gist
<hkaiser> lol
<hkaiser> give me a bit of time
<Yorlik> Yeah --- the error message is cruel ;)
<hkaiser> no, I'm creating a small example
<Yorlik> This will go into the snippets git once it works, so we have that use case covered.
<Yorlik> I was thinking about including the built html into the git and make it a github website so one could easily browse and read.
<hkaiser> need breakfast now
<Yorlik> Thanks ! Working on it
<Yorlik> I'll go try to compile the example
<hkaiser> Yorlik: you miss some header
<hkaiser> probably hpx/include/components.hpp
<Yorlik> Which one would that be?
<Yorlik> OK - lemme try
<hkaiser> how should I know?
<hkaiser> don't know which you have
<hkaiser> Yorlik: my example compiles and links ;-)
<Yorlik> VSCODE is teasing me - setup issues
<Yorlik> Wading through it
<hkaiser> I can't make it simpler than what I posted
<Yorlik> It's just some stupid CMake / VSCODE setup quirk
<Yorlik> I think I'll add a question about the hpx includes to our list
<hkaiser> as a start #include <hpx/hpx.hpp>, that will pull in everything
<hkaiser> later you can reduce the scope
<Yorlik> I usually do that.
<Yorlik> And it's included
<Yorlik> FFS CMake: project(hpx_snippets CXX) <-- I'll never get used to this being CXX and not CPP ... :P
<Yorlik> Fixing/Updating my vcpkg install ...
<Yorlik> Where do you set your Boost_DIR when using vcpkg? I'm having issues finding Boost in VSCODE
<Yorlik> I used: vcpkg\installed\x64-windows\share
<Yorlik> but it complains not finding BoostConfig.cmake
<Yorlik> Oh crap - rubberduck effect - bug - forget it
<diehlpk_work> hkaiser, Please try again to access the github class room
<hkaiser> diehlpk_work: yep, works now, thanks
<diehlpk_work> I double checked and you have to be a co-owner of the org
<hkaiser> ok
<diehlpk_work> Next week students can link their private github repo to moodle for each submission and we can import their details from moodle
<diehlpk_work> Github plans to integrate more features
<hkaiser> diehlpk_work: when is your first lecture?
<diehlpk_work> Tuesday
<diehlpk_work> 9
<diehlpk_work> Lockett Hall
<hkaiser> mind if I joined?
<hkaiser> just silently sitting in the back...
<diehlpk_work> No, you are welcome to join
<hkaiser> tks
<hkaiser> what oom is it?
<hkaiser> room
<diehlpk_work> Tuesday and Thursday, 09:00 to 10:20, 130 LCKT
<diehlpk_work> First floor in the math department. In the mid of the first floor is a corridor connecting both entrances of the building.
<diehlpk_work> The room's entrance is in the mid corridor
<diehlpk_work> We will cover the details of the course and a brief introduction to cpp
<diehlpk_work> main, loops, if, and variables to check the student's knowledge of C++
Vir has quit [Quit: ZNC - http://znc.in]
Vir has joined #ste||ar
lsl88 has joined #ste||ar
<Yorlik> hkaiser: yt?
<hkaiser> Yorlik: here
<Yorlik> I have issues using HPX and Boost with vcpkg. How do you do it?
<Yorlik> I can find Boost, but HPX gives me a message to switch off the boost compat check.
<Yorlik> Once I do that it doesn't find the library
<Yorlik> It's complaining about a different boost root
<hkaiser> Yorlik: I use boost from vcpkg
<Yorlik> But not HPX?
<hkaiser> well, I develp HPX so I don't use it throuhg vcpkg
<Yorlik> I am getting this error: The specified BOOST_ROOT differs from what has been used when configuring
<Yorlik> [cmake] and building HPX. Please use the same Boost versions. HPX boost is
<Yorlik> [cmake] /share/boost and users is F:/vcpkg/installed/x64-windows/.
<hkaiser> do you use hpx through vcpkg?
<Yorlik> I tried for this small example
<hkaiser> you tried what?
<Yorlik> because I want to use your example in the doc project I thought it might be easier to use vcpkg
<hkaiser> sure, should work
<Yorlik> This solution to the linker error
<hkaiser> so you installed boost, hwloc and hpx in vcpkg?
<Yorlik> Yes
<hkaiser> and that gives you the cmake error?
<Yorlik> lemme make a gist for the CMakeLists really quick
<hkaiser> do you point your cmake to the vcpkg toolchain file?
<Yorlik> I tried with and without
<Yorlik> I'll try with cmake-gui now and once more
<hkaiser> why do you need all of the VCPGK entries in that cmake file?
<hkaiser> and why do you need the BOOXT_xxx entries?
<hkaiser> no need to do find_package(boost)
<hkaiser> all you need is find_package(HPX)
<hkaiser> and set the CMKAE_TOOLCHAIN_FILE
<Yorlik> OK - sec
<Yorlik> I am getting the same error: [build] ninja: error: '/debug/lib/boost_filesystem-vc140-mt-gd.lib', needed by 'src/include_test_1/include_test_1.exe', missing and no known rule to make it
<hkaiser> that's a different error
<Yorlik> It seems to miss a potion of the path - I wonder which CMake Variable I miught be missing
<hkaiser> you don't miss anything
<Yorlik> Had that error before after switching off the compat check
<hkaiser> the cmake file should be one line: find_package(HPX)
<Yorlik> What do you think is it?
<hkaiser> and you invoke it with -DCMAKE_TOOLCHAIN_FILE=<vcpkg>/scripts/buildsystems/vcpkg.cmake
<Yorlik> Something might be wrong with my VSCODE Cmake plugin - it seems to ignore the setting - checking ...