| 00:23.05 | *** join/#brlcad jimmyz (n=asd@host86-133-245-247.range86-133.btcentralplus.com) | |
| 00:29.36 | *** join/#brlcad MinuteElectron (n=MinuteEl@bz.bzflag.bz) | |
| 00:31.01 | *** join/#brlcad cad32 (n=bd0cdf4e@bz.bzflag.bz) | |
| 00:53.05 | *** join/#brlcad archivist (n=archivis@217.35.76.52) | |
| 01:26.38 | *** join/#brlcad archivist (n=archivis@host217-35-76-52.in-addr.btopenworld.com) | |
| 01:41.25 | poolio | brlcad: so after rewriting all the code I still get the same problem with corrupting the database |
| 02:18.14 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/liboptical/sh_light.c: more cleanup, reorder based on call order, remove dead code, add comments |
| 02:25.04 | brlcad | poolio: heh, no .. just freenode relinking servers |
| 02:25.18 | poolio | brlcad: haha |
| 02:25.30 | poolio | brlcad: if I uploaded some files, think you'd have a minute to look at them? |
| 02:25.46 | poolio | I currently have the most bizarre thing I've ever seen |
| 02:26.04 | poolio | I have a line that has a printf statement on it, when I comment out that line it segfaults. When I keep it, it runs. :? |
| 02:29.54 | brlcad | heh, fun |
| 02:30.02 | brlcad | sounds like you've blown the stack somewhere |
| 02:30.23 | brlcad | often pretty hard bugs to track down |
| 02:30.46 | poolio | ah correctomndo, gdb to the rescue |
| 02:30.48 | brlcad | but sure, I'd take a look for a little while (though I'm in the middle of other things to get too involved tonight) |
| 02:31.57 | poolio | brlcad: alright, gimme 2 more minutes and if I can't get it I'll send you the test app and cvs up the files it depends on |
| 02:32.10 | brlcad | gdb is not great at detecting corrupted stack, but good to try |
| 02:33.57 | poolio | it's no longer segfaulting, but same "db5_crack_disk_header() bad magic1 -- database has become corrupted expected x76, got x0 |
| 02:48.34 | poolio | brlcad: Oh no way. I only get the error when copying combinations |
| 02:48.56 | poolio | can I not rt_db_put_internal a combination? |
| 02:50.28 | brlcad | poolio: there's not nearly enough information in your comments to answer that question :) |
| 02:50.30 | poolio | oh I see...I guess my trees weren't properly being modified to point to the renamed shapes |
| 02:51.27 | brlcad | db5_crack_disk_header() is one of the first things that the database loader does to make sure it's actually working with what seems to be a .g file |
| 02:51.47 | poolio | I figured it out I think, I just still haven't found the bug |
| 02:51.53 | brlcad | meaning if that fails, then "something" before that is wrong |
| 02:56.27 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/other/openNURBS/ (9 files): |
| 02:56.27 | CIA-4 | BRL-CAD: quell compilation warnings for a slew of switch statements that don't handle |
| 02:56.27 | CIA-4 | BRL-CAD: various possible enumeration values. whether this is unimplemented |
| 02:56.27 | CIA-4 | BRL-CAD: functionality or cases that will never be encountered in that routine, the |
| 02:56.27 | CIA-4 | BRL-CAD: warnings can be quelled by adding a default case that does nothing. |
| 03:07.27 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/conv/dbupgrade.c: quell exit decl warning |
| 03:08.41 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/conv/ (g4-g5.c g5-g4.c): quell exit decl warning |
| 03:13.31 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/mged/vrlink.c: quell libpkg compilation warning, the buffer may be modified to add the pkg header so it shouldn't be const |
| 03:14.15 | *** join/#brlcad IriX64 (n=IriX64@bas2-sudbury98-1096601584.dsl.bell.ca) | |
| 03:15.35 | IriX64 | http://www3.sympatico.ca/mario.dulisse/test.png (thing is marvellous) :) |
| 03:21.30 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/mged/vrlink.c: use bufsize instead |
| 03:31.36 | IriX64 | truck.png is interesting too :) |
| 03:35.47 | poolio | brlcad: I have a general question about stringhandling. If i'm passing around and modifying names, concatenating strings, etc... does brl-cad implement things that might be helpful or is it fine to just use libc standard routiens? |
| 03:43.31 | brlcad | poolio: should either use standard libc routines or libbu's bu_vls strings |
| 03:43.44 | poolio | alright. they don't really need to be vls, so ill stick to libc |
| 03:43.46 | brlcad | (vls == variable length strings) |
| 03:43.52 | poolio | yep |
| 03:44.05 | poolio | brlcad: alright i'm on a roll and am finally getting somewhere, i'm gonna stay up coding :) |
| 03:44.23 | brlcad | if you can't do it without allocating memory ala malloc and friends, you should probably be using a vls |
| 03:44.48 | poolio | well for like naming shapes |
| 03:45.06 | poolio | I currently have a name string and concatenate an integer |
| 03:45.22 | poolio | so I use snprintf a bunch |
| 03:45.33 | brlcad | sure, that's fine |
| 03:45.50 | brlcad | it's whether that n is to a static buffer or something being resized as needed |
| 03:45.58 | brlcad | if it's being resized (ever), it should probably be a vls |
| 03:46.07 | poolio | yeah, i'm not realloc'ing anything |
| 03:46.07 | brlcad | if it's just an array, then you're good |
| 03:47.28 | brlcad | likewise, if the size never changes and it's megs of memory, it should probably be a stack array instead of malloc'd too |
| 03:48.00 | brlcad | s/megs/not megs/ |
| 03:49.16 | poolio | yeah. none of it is malloc'd. I'm defining the buffer size at 256 for now, I'll fix that later |
| 03:52.30 | IriX64 | poolio for 256 bytes why not alloca and let the system automagically free it at exit :) |
| 03:52.52 | poolio | IriX64: that's what I'm doing. "none of it is malloc'd" |
| 03:53.04 | IriX64 | heh ok |
| 03:53.11 | poolio | well no i lied |
| 03:53.13 | poolio | i'm not using alloca |
| 03:53.30 | IriX64 | it's your code man |
| 03:53.35 | poolio | heh, you can patch it for me |
| 03:53.56 | IriX64 | rtfp read the fine patch :) |
| 03:55.38 | IriX64 | roses need watering :) bbiab |
| 07:39.39 | *** join/#brlcad Laniakea (n=clock@zux221-122-143.adsl.green.ch) | |
| 10:46.45 | *** join/#brlcad elite01 (n=elite01@dslc-082-082-064-107.pools.arcor-ip.net) | |
| 11:21.31 | *** join/#brlcad docelic (n=docelic@212.15.179.34) | |
| 13:26.07 | poolio | mornin. i vow to commit today :) |
| 13:34.43 | Laniakea | When compiling brl-cad, I always did ./configure and never ./configure --enable-optimized as suggested in INSTALL. |
| 13:34.50 | Laniakea | Does it affect the rendering speed significantly? |
| 13:38.44 | poolio | yes. |
| 13:38.54 | Laniakea | how much? |
| 13:39.03 | Laniakea | orders of magnitude? percent? tens of percent? |
| 13:39.09 | poolio | in terms of the VGR I get in benchmark it's around twice as fast |
| 13:39.14 | brlcad | almost 2x usually |
| 13:39.16 | Laniakea | Now I understand why I think it's slow :) |
| 13:39.19 | poolio | brlcad: mornin :) |
| 13:39.55 | Laniakea | brlcad: now I am trying to compile 7.10.0 or however it's called on OpenBSD. If it fails I can then report you the error message. |
| 13:39.57 | brlcad | depends of course on hardware, compiler, alignment, and other issues, but usuallya bout 2x |
| 13:42.23 | poolio | brlcad: i'm just gonna run my database organization by you. The original model data that has the source we're trying to generate is going to be stored in some database, the program gets that database and each generation has its own database. Any suggestions for naming shapes part of a certain region? I was just appending numbers |
| 13:43.17 | brlcad | not really anything major |
| 13:43.19 | Laniakea | brlcad: what kind of optimization is turned on by this option? Compiler optimizations like -O3, -s -fomit-frame-pointer, -fstrength-reduce, -funroll-loops etc.? |
| 13:43.36 | brlcad | maybe include the primitive name as the prefix or a suffix so it's immediately identifiable |
| 13:44.29 | poolio | brlcad: good idea |
| 13:45.21 | Laniakea | *** Warning: linker path does not have real file for library -ltcl85. |
| 13:45.21 | Laniakea | *** I have the capability to make that library automatically link in when |
| 13:45.21 | Laniakea | *** you link to this library. But I can only do this if you have a |
| 13:45.21 | Laniakea | *** shared version of the library, which you do not appear to have |
| 13:45.21 | Laniakea | *** because I did check the linker path looking for a file starting |
| 13:45.24 | Laniakea | *** with libtcl85 and none of the candidates passed a file format test |
| 13:45.26 | Laniakea | *** using a file magic. Last file checked: /home/clock/brlcad-7.10.0/src/other/tcl/unix/libtcl85.a |
| 13:45.29 | Laniakea | That's normal or is it a failure sign? |
| 13:45.35 | poolio | Please use a pastebin |
| 13:45.35 | brlcad | Laniakea: it basically goes from unoptimized (-O0) to -O3 |
| 13:45.36 | Laniakea | (the compilation continues) |
| 13:45.37 | poolio | ~paste |
| 13:45.38 | ibot | paste is probably http://rafb.net/paste/ |
| 13:45.43 | Laniakea | omg -O0 |
| 13:45.55 | brlcad | default is set for developers |
| 13:47.24 | brlcad | the installation docs have always documented that as well, default is _unoptimized_ |
| 13:47.29 | brlcad | hence the flag for optimized |
| 13:48.59 | brlcad | there have been other flags, but whether they actually add anything usually depends on many factors and can actually slow it down too so it's presently still left up to the person compiling to add more than -O3 |
| 13:49.00 | Laniakea | and I wondered, why all the videos render for weeks :) |
| 13:49.44 | Laniakea | I have system CFLAGS set to -O3 -fomit-frame-pointer -march=pentium3 -pipe. Does it cause optimization when I don't specify --enable-optimized to ./configure? |
| 13:50.39 | brlcad | of course, you can set the flags directly |
| 13:51.03 | brlcad | in that case enable optimized isn't going to do much at all |
| 13:51.04 | Laniakea | but does the make actually take it over? |
| 13:51.07 | Laniakea | :( |
| 13:51.20 | Laniakea | since some projects ignore these CFLAGS |
| 13:51.30 | brlcad | depends what you mean by "system CFLAGS" |
| 13:51.38 | brlcad | you have to specify it somehow |
| 13:51.47 | Laniakea | it's set in /etc/profile or so by export |
| 13:52.46 | brlcad | that one should retain then if it's exported in your environment, but you'd have to look at the compilation log to be sure |
| 14:12.58 | Laniakea | brlcad: so the errors are here... |
| 14:13.33 | Laniakea | ./.libs/librt.so.19.1: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' |
| 14:13.37 | Laniakea | ./.libs/librt.so.19.1: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(long)' |
| 14:13.56 | Laniakea | and much more undefined references. |
| 14:14.09 | poolio | all from g++? |
| 14:14.38 | Laniakea | They are from /bin/sh ../../libtool --silent --mode=link gcc -O3 -fomit-frame-pointer -march=pentium3 -pipe -pipe -fno-strict-aliasing -fno-common -fexceptions -g -O3 -L/usr/X11R6/lib -L/usr/local/lib -pipe -fno-strict-aliasing -fno-common -fexceptions -g -O3 -o comb comb.o librt.la -lc -lm ../../src/libsysv/libsysv.la ../../src/other/openNURBS/libopenNURBS.la ../../src/libbu/libbu.la ../../src/libbn/libbn.la ../../src/libbu/libbu.la -L.. |
| 14:17.04 | Laniakea | Any idea if I need to install some additional library? |
| 14:18.33 | poolio | sounds like it's using gcc when it should be using g++ |
| 14:20.50 | Laniakea | but it's running on comb.o and comb.o has equivalent of comb.c so it should run gcc and not g++, shouldn't? |
| 14:23.17 | poolio | no |
| 14:23.33 | poolio | comb.o is equivalent of an object file, in c or c++, it's just nomenclature. It could be anything |
| 14:23.47 | poolio | I could be entirely wrong though, I'd wait for brlcad to return and solve all your problems. |
| 14:23.50 | Laniakea | why should it run g++? |
| 14:24.01 | Laniakea | where is brlcad? On the toiler? |
| 14:24.03 | Laniakea | toliet? |
| 14:24.20 | poolio | No, he's working his ass off, like he does every day. So be patient, maybe find something else to do, and wait for a response. |
| 14:25.48 | Laniakea | I want to compile newest brl-cad because the old one rendered contour drawings incorrectly and they repaired it after I reported it |
| 14:26.38 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/mged/vrlink.c: rt_bufsize is in a header we don't use, so just define something |
| 14:28.27 | MinuteElectron | brlcad: Want a search box in the footer and at the top or just at the top? |
| 14:28.57 | Laniakea | poolio: are you brlcad's coworker? |
| 14:29.15 | poolio | kind of. |
| 14:29.21 | Laniakea | MinuteElectron: and you too> |
| 14:29.38 | MinuteElectron | Laniakea: I am the website developer. |
| 14:29.47 | Laniakea | MinuteElectron: of the new upcoming website? |
| 14:29.52 | MinuteElectron | Very new around here, yes. |
| 14:30.07 | Laniakea | MinuteElectron: I can't wait for that |
| 14:30.15 | MinuteElectron | It is available at http://my.brlcad.org/ - but bear in mind it is still under development. |
| 14:30.33 | MinuteElectron | (nearly ready to port it to MediaWiki and populate the site though) |
| 14:30.46 | *** join/#brlcad elite01 (n=elite01@dslc-082-082-064-107.pools.arcor-ip.net) | |
| 14:46.59 | Laniakea | brlcad: did you see the error? |
| 15:23.30 | brlcad | Laniakea: yes |
| 15:24.21 | brlcad | it is a c++ matter, attempting to link the first app that uses librt (and your compilation is specified to use openNURBS) |
| 15:24.39 | Laniakea | brlcad: do I need to install openNURBS? |
| 15:24.54 | brlcad | it already compiled it |
| 15:25.12 | Laniakea | brlcad: what I should do to make it compile? |
| 15:25.30 | brlcad | are you on head? |
| 15:25.38 | Laniakea | 7.10.0 |
| 15:26.24 | brlcad | hrm, I forget what was done in 7.10.0 -- after libopenNURBS.la, it "should" also say -lstdc++ |
| 15:26.34 | brlcad | assuming the configure test passed |
| 15:26.46 | brlcad | do you have libstdc++ installed? |
| 15:27.27 | Laniakea | /usr/lib/libstdc++.a |
| 15:27.27 | Laniakea | /usr/lib/libstdc++.so.42.0 |
| 15:28.54 | Laniakea | find /usr/include and /usr/local/include -name '*stdc++*' doesn't find anything |
| 15:29.16 | Laniakea | Yes the conffigure passed |
| 15:29.53 | brlcad | grep OPENNURBS src/librt/Makefile |
| 15:30.10 | Laniakea | OPENNURBS = ${top_builddir}/src/other/openNURBS/libopenNURBS.la ${LIBSTDCXX} |
| 15:30.10 | Laniakea | OPENNURBS_CPPFLAGS = -I${top_srcdir}/src/other/openNURBS |
| 15:30.10 | Laniakea | BREP_CPPFLAGS = -DOBJ_BREP=1 $(OPENNURBS_CPPFLAGS) |
| 15:30.25 | MinuteElectron | brlcad: PM? |
| 15:30.45 | Laniakea | brlcad: -lstdc++ doesn |
| 15:30.49 | Laniakea | t occur in the Makefile |
| 15:31.07 | brlcad | grep "LIBSTDCXX =" src/librt/Makefile |
| 15:31.24 | Laniakea | LIBSTDCXX = |
| 15:31.34 | Laniakea | (the rest of line is empty) |
| 15:31.40 | brlcad | according to that, the test failed |
| 15:31.55 | Laniakea | you mean the ./configure failed? |
| 15:32.05 | brlcad | no |
| 15:32.13 | brlcad | the configure test for -lstdc++ |
| 15:32.28 | Laniakea | so should I rerun configure and figure out why? |
| 15:32.34 | brlcad | configure runs hundreds of tests for functionality |
| 15:32.41 | brlcad | that is one of them, and it failed for some reason |
| 15:32.47 | brlcad | look in config.log |
| 15:33.08 | brlcad | search for lstd |
| 15:33.24 | brlcad | mine has: |
| 15:33.25 | brlcad | configure:31387: checking for main in -lstdc++ |
| 15:33.25 | brlcad | configure:31411: gcc -o conftest -I/usr/local/include -L/usr/local/lib conftest.c -lstdc++ >&5 |
| 15:33.28 | brlcad | configure:31417: $? = 0 |
| 15:33.31 | brlcad | that means it succeeded |
| 15:33.43 | brlcad | if it fails, there will be a huge section below it with details on why |
| 15:34.40 | Laniakea | libstdc++ test failed because of missing -lm: |
| 15:34.52 | Laniakea | <PROTECTED> |
| 15:35.06 | Laniakea | and the error messages are like /usr/lib/libstdc++.so.42.0: undefined reference to `log' and all possible math functions |
| 15:36.17 | brlcad | interesting, ok |
| 15:36.19 | Laniakea | log, sqrt, cosh, finitef, cos, tanh, sin, atan2, pow, sinh, log10, exp, tan |
| 15:36.58 | Laniakea | so brlcad has to be compiled with LDFLAGS=-lm ./configure --enable-optimized? |
| 15:37.15 | Laniakea | That should be written in the README |
| 15:37.16 | brlcad | you have a stdc with unresolved symbols, first I've seen of that |
| 15:37.28 | brlcad | that shouldn't be written in the readme |
| 15:37.37 | brlcad | it can be accommodated |
| 15:37.50 | brlcad | i.e. adjusting configure.ac is best |
| 15:38.45 | Laniakea | well the libstdc++, if using pow etc., must necessarily have unresolved symbols, doesn't? |
| 15:38.49 | brlcad | which OS are you on? openbsd? |
| 15:39.02 | brlcad | no, it could resolve the symbols |
| 15:39.06 | Laniakea | Otherwise all the libm code would have to duplicated inside libstdc++, wouldn't? |
| 15:39.18 | brlcad | you can have libraries with or without resolved symbols |
| 15:39.19 | Laniakea | But the resolution is done only by the dynamic linker, isn't it? |
| 15:39.26 | brlcad | usually low-level libraries are fully resolved |
| 15:39.31 | Laniakea | What does it mean, library with resolved symbols and without? |
| 15:39.40 | brlcad | otherwise, you have to link against all of their dependency libs regardless |
| 15:40.16 | Laniakea | resolved symbol means that instead of "pow", an absolute address is written in that place in libstdc++? |
| 15:40.39 | brlcad | it means exactly that -- there are symbols in the library .. they are either defined as in they have an address to code or they do not (man ld, nm, ar) |
| 15:40.49 | brlcad | basically, yes |
| 15:40.59 | brlcad | depending on what you mean by absolute |
| 15:41.33 | brlcad | regardless, it uses pow, so the library resolves the symbols for pow() in that library by providing the definition |
| 15:42.07 | Laniakea | but if you link with a different version of -lm than against which it was resolved and the symbols are in different places, then it segfaults |
| 15:42.23 | brlcad | huh? |
| 15:42.38 | Laniakea | because there are already absolute addresses in libstdc++ |
| 15:42.41 | brlcad | it doesn't need/use -lm if it's a resolved symbol |
| 15:42.49 | brlcad | it's resolved |
| 15:42.57 | brlcad | there's no external linkage |
| 15:43.07 | Laniakea | well when libstdc++ calls pow, the pow() code must be present |
| 15:43.24 | Laniakea | if the executable code is missing at the given address and the address is execute, it will segfault |
| 15:43.39 | brlcad | yes, and it must either be present and link or run-time depending on how one compile |
| 15:43.40 | Laniakea | so the libm must be loaded by the ld.so or how it's called |
| 15:44.33 | Laniakea | and if you upgrade your -lm the addresses may change and the it will execute somewhere from half instruction or so and perform things that were not intended |
| 15:44.33 | Laniakea | with likely segfault resulting |
| 15:44.41 | brlcad | your assertion that it'll segfault is only true if that address is executed, which is wouldn't -- the dynamic linker would abort on most systems |
| 15:44.53 | brlcad | you're still referring to unresolved symbols |
| 15:44.54 | Laniakea | so the dynamic linker tests the version? |
| 15:45.05 | brlcad | there is NO dynamic linking occurring if it's resolved |
| 15:45.22 | brlcad | it has the code to pow, it could inline it for all you care and make there be no pow() at all |
| 15:45.42 | Laniakea | so the pow code is stored inside of libstdc++? |
| 15:45.54 | brlcad | yes, some form of it |
| 15:46.02 | brlcad | hence.. "resolved" |
| 15:46.08 | Laniakea | anyway, brl-cad ./configure must be IMHO rewritten to include -lm on the test for libstdc++ |
| 15:47.14 | brlcad | seriously, that was what I'd said 10 minutes ago |
| 15:47.27 | Laniakea | you said I can adjust it somewhere |
| 15:47.38 | Laniakea | or it could test whether the symbol is resolved or not and adjust accordingly |
| 15:48.13 | Laniakea | and also pass -lm when linking with -stdc++, or not? |
| 15:48.27 | brlcad | ehm, I'm familiar with what I wrote -- it's just a few lines above .. i said it can be accommodated |
| 15:48.37 | brlcad | i.e. the fact that your lib isn't resolved can be accommodated |
| 15:49.28 | brlcad | seriously, what's with the tone? |
| 15:50.09 | Laniakea | tone is not transmitted through electronic communication, that was proven by some study |
| 15:50.53 | Laniakea | what was interesting in the librt makefile there was double -lm, like -lm -lm |
| 15:51.00 | Laniakea | that's an anomaly, isn't it? |
| 15:51.15 | Laniakea | I'm trying to recreate the Makefile now |
| 15:51.23 | brlcad | ok, arrogant phrasing then .. |
| 15:51.34 | brlcad | either way, it's not the first time |
| 15:51.45 | Laniakea | I don't want to sound arrogant |
| 15:52.18 | Laniakea | It's the property of electronic media. I read an article where they showed that the impression people get from electronic communication has no correlation what the writer intended |
| 15:52.31 | Laniakea | i. e., it's 50:50. Exactly like throwing dice. |
| 15:53.23 | Laniakea | yeah. src/librt/Makefile: BN_LIBS = ${top_builddir}/src/libbu/libbu.la -L${top_builddir}/src/other/tcl/unix -ltcl85 -lm -lm |
| 15:54.18 | brlcad | in general, that's certainly true -- in practice, particularly on IRC, there are trends and language that while each individual statement could be taken several ways 50/50, the accumulation of them generate personality |
| 15:54.49 | Laniakea | no they showed that the emotions read out from electronic text are completely random. No reliability or correlation at all. |
| 15:55.06 | brlcad | that's the arrogance I'm referring to, btw |
| 15:55.25 | brlcad | certainty that you're right based on .. something you read |
| 15:55.27 | Laniakea | That's what the scientific study concluded |
| 15:55.38 | brlcad | with little no consideration that there are other data points? |
| 15:56.02 | Laniakea | well my experience shows that the study was right |
| 15:56.23 | CIA-4 | BRL-CAD: 03poolio * 10brlcad/src/gtools/beset/ (6 files): partially working tree implementation. still some bugs to work out... |
| 15:56.34 | brlcad | and if you were to see a study that shows what I'd said was _also_ true? |
| 15:56.52 | brlcad | it's not a black and white world, rarely ever |
| 15:57.12 | Laniakea | well then assume I am arrogant |
| 15:57.24 | Laniakea | I have no intention to be arrogant when writing this so you are getting a false feeling |
| 15:57.56 | brlcad | i'm only responding to your words, regardless of your intent (as perceived or not) |
| 15:58.35 | Laniakea | <PROTECTED> |
| 15:58.39 | Laniakea | now I am trying this... |
| 15:58.45 | brlcad | that should work |
| 15:59.01 | Laniakea | I had to do this also with other programs under OpenBSD |
| 15:59.02 | brlcad | similarly using your existing configure and just adding -lm to the libs |
| 15:59.16 | Laniakea | which libs where? In Makefile? configure? |
| 15:59.18 | brlcad | i.e., make LIBS=-lm |
| 15:59.29 | Laniakea | aha |
| 15:59.36 | Laniakea | and LIBS that's some generic mechanism of make? |
| 15:59.43 | poolio | brlcad: bu_bomb always crashes my system. it stalls on saving stack trace...and i have to kill -9 it. any suggestions? |
| 15:59.44 | brlcad | of automake |
| 16:00.02 | brlcad | poolio: it's waiting on the debugger to attach |
| 16:00.06 | poolio | ah |
| 16:00.35 | poolio | I guess once the code is workign I shouldn't have to worry about it |
| 16:00.39 | brlcad | you can turn that off, and probably should if you're debugging something that causes it frequently |
| 16:01.58 | brlcad | poolio: curious, is HAVE_KILL defined for you in include/brlcad_config.h ? |
| 16:02.39 | poolio | yes |
| 16:04.47 | Laniakea | now it booms on: |
| 16:04.51 | brlcad | hrm, then the indefinite wait is unintentional, the child should send the parent a signal |
| 16:05.01 | Laniakea | /home/clock/brlcad-7.10.0/src/other/tcl/unix/libtcl85.a(tclStrToD.o)(.text+0x226f): In function `TclDoubleDigits': |
| 16:05.04 | Laniakea | /home/clock/brlcad-7.10.0/src/other/tcl/generic/tclStrToD.c:1822: undefined reference to `log' |
| 16:05.14 | Laniakea | but why doesn't it link with -lm when I specified LDFLAGS=-lm? |
| 16:05.38 | brlcad | what's your link line? |
| 16:05.40 | Laniakea | make LIBS=-lm gets it through this one, however |
| 16:06.01 | brlcad | oh, you mean setting ldflags before configure |
| 16:06.06 | Laniakea | gcc -pipe -g -O3 -fomit-frame-pointer -march=pentium3 -pipe -Wl,-export-dynamic tclAppInit.o -L/home/clock/brlcad-7.10.0/src/other/tcl/unix -ltcl85 \ -Wl,-rpath,/usr/brlcad/lib -o tclsh |
| 16:06.50 | Laniakea | the more places you set -lm in, the higher probability there is that it links math library where you want ;-) |
| 16:07.05 | brlcad | tcl does it's own thing with the flags |
| 16:07.14 | brlcad | their build system overrides a lot |
| 16:07.36 | Laniakea | now, another one: |
| 16:07.37 | Laniakea | gcc -pipe -g -O3 -fomit-frame-pointer -march=pentium3 -pipe -Wl,-export-dynamic tkAppInit.o -L/home/clock/brlcad-7.10.0/src/other/tk/unix -ltk85 \ -L/home/clock/brlcad-7.10.0/src/other/tcl/unix -ltcl85 -L/usr/X11R6/lib -lX11 -lXss -lXext -Wl,-rpath,/usr/brlcad/lib:/usr/X11R6/lib -o wish |
| 16:08.30 | Laniakea | /home/clock/brlcad-7.10.0/src/other/tk/unix/libtk85.a(tkEntry.o)(.text+0x4a2a): In function `ComputeFormat': |
| 16:08.34 | Laniakea | /home/clock/brlcad-7.10.0/src/other/tk/generic/tkEntry.c:4346: undefined reference to `log10' |
| 16:08.51 | Laniakea | any idea how I could fake -lm into the commandline? |
| 16:08.59 | Laniakea | alias gcc="gcc -lm"? |
| 16:09.19 | Laniakea | doesn't work :( |
| 16:09.32 | brlcad | heh, right, that only works during link |
| 16:09.39 | brlcad | as either an ldflag or a libs |
| 16:09.45 | Laniakea | replace /usr/bin/gcc with a script :) |
| 16:10.13 | brlcad | it got past tclsh/wish before you changed configure |
| 16:10.21 | *** join/#brlcad cad49 (n=4a2edebf@bz.bzflag.bz) | |
| 16:14.38 | poolio | brlcad: where does OVERLAP output come from? |
| 16:14.50 | Laniakea | brlcad: do you know where the -lm should be added permanently in the brlcad source? |
| 16:15.09 | brlcad | poolio: from the application struct overlap handler |
| 16:15.49 | brlcad | Laniakea: yes, though it should have worked as a configure parameter |
| 16:16.06 | brlcad | ./configure LIBS=-lm --enable-optimized |
| 16:17.20 | poolio | brlcad: if two objects are unioned, there shouldn't be any overlap, correct? |
| 16:17.54 | brlcad | depends how they are unioned |
| 16:18.08 | Laniakea | brlcad: OK, trying that one... |
| 16:18.10 | brlcad | a union of two regions could certainly have overlaps |
| 16:18.23 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/libbu/backtrace.c: hrm, for some reason the child isn't getting the signal so regardless, don't wait indefinitely for the child to send the signal. only wait up to a minute for a debugger to attach. |
| 16:18.25 | poolio | brlcad: a union of two sphers that touch each other, does that have "overlap" ? |
| 16:18.48 | brlcad | shooting an rt_i against two spheres can have an overlap (as it will make regions for you) |
| 16:19.31 | poolio | well, I have a combination, it's the union of two sphers that overlap. doesn't that combination not have any overlap? |
| 16:20.05 | brlcad | it does only because there are no regions defined |
| 16:20.24 | poolio | wait. so would it be better to store it in a region? |
| 16:20.24 | brlcad | librt creates regions for you, and happens to create them at the primitive level if none are defined |
| 16:20.39 | brlcad | that, or override the overlap handler |
| 16:20.50 | poolio | ah I see, yeah. |
| 16:20.54 | brlcad | you don't really care about overlaps |
| 16:21.07 | brlcad | just define/set the callback like hit/miss |
| 16:21.14 | poolio | Ah I see, I hadn't set a default overlap handler, it used the default, and that's where the output came from |
| 16:21.20 | brlcad | yep |
| 16:21.22 | poolio | If I use a region I don't get the overlap output |
| 16:21.25 | brlcad | bitches by default :) |
| 16:21.39 | poolio | so I might as well just do that instead of writing a null overlap handler |
| 16:22.01 | brlcad | dunno, you really don't need regions |
| 16:22.11 | brlcad | conceptually, you're matching shapes |
| 16:22.19 | brlcad | which are regionless groupings |
| 16:22.31 | poolio | yeah, but I don't care how the shapes are stored |
| 16:22.46 | brlcad | if you used that shape in something and that thing becomes a region, you won't have overlaps |
| 16:22.50 | poolio | the point of combinations is just two group the shapes and allow CSG operations |
| 16:23.19 | poolio | So I'm just saying in my program, it's easier as a region, (disregarding any sort of conceptual reasons for using regions vs combinations etc..) |
| 16:23.34 | brlcad | easier as in less code? |
| 16:23.45 | brlcad | i'll give ya that, sure :) |
| 16:23.58 | brlcad | though setting the handler to null is just one line :) |
| 16:26.48 | poolio | yeah fair enough |
| 16:27.01 | brlcad | hmm |
| 16:27.08 | brlcad | problem though.. that means your segments are wrong |
| 16:27.19 | brlcad | unless you compensate |
| 16:27.23 | brlcad | which would be tricky |
| 16:27.26 | poolio | jij |
| 16:27.28 | poolio | oops. huh? |
| 16:27.55 | poolio | oh because the segments aren't part of hit, they go to overlap? |
| 16:27.58 | brlcad | librt is creating regions for you, so for two overlapping spheres, you're not going to get one long segment, you'll get two overlapping segments |
| 16:27.59 | poolio | so I need to proces overlaps then |
| 16:28.16 | brlcad | or just make it a region, and it'll do it for you |
| 16:28.30 | poolio | alright. so I'd say just leave it as a region? |
| 16:28.35 | brlcad | sure |
| 16:28.52 | brlcad | btw, I forgot about rt_bound_tree() |
| 16:29.07 | brlcad | computes the bounding box of a given union tree |
| 16:29.28 | brlcad | might be of use |
| 16:30.37 | poolio | well rt_bound_tree() is called when you extrat the rt_i from the db |
| 16:30.48 | brlcad | right |
| 16:30.58 | brlcad | it's more if you needed to recompute based on in-mem geometry |
| 16:31.06 | brlcad | without writing out to disk or somesuch |
| 16:31.09 | poolio | yeah |
| 16:31.23 | poolio | I'm doing a lot of read from disk, modify, write over and over |
| 16:31.30 | Laniakea | brlcad: still compiling... |
| 16:31.40 | poolio | It might be better to just keep in memory and write |
| 16:31.52 | poolio | and eliminate the need for reading from disck |
| 16:31.58 | poolio | hrmph. *disc / *disk |
| 16:32.13 | brlcad | poolio: grep SIGCHLD /usr/include/sys/signal.h |
| 16:33.28 | poolio | nadda |
| 16:33.40 | poolio | oh wait |
| 16:34.09 | poolio | nope, still nothing. |
| 16:34.43 | brlcad | hm, that could potentially be why |
| 16:34.49 | brlcad | grep -r SIGCHLD /usr/include/* |
| 16:36.46 | poolio | it's in /usr/include/asm-[generic,i486,x86_64]/signal.h |
| 16:37.52 | brlcad | k |
| 16:39.02 | poolio | would you like more system info or are you good? |
| 16:40.59 | poolio | brlcad: so I'm trying to write an object to a new database with a different name. The issue I think I'm having is that I'm using db_rename() and it modifies the in-memory database object list. Is there a way to write an internal object with a different name without modifying the db_i? Like just modify the dp? |
| 16:41.16 | poolio | (dp = struct directory *) |
| 16:45.08 | brlcad | i'm good for now, trying to see why the debugger would hang like that |
| 16:45.19 | brlcad | s/debugger/backtrace routine/ |
| 16:45.45 | poolio | alright, just tell me if I can do anything |
| 16:51.03 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/configure.ac: if libstdc++ fails to link, see if it's because of libm (encountered by Laniakea on OpenBSD) |
| 16:56.01 | Laniakea | brlcad: still compiling... :) |
| 16:57.31 | brlcad | that should take care of it |
| 16:57.43 | brlcad | it trys with -lm if it fails without it |
| 16:58.19 | brlcad | though I suspect you might have a bigger system issue if libc is the same way.. then setting a global libs (like you're running now) is really required |
| 16:58.23 | brlcad | and specific to that plat |
| 17:01.26 | poolio | brlcad: I'm having an issue if I rename a directory * pointer, it somehow modifies the in-memory database representation? |
| 17:07.54 | MinuteElectron | silly css foolishness. |
| 17:09.13 | brlcad | poolio: a directory pointer? how you renaming it? |
| 17:09.39 | poolio | First I had db_rename() |
| 17:09.45 | poolio | and I saw that rehashes the db_i |
| 17:10.05 | poolio | so now I'm using RT_DIR_FREE_NAMEP() and RT_DIR_SET_NAMEP() macros |
| 17:27.13 | poolio | brlcad: I'm still stuck. Can't see why I'm getting the bug :\ |
| 17:27.19 | brlcad | poolio: still not sure I understand the problem .. those macros only set the name of the directory pointer in memory |
| 17:29.15 | poolio | Yeah, that's what I thought. |
| 17:29.32 | poolio | The problem is that I run a routine that copies a shape to a new databse with a different name |
| 17:29.52 | poolio | the issue is when I re-run this on the same shape and try to copy it toa new database with a different name, I get a db_lookup failure on the shape I"m trying to copy |
| 17:34.46 | *** join/#brlcad MinuteEl1ctron (n=MinuteEl@bz.bzflag.bz) | |
| 17:35.14 | brlcad | poolio: can you make a simple test case snippet that shows this? |
| 17:35.21 | poolio | brlcad: just did |
| 17:35.24 | CIA-4 | BRL-CAD: 03poolio * 10brlcad/src/gtools/beset/ (beset.c fitness.c population.c): more reasonable debugging output |
| 17:35.25 | poolio | brlcad: I just updated CVS |
| 17:35.30 | poolio | Well it's not a simple test case |
| 17:35.36 | poolio | but it's the issue in the context of the entire program... |
| 17:35.37 | brlcad | yeah, i mean stand-alone |
| 17:35.52 | brlcad | still should be able to reproduce it with just a couple lines, no? |
| 17:36.11 | poolio | I'm willing to bet the test case will work fine though :P |
| 17:37.15 | brlcad | I suspect the lookup fails because you've changed the name, and either don't write it out correctly/fully or are otherwise creating an inconsistent db_i |
| 17:38.36 | poolio | yeah that's probably it, just have been looking pretty hard and haven't found anything |
| 17:43.16 | Laniakea | brlcad: now it compiles, thanks |
| 18:13.12 | Laniakea | brlcad: compiles and installs, but explodes when mged is ran: |
| 18:13.13 | Laniakea | version conflict for package "Itcl": have 3.3, need 33 |
| 18:13.14 | Laniakea | MGED Aborted. |
| 18:13.36 | Laniakea | rt however runs |
| 18:13.48 | Laniakea | (at least prints the help) |
| 18:13.55 | Laniakea | rtedge as well |
| 18:14.01 | Laniakea | rtweight too |
| 18:31.36 | poolio | brlcad: I have a test case if you have a minute. |
| 18:32.46 | poolio | brlcad: how would you like it? pastebin? |
| 18:36.00 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/libbu/crashreport.c: capture stderr so that the kern.exec message is not displayed (on os x) during sysctl |
| 18:36.37 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/libbu/bomb.c: make sure the string we're trying to print isn't null or empty, don't write the stacktrace message to the tty. |
| 18:38.49 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/libbu/backtrace.c: |
| 18:38.49 | CIA-4 | BRL-CAD: flush the output before sending the signal so that the parent should be |
| 18:38.49 | CIA-4 | BRL-CAD: guaranteed to have something to read. this should hopefully fix a race |
| 18:38.49 | CIA-4 | BRL-CAD: condition where the child would never get the signal to continue. fixed </> |
| 18:38.49 | CIA-4 | BRL-CAD: logic bug so we now actually wait a minute instead of immediately continuing. |
| 18:40.28 | poolio | brlcad: Fixed. thanks! |
| 18:40.39 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/ (src/mged/cmd.c src/mged/cmd.h NEWS): make 'bomb' an actual new command, passing through to bu_bomb(). very useful for debugging, tracing, and aborting from scripts abruptly. |
| 18:41.13 | poolio | (bu_bomb, not my annoying whatever it is) |
| 18:46.05 | CIA-4 | BRL-CAD: 03brlcad * 10brlcad/src/mged/ged.c: make all platforms use the same code for creating std in/out/err file channel handlers, using the newer Tcl_MakeFileChannel instead of Tcl_CreateFileHandler. keep track of how many events we process for debugging. |
| 18:49.05 | poolio | brlcad: I'm guessing rt_db_get/put_internal does something to the database as well as the directory pointer |
| 19:01.18 | IriX64 | http://rafb.net/p/wODjDo87.html have a problem here |
| 19:01.29 | IriX64 | brb |
| 19:02.14 | *** join/#brlcad IriX64 (n=IriX64@bas2-sudbury98-1096601584.dsl.bell.ca) | |
| 19:02.28 | IriX64 | how do I fix that |
| 19:03.50 | IriX64 | if I enable tcl-build will they co-exist? |
| 19:08.25 | IriX64 | trying it |
| 19:31.04 | *** join/#brlcad iraytrace (n=iraytrac@cocoa.sci.utah.edu) | |
| 19:32.25 | *** join/#brlcad iday_ (n=jlowens@bz.bzflag.bz) | |
| 19:32.26 | iraytrace | Hola Que tal? |
| 19:37.36 | *** join/#brlcad cadguy (n=iraytrac@cocoa.sci.utah.edu) | |
| 19:46.54 | *** join/#brlcad MinuteElectron (n=MinuteEl@silentflame/member/minuteelectron) | |
| 20:44.19 | poolio | brlcad: I'm off for the day, but maybe sometime earlier tomorrow you can give me a hand troubleshooting this. I've got a test case that demonstrates the problem too |
| 20:59.01 | *** join/#brlcad Laniakea (i=clock@77-56-97-102.dclient.hispeed.ch) | |
| 21:23.50 | IriX64 | http://www3.sympatico.ca/mario.dulisse2/controlpanel.png heh it works :) |
| 21:28.26 | *** join/#brlcad iraytrace (n=iraytrac@cocoa.sci.utah.edu) | |
| 21:28.38 | cadguy | Good afternoon all |
| 22:06.41 | brlcad | poolio: okay, sounds good .. post up the test case somewhere where I can get to it |
| 23:04.18 | ``Erik | bahhhhhhhh |
| 23:04.30 | ``Erik | I forgot I turned off my hot water tank when I left, so now I have to wait for my shower *sigh* |
| 23:11.56 | IriX64 | http://www3.sympatico.ca/mario.dulisse2/works.png :) as i said it works |
| 23:31.09 | *** join/#brlcad IriX64_ (n=IriX64@bas2-sudbury98-1096601584.dsl.bell.ca) | |
| 23:38.51 | *** join/#brlcad Twingy (n=justin@74.92.144.217) | |
| 23:47.34 | louipc | neat-o |
| 23:57.26 | IriX64 | louipc? Toronto? |