IRC log for #brlcad on 20170419

00:12.07 *** join/#brlcad nmz787_i (~ntmccork@134.134.139.72)
00:18.11 *** join/#brlcad infobot (ibot@rikers.org)
00:18.12 *** topic/#brlcad is GSoC students: if you have a question, ask and wait for an answer ... responses may take minutes or hours. Ask and WAIT. ;)
00:34.02 *** join/#brlcad ycvbvrmgcerrjmcc (~armin@dslb-092-074-228-132.092.074.pools.vodafone-ip.de)
01:43.51 DaRock found the urt knobs, but I've tried disabling all builtins and just enabling urt but it fails in the cmake tests (undefined references sysmp etc)
01:44.22 DaRock otherwise I just get tk/tcl errors
01:44.35 DaRock thats why I've tried disabling all
05:39.54 DaRock can anyone tell me what I need to intone to fix the TERMLIB_INCLUDE_DIR?
05:53.44 *** join/#brlcad LoH (~lenox@173-18-41-230.client.mchsi.com)
06:56.44 *** join/#brlcad teepee (~teepee@unaffiliated/teepee)
07:18.15 *** join/#brlcad teepee (~teepee@unaffiliated/teepee)
08:50.29 *** join/#brlcad teepee] (bc5c2134@gateway/web/freenode/ip.188.92.33.52)
09:34.58 *** join/#brlcad merzo (~merzo@user-94-45-58-139.skif.com.ua)
09:56.44 Notify 03BRL-CAD:Bertamsu64 * 0 /wiki/User:Bertamsu64:
10:04.13 *** join/#brlcad Caterpillar (~caterpill@unaffiliated/caterpillar)
10:56.51 starseeker DaRock: I'm not actually sure that bit is working properly
10:57.14 starseeker (TERMLIB_INCLUDE_DIR)
10:57.30 DaRock so.... what? :/
10:57.56 starseeker I'll see if I can look into it later today, unless you want to tackle redoing it :-)
10:58.05 DaRock I'm looking at the source, and it should fallback to curses... etc
10:58.12 starseeker what are the symptoms you're seeing?
10:58.18 DaRock not a clue where to begin :)
10:58.28 starseeker I didn't have one either when I started
10:58.50 starseeker not always sure I have one now, for that matter ;-)
10:58.51 DaRock I'm still on the first steep learning curve :)
10:59.24 starseeker it's actually pretty straightforward, especially compared to autotools
10:59.55 starseeker misc/CMake/FindTERMLIB.cmake should be involved with all that
10:59.57 DaRock so I'm building on freebsd - mangling the port - trying to disable the builtins so the tk and libpng errors go away, but keep the urt lib
11:00.24 DaRock it fails on finding termlib
11:00.40 DaRock although why CMake should even need to get involved....
11:00.57 DaRock the c file seems to handle it very gracefully
11:01.17 starseeker CMake sets the defines
11:01.26 starseeker (or should be)
11:01.35 DaRock src/libcursor/cursor.c
11:01.44 DaRock weeellll....
11:01.44 starseeker the main logic is in src/other/CMakeLists.txt around line 202
11:02.15 starseeker and the THIRD_PARTY macro that calls is in misc/CMake/ThirdParty.cmake
11:02.24 DaRock have a look at the c file - it seems to do well enough without. Unless you specifically want the builtin
11:02.58 starseeker which is one of the cases we need to handle (deliberately turning on the built-in)
11:03.21 starseeker if all else fails we fall back to the built-in, which is why we need to fix the detection
11:03.57 DaRock seems fraught with difficulties :|
11:03.59 starseeker FindTERMLIB.cmake should be checking for curses, ncurses, etc.
11:04.38 starseeker DaRock: it's a general principle of the BRL-CAD build - the default out-of-box build will use system libraries where it can and src/other versions where it can't
11:04.55 starseeker you can also override to use only src/other versions and only system libs
11:04.58 DaRock I get that, but it doesn't seem to work
11:05.44 DaRock overrides don't always work either - but where do I tell it to override termlib then?
11:06.03 starseeker it gets tricky when you have system versions getting pulled in and locals enabled - the most common are zlib and png being enabled due to dev packages not being installed, but other system libs pulling in the system versions as well
11:06.31 starseeker DaRock: it sounds like it's not detecting the system version correctly, so it can't work as expected
11:06.32 DaRock exactly
11:06.40 DaRock exactly
11:06.55 starseeker I'll see if I can figure out why that detection isn't working - that should be the fix
11:06.58 DaRock I don't quite know why though
11:07.26 DaRock but again, why isn't there a knob for it? There is for just about everything else
11:07.59 DaRock then if it isn't working as expected, it can be overridden and we move on in the meantime
11:07.59 starseeker did you try -DBRLCAD_TERMLIB=BUNDLED ?
11:08.24 starseeker that's what I would expect to be the override
11:08.27 DaRock really? Where's that?
11:08.56 DaRock I was hoping I could do SYSTEM, but I'll see...
11:09.24 starseeker if it can't successfully detect the system version in the first place it won't let you succeed that way
11:09.36 starseeker the "safe" fallback is to use our termlib
11:10.12 DaRock from the logs, I'd say it isn't even looking for anything other than termlib (which the c file could handle) and simply failing
11:10.16 starseeker DaRock: to be honest, we haven't put a lot of energy into the termlib stuff because it's eventually all scheduled to go away - we *can't* use it on Windows without an insane amount of work, and most of the tools that need it are very old
11:10.45 DaRock thats my thinking :)
11:10.46 starseeker OK, so something about FindTERMLIB.cmake isn't working right - it either isn't being called at all or its not doing its job
11:11.08 DaRock the override won't work you think?
11:11.10 starseeker i'll see if I can dig into it later today
11:11.20 starseeker the override -DBRLCAD_TERMLIB=BUNDLED should work
11:11.28 starseeker it just won't use the system version
11:11.47 DaRock why? <sigh>
11:11.55 DaRock retorical btw
11:12.10 starseeker because our src/other is the fallback - we can't always rely on the system to provide what we need
11:12.16 DaRock yes I miss-spelt it
11:12.24 starseeker if the world consisted only of Linux and BSD distributions, we probably could
11:13.00 starseeker but Windows, OSX, etc. don't have anything to match (say) the Debian apt system
11:13.06 DaRock yes but why can't I - the compiler - tell it and to hell with the consequences?
11:13.20 starseeker you can - -DBRLCAD_TERMLIB=SYSTEM
11:13.40 starseeker but it will still have to detect the correct library flags and include dirs, and if it can't find them successfully it's game over
11:14.05 DaRock I get that - and compiling it for one's self _should_ be the option, but I should still be able (if capable) to tell it what I want, rather than automated
11:14.18 DaRock fine - build fails
11:14.58 DaRock if I don't know what I'm doing, then I fallback myself to the automated system. If I can resolve it, then all will eventually be ok
11:15.05 starseeker if you REALLY want to get hardcore you can define the things the FindTERMLIB file is supposed to define as well... -DTERMLIB_LIBRARY=curses and -DTERMLIB_INCLUDE_DIR=/usr/include or something like that
11:15.33 DaRock it sounds like its born from an out of the box mentallity
11:16.04 starseeker so -DBRLCAD_TERMLIB=SYSTEM -DTERMLIB_LIBRARY=ncurses -DTERMLIB_INCLUDE_DIR=/usr/include may get you past it in combination
11:16.44 starseeker very much - the goal is to have the configure step always Just Work regardless of any shortcomings of the build environment
11:16.55 starseeker (to a point of course - we can't bundle X11)
11:17.12 DaRock thats what I was thinking, but it doesn't seem clearly indicated - it only says the defines, and none of the acceptable options are listed
11:18.17 starseeker well, you shouldn't be having to defined the TERMLIB_* variables yourself - that's a bug in our system
11:18.18 DaRock and thats fair enough, but to cut out any manual stuff is sure to come unstuck in edge cases where control might be required.
11:18.38 starseeker nods - and in those situations, you can dig down and hand set variables
11:18.59 DaRock I'll try those defines and see how I go - now that I know whats what ;)
11:19.54 DaRock yes, but those variable are not documented as to what values can be put, or how the variables can be used - digging down didn't help :)
11:20.00 starseeker DaRock: fwiw, brlcad is usually more in your camp of minimizing the "magic" and requiring manual setting of things to avoid broken corner cases
11:20.47 starseeker DaRock: that's a fair point, and we probably should update our INSTALL doc to document what variables need to be hand-set if a manual override is required
11:20.58 DaRock starseeker: does ncurses work on windows?
11:21.10 starseeker nope
11:21.42 DaRock works on about all others though, I think... I thought it did
11:22.49 starseeker the closest thing out there that I know if is a version of pdcurses: https://www.projectpluto.com/win32a.htm
11:22.49 gcibot_ [ PDCurses modified/extended ]
11:22.58 DaRock no don't - that should be one to search for, but update it in the FindTERMLIB cmake file. If you don't dig that far, then you probably in the wrong place :)
11:23.11 starseeker but I think the parts of the API they implement generally aren't the ones we use
11:23.23 DaRock does brlcad use cygwin or is it native?
11:23.27 starseeker so we'd have to rewrite a lot of our termlib code to more properly target the curses api
11:23.39 starseeker it's native, built with MSVC
11:23.49 starseeker one of the reasons we use cmake
11:24.18 DaRock so win would be the edge case :D
11:24.26 DaRock :P
11:24.31 starseeker yep. also, unfortunately, the most common today
11:24.57 starseeker BRL-CAD far predates Windows, so to us it's still an annoying edge case, but the rest of the world hasn't caught up yet
11:25.19 starseeker DaRock: insider trick - look in .cmake files for the FIND_PACKAGE_HANDLE_STANDARD_ARGS line
11:25.21 DaRock lol tell me about it :)
11:25.48 starseeker in fairness, Windows is a lot easier to deal with these days than in years past
11:25.52 DaRock thanks for the tip
11:26.12 starseeker that macro defines the "required" variables for a particular Find*.cmake file
11:26.44 DaRock <barf>... sorry about that. Thats why I got away from it entirely over 10 years ago
11:26.46 starseeker if hard-setting the TERMLIB variables doesn't get you past it I'll try to see what's going on with the FindTERMLIB logic
11:26.56 starseeker heh
11:27.33 starseeker we periodically try to eliminated special case WIN32 logic in the build and code, but there's still quite a ways to go
11:27.41 DaRock I got jack of having to explain why I had to reinstall it because some damned virus totalled my system
11:27.52 starseeker yep, that gets old
11:28.07 starseeker they're doing a lot better today than the Windows 98 days though.
11:28.39 DaRock so I gave them one last call, and switched to linux, then bsd - and run it entirely caged in a vm if I really really have to
11:29.00 starseeker nods - virtualbox and qemu really make life easier in that regard
11:29.05 DaRock win98 you didn't have to justify a reload though
11:29.20 starseeker heh - true enough
11:29.38 starseeker DaRock: OK, I've gotta run - let us know how it goes and whether you hit any other hurdles
11:30.21 DaRock I'll have a quick look at the FindTERMLIB logic, but my time is well overrun on this project so I might not get much done - I'll let you know what if I find anything
11:30.34 DaRock sure. Thanks for the help :)
12:54.40 *** join/#brlcad yorik (~yorik@2804:431:f721:afd0:290:f5ff:fedc:3bb2)
13:21.03 Notify 03BRL-CAD:starseeker * 69667 (brlcad/trunk/src/external/CREO/part.cpp brlcad/trunk/src/external/CREO/util.cpp): tweaks
13:32.19 *** join/#brlcad elpea (~chatzilla@dsl-hkibrasgw5-58c04d-211.dhcp.inet.fi)
14:15.28 *** join/#brlcad teepee] (bc5c2134@gateway/web/freenode/ip.188.92.33.52)
14:18.14 Notify 03BRL-CAD:starseeker * 69668 (brlcad/trunk/src/external/CREO/assembly.cpp brlcad/trunk/src/external/CREO/creo-brl.h and 3 others): because we have to map from wchar to char, there is no guarantee that even the basic creo strings will map uniquely. Try to set up to handle this situation.
14:19.00 Notify 03BRL-CAD:starseeker * 69669 (brlcad/trunk/src/external/CREO/assembly.cpp brlcad/trunk/src/external/CREO/main.cpp and 2 others): do subtractions if we have them.
14:33.29 Notify 03BRL-CAD:starseeker * 69670 brlcad/trunk/src/external/CREO/part.cpp: build fix
15:06.10 *** join/#brlcad gabbar1947 (uid205515@gateway/web/irccloud.com/x-lssobxdppedzsbko)
15:46.18 DaRock starseeker: it seems to be ignoring any overrides. I've got TERMLIB_LIBRARY=ncurses TERMLIB_INCLUDE_DIR=/usr/include set and its still looking for termlib.h according to the logs. A quick search finds no reference to (n)curses, and worse yet its still not looking in the /usr/include
15:46.41 DaRock I'm not making much headway on the logic I'm afraid
16:01.43 Notify 03BRL-CAD:starseeker * 69671 (brlcad/trunk/src/external/CREO/assembly.cpp brlcad/trunk/src/external/CREO/main.cpp and 2 others): Set up for an experiment. See if we can stash the CREO version stamp as an object attribute and use it to intelligently skip redoing conversions when no changes have taken place.
16:27.19 ``Erik starseeker: can ya prod brlcad to look at irc? I just did things and stuff to his server to avoid running out of disk O.o
17:13.18 *** join/#brlcad nmz787_i (~ntmccork@134.134.137.75)
17:49.22 Notify 03BRL-CAD:starseeker * 69672 (brlcad/trunk/src/external/CREO/part.cpp brlcad/trunk/src/external/CREO/shim.h): See if we can get the bounding box and use it.
17:55.08 *** join/#brlcad teepee (~teepee@unaffiliated/teepee)
19:33.44 *** part/#brlcad nmz787_i (~ntmccork@134.134.137.75)
20:00.01 Notify 03BRL-CAD:starseeker * 69673 brlcad/trunk/src/external/CREO/part.cpp: encapsulate the logic specific to tessellation
21:41.09 Notify 03BRL-CAD:starseeker * 69674 (brlcad/trunk/src/external/CREO/assembly.cpp brlcad/trunk/src/external/CREO/creo-brl.h and 3 others): various build fixes
22:25.59 *** join/#brlcad elpea (~chatzilla@dsl-hkibrasgw5-58c04d-211.dhcp.inet.fi)
23:25.19 *** join/#brlcad merzo (~merzo@210-38-132-95.pool.ukrtel.net)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.