IRC log for #brlcad on 20180307

01:19.13 *** join/#brlcad infobot (ibot@rikers.org)
01:19.13 *** topic/#brlcad is BRL-CAD and open source CAx discussion ! Also @ http://brlcad.zulipchat.com ! Logs @ http://infobot.rikers.org/%23brlcad/
03:07.25 starseeker DenisP: there are examples in share/db in the BRL-CAD build directory
03:07.53 DenisP Okay, thanks, I will check it out.
03:08.50 starseeker they run from simple to complex, although there aren't any that are really big by modern cad standards
03:25.35 brlcad DenisP: that looks like a fantastic scattering of random primitives!
03:27.32 brlcad try havoc.g (havoc object) or tank_car.g (tank_car and track objects together)
03:28.06 starseeker brlcad: yeah, r70782 removed the CMAKEFILES(${public_hdrs}) call - that was the call that let the CMake build know about the header files
03:34.14 starseeker brlcad: it's probably my fault - I was trying to reduce the dependency on the _<command> overriding mechanism in our build after I found out it wasn't originally intended to be a supported feature, so the raw CMake commands no longer append automatically to the cmakefiles list
03:34.47 starseeker brlcad: most of the time it is handled either by our target function wrappers or by the src/other file lists
03:35.19 starseeker the headers are one of a few cases where that change necessitated an explicit call to CMAKEFILES
03:38.11 starseeker IIRC, it's functionally similar to the autotools EXTRA_DIST feature...
03:39.11 starseeker probably silly to worry about that mechanism, since we do still fundamentally need it for several things
03:39.19 brlcad hm, yeah I recall the header change but didn't associate cmakefiles with doing that (or needing to do that)
03:40.35 starseeker may have been accidentally removed - looks like I stuck it after the list, and if it's the cmake version of EXTRA_DIST it should probably go at the bottom of the CMakeLists.txt file...
03:40.50 brlcad diff with extra_dist being you never had to extra_dist something the build knew something about -- it there no way to get a list of install() files?
03:41.29 brlcad something with the install manifest file maybe
03:41.55 starseeker obviously CMake knows about it internally, but I don't recall it being exposed to the user in CMake script land
03:42.28 starseeker it was related to the discussions a few years ago triggered by their wondering why we were overriding with the _<function> mechanism
03:42.50 starseeker I did get one patch in, but by itself it wasn't enough and the other changes stalled out
03:43.17 brlcad definitely mistakenly removed -- now seeing the patch, I remember thinking that was probably even a mistake since we only CMAKEFILES() in other dirs things that don't get installed/built, at least that was the notion
03:43.51 starseeker nods - that was a reasonable though given our past behavior
03:44.43 starseeker is open to revisiting those changes - there's no point in moving away from that mechanism unless in preparation to be fully "clean" of the _function mechanism, and we can't without some work on the CMake side
03:45.20 starseeker among other things, our comprehensive logging and target lists still need it
03:46.44 starseeker would like to make the CMake changes, but that's about ~306 on the TODO list...
03:47.18 brlcad we directly call install() in surprisingly few places
03:47.20 starseeker not to mention the subsequent wait for the necessary version to become standard or bundling CMake...
03:47.44 starseeker nods - I think that was what decided me to go ahead and remove the CMAKEFILES call from the function override
03:48.20 starseeker but should have been discussed - your expectation with r70782 was completely reasonable given past behavior
03:49.32 starseeker it's relatively rare for us to call raw install because usually things going into the install dir also need to go into the build dir (to get the "build dir matches install dir layout" effect)
03:50.02 brlcad what about using the install_manifest.txt file
03:50.22 starseeker that's managed by our wrappers - in principle we should also put the headers in the appropriate locations in the build dir, but since there aren't any runtime requirements we don't bother currently
03:50.46 starseeker (it is a problem if an external program wants to target a build dir for compilation, but I think that's rare...)
03:51.23 starseeker I think install_manifest.txt only gets generated at the end of the CMake run, which is too late
03:54.29 starseeker we need to know in time to define the scripts for the distcheck logic
03:55.15 brlcad but the scripts could just read the file
03:55.41 starseeker that's a possibility
03:56.10 starseeker I hadn't considered that in the original design
03:57.03 brlcad that would eliminate the need for any cmakefiles() on anything installed -- only on things not built and not installed
03:57.21 starseeker nods - which would match the EXTRA_DIST behavior?
03:58.51 starseeker I'm not seeing an install_manifest.txt file...
04:00.13 starseeker looks like cmake_install.cmake files
04:02.06 starseeker ah ha! - there's the magic bit I was talking about earlier - file(RPATH_CHANGE ...) !
04:03.17 starseeker and that's probably why that trick can't be worked on 3rd party libs - it looks like the OLD_RPATH has to match the string length of the new one
04:04.06 starseeker so any build we did of an ExternalProject where we wanted to suck in the output and manage it we'd have to make sure their build did the same thing as CMake for rpath
04:04.28 brlcad looks like install_manifest.txt is not written until after install
04:05.11 starseeker might be able to suck up all the cmake_install.cmake files and hunt up the paths, but that could be a bit of a messy parsing job...
04:06.11 brlcad the rpath failures I run into happen on our own libs
04:06.56 starseeker so "/usr/brlcad/dev-7.27.0/lib:$ORIGIN/../lib" must not be the right form somehow
04:07.07 starseeker (for Linux anyway - I know Mac is different)
04:07.16 brlcad agua:.build morrison$ bin/mged
04:07.17 brlcad dyld: Library not loaded: @rpath/libtermio.20.dylib
04:07.30 brlcad not the best example
04:07.44 starseeker so @rpath isn't the right choice?
04:09.30 starseeker hmm... that wouldn't work regardless - it either needs to know about the lib subpath from that location, or ../lib if it's treating ./bin as the rpath
04:11.33 starseeker brlcad: in misc/CMake/RPath_Setup.cmake we set CMAKE_INSTALL_RPATH for APPLE - is that wrong?
04:11.58 starseeker notes we're using a semicolon isntead of a colon for a path separator in the APPLE case...
04:16.19 brlcad i'm not familiar with what exactly is conventional, only that there are several possible ways it can be set up
04:16.28 brlcad lots of ways for it to not work ;)
04:16.52 starseeker <snort> - sounds like opengl
04:17.24 brlcad from what little I know, if @rpath is going to be used, then the rpath has to be set the right way to find the resource
04:17.57 brlcad typically setting something like @executable_path/../lib
04:18.20 starseeker nods - I think that's why we tried @loader_path
04:19.03 starseeker but your binary showed @rpath - surprising
04:19.21 starseeker unless that's from the build dir
04:22.02 starseeker fwiw: https://cmake.org/Wiki/CMake_RPATH_handling
04:22.02 gcibot [ CMake RPATH handling - KitwarePublic ]
05:00.50 *** join/#brlcad gabbar1947 (uid205515@gateway/web/irccloud.com/x-zjxnvizrlcgajpdb)
06:57.59 *** join/#brlcad teepee (~teepee@unaffiliated/teepee)
08:35.44 *** join/#brlcad KimK (~KimK@2001:579:d00c:800:4509:5129:54cd:48d0)
08:40.52 *** join/#brlcad merzo (~merzo@165-43-133-95.pool.ukrtel.net)
13:33.10 *** join/#brlcad teepee (~teepee@unaffiliated/teepee)
13:45.56 *** join/#brlcad kintel (~kintel@unaffiliated/kintel)
13:47.48 *** join/#brlcad yorik (~yorik@2804:431:f720:76fa:290:f5ff:fedc:3bb2)
14:06.31 *** join/#brlcad kintel (~kintel@unaffiliated/kintel)
16:38.42 *** join/#brlcad gabbar1947 (uid205515@gateway/web/irccloud.com/x-gyoymffsqdqwtyzp)
16:53.42 *** join/#brlcad DenisP (d40d70a2@gateway/web/freenode/ip.212.13.112.162)
20:37.40 *** join/#brlcad LordOfBikes (~armin@dslb-088-066-130-164.088.066.pools.vodafone-ip.de)
22:57.01 *** join/#brlcad Lletfrix (96f417fc@gateway/web/freenode/ip.150.244.23.252)
23:01.08 *** join/#brlcad Radicarian (~Radicaria@cpe-72-231-246-183.buffalo.res.rr.com)
23:30.29 *** join/#brlcad Notify (~notify@104.225.5.10)
23:33.27 *** join/#brlcad Notify (~notify@104.225.5.10)
23:38.37 Notify 03BRL-CAD:starseeker * 70716 brlcad/trunk/src/nirt/main.cxx: Ah, that's right - we need to help bu_brlcad_root out explicitly.
23:39.16 Notify 03BRL-CAD:starseeker * 70710 brlcad/trunk/regress/CMakeLists.txt: Add depends_list not just to overall regress target but to the specific regression target in question as well.
23:39.26 Notify 03BRL-CAD:starseeker * 70713 brlcad/trunk/src/nirt/main.cxx: right, jumps don't like crossing initializations...
23:40.17 Notify 03BRL-CAD:starseeker * 70712 brlcad/trunk/src/nirt/main.cxx: initialize
23:55.42 Notify 03BRL-CAD:starseeker * 70719 brlcad/trunk/src/libanalyze/nirt.cxx: don't report gaps with gap_los <= 0
23:55.52 Notify 03BRL-CAD:starseeker * 70720 brlcad/trunk/regress/nirt.sh: Ah, that's what the GAP bits were in the regression diff - zero length reporting.
23:56.23 Notify 03BRL-CAD:starseeker * 70721 brlcad/trunk/src/libanalyze/nirt.cxx: start stubbing in nirt diff command
23:56.27 Notify 03BRL-CAD:starseeker * 70722 brlcad/trunk/src/libanalyze/nirt.cxx: allow comments

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