Thread: [brlcad-devel] Compiling and using BRL-CAD in situ
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: Tom B. <tom...@gm...> - 2011-01-21 11:59:23
|
Is there some magic build incantation to allow using BRL-CAD inside the source tree without an install? Thanks, -Tom Thomas M. Browder, Jr. Niceville, Florida USA |
From: Daniel R. <dan...@go...> - 2011-01-21 12:10:50
|
If you source tree starts with /home/myself/brlcad you could use /home/myself/brlcad/install as your installation directory: /home/myself/brlcad/configure --prefix=/home/myself/brlcad/install This way you still need "make install" but all files will be copied in a sub-directory of your source tree. BTW, I personally prefer /home/myself/bin/brlcad as installation target. Regards, Daniel 2011/1/21 Tom Browder <tom...@gm...>: > Is there some magic build incantation to allow using BRL-CAD inside > the source tree without an install? > > Thanks, > > -Tom > > Thomas M. Browder, Jr. > Niceville, Florida > USA |
From: Tom B. <tom...@gm...> - 2011-01-21 12:23:15
|
On Fri, Jan 21, 2011 at 06:10, Daniel Roßberg <dan...@go...> wrote: > If you source tree starts with /home/myself/brlcad you could use > /home/myself/brlcad/install as your installation directory: > /home/myself/brlcad/configure --prefix=/home/myself/brlcad/install > This way you still need "make install" but all files will be copied in > a sub-directory of your source tree. Thanks, Daniel. |
From: Christopher S. M. <br...@ma...> - 2011-01-21 12:25:40
|
On Jan 21, 2011, at 6:58 AM, Tom Browder wrote: > Is there some magic build incantation to allow using BRL-CAD inside > the source tree without an install? The binaries can be run prior to install on most platforms. You do need to know where the build product resides, though. Take asc2g, for example. The sources are in src/conv/asc/. but the build target wrapper script is src/conv/asc2g and the actual binary is src/conv/.libs/asc2g The wrapper script is libtool's means for running the binary prior to install, so it should work right inside the build tree. In general, you should never directly refer into a .libs directory. Since it's a shell script, even if you need to run GDB, there's just a slightly longer incantation needed that works with the wrapper script: ./libtool --mode=execute gdb --args src/conv/asc2g myfile.asc myfile.g Cheers! Sean |
From: Tom B. <tom...@gm...> - 2011-01-21 13:20:25
|
On Fri, Jan 21, 2011 at 06:25, Christopher Sean Morrison <br...@ma...> wrote: > > On Jan 21, 2011, at 6:58 AM, Tom Browder wrote: > >> Is there some magic build incantation to allow using BRL-CAD inside >> the source tree without an install? > > The binaries can be run prior to install on most platforms. You do need to know where the build product resides, though. Take asc2g, for example. The sources are in src/conv/asc/. but the build target wrapper script is src/conv/asc2g and the actual binary is src/conv/.libs/asc2g Thanks, Sean. BTW, I have to add the configure option: --with-cxxflags='-Wno-ignored-qualifiers' to get past openNURBS on a trunk build. Am I foing something wrong? -Tom |
From: Clifford Y. <cli...@gm...> - 2011-01-21 12:52:39
|
By the way Tom, I usually prefer to do an out-of-source-directory build. It's cleaner in a lot of ways and makes "starting fresh" that much simpler, if need be. Cheers, Cliff On Fri, Jan 21, 2011 at 6:58 AM, Tom Browder <tom...@gm...> wrote: > Is there some magic build incantation to allow using BRL-CAD inside > the source tree without an install? > > Thanks, > > -Tom > > Thomas M. Browder, Jr. > Niceville, Florida > USA > > ------------------------------------------------------------------------------ > Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! > Finally, a world-class log management solution at an even better price-free! > Download using promo code Free_Logger_4_Dev2Dev. Offer expires > February 28th, so secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsight-sfd2d > _______________________________________________ > BRL-CAD Developer mailing list > brl...@li... > https://lists.sourceforge.net/lists/listinfo/brlcad-devel > |
From: Tom B. <tom...@gm...> - 2011-01-21 13:21:06
|
On Fri, Jan 21, 2011 at 06:52, Clifford Yapp <cli...@gm...> wrote: > By the way Tom, I usually prefer to do an out-of-source-directory > build. It's cleaner in a lot of ways and makes "starting fresh" that > much simpler, if need be. Good idea, thanks, Cliff. Cheers, -Tom |
From: Christopher S. M. <br...@ma...> - 2011-01-23 15:13:18
|
On Jan 21, 2011, at 8:19 AM, Tom Browder wrote: > BTW, I have to add the configure option: > > --with-cxxflags='-Wno-ignored-qualifiers' > > to get past openNURBS on a trunk build. Am I foing something wrong? That is bizarre. Can you provide a build snippet showing the failure and compile line that came before the error? Two things come to mind: 1) openNURBS along with the rest of src/other should NOT be compiling strict. Quite the opposite, "-w" should be set to turn off all warnings for most of them. 2) Even compilation of our C++ logic in src/conv and src/librt should not have strict compilation enabled. The strict flags have intentionally been left off of C++ compilation since the focus is on the C issues first. Try this: $ grep NOWARN src/other/openNURBS/Makefile NOWARN = -w libopenNURBS_nil_la_CFLAGS = ${LIBZ_CPPFLAGS} ${NOWARN} libopenNURBS_nil_la_CXXFLAGS = ${LIBZ_CPPFLAGS} ${NOWARN} Cheers! Sean |
From: Tom B. <tom...@gm...> - 2011-01-23 18:57:40
|
On Sun, Jan 23, 2011 at 09:13, Christopher Sean Morrison <br...@ma...> wrote: > On Jan 21, 2011, at 8:19 AM, Tom Browder wrote: >> BTW, I have to add the configure option: >> >> --with-cxxflags='-Wno-ignored-qualifiers' >> >> to get past openNURBS on a trunk build. Am I [d]oing something wrong? > That is bizarre. Can you provide a build snippet showing the failure and compile line that came before the error? ... > Try this: > > $ grep NOWARN src/other/openNURBS/Makefile > NOWARN = -w > libopenNURBS_nil_la_CFLAGS = ${LIBZ_CPPFLAGS} ${NOWARN} > libopenNURBS_nil_la_CXXFLAGS = ${LIBZ_CPPFLAGS} ${NOWARN} The result of that command is the same, but I see now that the "-w" is not on the compile line because the compilation starts in directory: but include headers from "other" directories. A snippet of output: make[4]: Entering directory `/usr/src/tbrowde/brlcad-svn-trunk/src/conv/step' g++-4.5.1 -DHAVE_CONFIG_H -I. -I../../../include -I../../../src/other/step/include -I../../../src/other/step/src/cleditor -I../../../src/other/step/src/clstepcore -I../../../src/other/step/src/clutils -I../../../src/other/step/src/cldai -I../../../src/other/step/src/test -I../../../src/other/tcl/generic -I../../../src/other/tcl/unix -I../../../src/other/tnt -I../../../src/other/openNURBS -I/usr/local/include -DBRLCADBUILD=1 -I../../../include -I../../../src/other/openNURBS -I../../../src/other/openNURBS -I../../../src/other/step/include -I../../../src/other/step/src/cleditor -I../../../src/other/step/src/clstepcore -I../../../src/other/step/src/clutils -I../../../src/other/step/src/cldai -I../../../src/other/step/src/test -I../../../src/other/tcl/generic -I../../../src/other/tcl/unix -pipe -fno-strict-aliasing -fno-common -fexceptions -ggdb3 -D_FORTIFY_SOURCE=2 -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long -MT step_g-SdaiAll.o -MD -MP -MF .deps/step_g-SdaiAll.Tpo -c -o step_g-SdaiAll.o `test -f 'SdaiAll.cc' || echo './'`SdaiAll.cc g++-4.5.1 -DHAVE_CONFIG_H -I. -I../../../include -I../../../src/other/step/include -I../../../src/other/step/src/cleditor -I../../../src/other/step/src/clstepcore -I../../../src/other/step/src/clutils -I../../../src/other/step/src/cldai -I../../../src/other/step/src/test -I../../../src/other/tcl/generic -I../../../src/other/tcl/unix -I../../../src/other/tnt -I../../../src/other/openNURBS -I/usr/local/include -DBRLCADBUILD=1 -I../../../include -I../../../src/other/openNURBS -I../../../src/other/openNURBS -I../../../src/other/step/include -I../../../src/other/step/src/cleditor -I../../../src/other/step/src/clstepcore -I../../../src/other/step/src/clutils -I../../../src/other/step/src/cldai -I../../../src/other/step/src/test -I../../../src/other/tcl/generic -I../../../src/other/tcl/unix -pipe -fno-strict-aliasing -fno-common -fexceptions -ggdb3 -D_FORTIFY_SOURCE=2 -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long -MT step_g-SdaiCONFIG_CONTROL_DESIGN.o -MD -MP -MF .deps/step_g-SdaiCONFIG_CONTROL_DESIGN.Tpo -c -o step_g-SdaiCONFIG_CONTROL_DESIGN.o `test -f 'SdaiCONFIG_CONTROL_DESIGN.cc' || echo './'`SdaiCONFIG_CONTROL_DESIGN.cc g++-4.5.1 -DHAVE_CONFIG_H -I. -I../../../include -I../../../src/other/step/include -I../../../src/other/step/src/cleditor -I../../../src/other/step/src/clstepcore -I../../../src/other/step/src/clutils -I../../../src/other/step/src/cldai -I../../../src/other/step/src/test -I../../../src/other/tcl/generic -I../../../src/other/tcl/unix -I../../../src/other/tnt -I../../../src/other/openNURBS -I/usr/local/include -DBRLCADBUILD=1 -I../../../include -I../../../src/other/openNURBS -I../../../src/other/openNURBS -I../../../src/other/step/include -I../../../src/other/step/src/cleditor -I../../../src/other/step/src/clstepcore -I../../../src/other/step/src/clutils -I../../../src/other/step/src/cldai -I../../../src/other/step/src/test -I../../../src/other/tcl/generic -I../../../src/other/tcl/unix -pipe -fno-strict-aliasing -fno-common -fexceptions -ggdb3 -D_FORTIFY_SOURCE=2 -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long -MT step_g-SdaiCONFIG_CONTROL_DESIGN.init.o -MD -MP -MF .deps/step_g-SdaiCONFIG_CONTROL_DESIGN.init.Tpo -c -o step_g-SdaiCONFIG_CONTROL_DESIGN.init.o `test -f 'SdaiCONFIG_CONTROL_DESIGN.init.cc' || echo './'`SdaiCONFIG_CONTROL_DESIGN.init.cc g++-4.5.1 -DHAVE_CONFIG_H -I. -I../../../include -I../../../src/other/step/include -I../../../src/other/step/src/cleditor -I../../../src/other/step/src/clstepcore -I../../../src/other/step/src/clutils -I../../../src/other/step/src/cldai -I../../../src/other/step/src/test -I../../../src/other/tcl/generic -I../../../src/other/tcl/unix -I../../../src/other/tnt -I../../../src/other/openNURBS -I/usr/local/include -DBRLCADBUILD=1 -I../../../include -I../../../src/other/openNURBS -I../../../src/other/openNURBS -I../../../src/other/step/include -I../../../src/other/step/src/cleditor -I../../../src/other/step/src/clstepcore -I../../../src/other/step/src/clutils -I../../../src/other/step/src/cldai -I../../../src/other/step/src/test -I../../../src/other/tcl/generic -I../../../src/other/tcl/unix -pipe -fno-strict-aliasing -fno-common -fexceptions -ggdb3 -D_FORTIFY_SOURCE=2 -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long -MT step_g-compstructs.o -MD -MP -MF .deps/step_g-compstructs.Tpo -c -o step_g-compstructs.o `test -f 'compstructs.cc' || echo './'`compstructs.cc In file included from ../../../src/other/step/src/clstepcore/sdai.h:299:0, from ./schema.h:21, from SdaiCONFIG_CONTROL_DESIGN.cc:10: ../../../src/other/step/src/clstepcore/sdaiEnum.h:72:24: warning: type qualifiers ignored on function return type Best, -Tom Thomas M. Browder, Jr. Niceville, Florida USA |
From: Christopher S. M. <br...@ma...> - 2011-01-24 02:54:31
|
On Jan 23, 2011, at 1:57 PM, Tom Browder wrote: > On Sun, Jan 23, 2011 at 09:13, Christopher Sean Morrison <br...@ma...> wrote: >> On Jan 21, 2011, at 8:19 AM, Tom Browder wrote: >>> BTW, I have to add the configure option: >>> >>> --with-cxxflags='-Wno-ignored-qualifiers' >>> >>> to get past openNURBS on a trunk build. Am I [d]oing something wrong? >> That is bizarre. Can you provide a build snippet showing the failure and compile line that came before the error? AHA! From your build log, openNURBS did not fail. The failure was in src/conv/step (which merely uses openNURBS). > The result of that command is the same, but I see now that the "-w" is > not on the compile line because the compilation starts in directory: > but include headers from "other" directories. A snippet of output: Only src/other uses -w but since your'e in src/conv, it's a regular build. > g++-4.5.1 -DHAVE_CONFIG_H -I. -I../../../include > -I../../../src/other/step/include > -I../../../src/other/step/src/cleditor > -I../../../src/other/step/src/clstepcore > -I../../../src/other/step/src/clutils > -I../../../src/other/step/src/cldai -I../../../src/other/step/src/test > -I../../../src/other/tcl/generic -I../../../src/other/tcl/unix > -I../../../src/other/tnt -I../../../src/other/openNURBS > -I/usr/local/include -DBRLCADBUILD=1 -I../../../include > -I../../../src/other/openNURBS -I../../../src/other/openNURBS > -I../../../src/other/step/include > -I../../../src/other/step/src/cleditor > -I../../../src/other/step/src/clstepcore > -I../../../src/other/step/src/clutils > -I../../../src/other/step/src/cldai -I../../../src/other/step/src/test > -I../../../src/other/tcl/generic -I../../../src/other/tcl/unix -pipe > -fno-strict-aliasing -fno-common -fexceptions -ggdb3 > -D_FORTIFY_SOURCE=2 -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow > -Winline -Wno-long-long -MT step_g-compstructs.o -MD -MP -MF > .deps/step_g-compstructs.Tpo -c -o step_g-compstructs.o `test -f > 'compstructs.cc' || echo './'`compstructs.cc > In file included from ../../../src/other/step/src/clstepcore/sdai.h:299:0, > from ./schema.h:21, > from SdaiCONFIG_CONTROL_DESIGN.cc:10: > ../../../src/other/step/src/clstepcore/sdaiEnum.h:72:24: warning: type > qualifiers ignored on function return type This actually seems to indicate that the problem is with the sdaiEnum.h header (which is in src/other/step/src/clstepcore). That code can be modified since we've taken over the SCL code, but it's also not expressed as an error there either. Cheers! Sean |
From: Tom B. <tom...@gm...> - 2011-01-24 10:49:15
|
On Sun, Jan 23, 2011 at 20:54, Christopher Sean Morrison <br...@ma...> wrote: > > On Jan 23, 2011, at 1:57 PM, Tom Browder wrote: > >> On Sun, Jan 23, 2011 at 09:13, Christopher Sean Morrison <br...@ma...> wrote: >>> On Jan 21, 2011, at 8:19 AM, Tom Browder wrote: >>>> BTW, I have to add the configure option: >>>> >>>> --with-cxxflags='-Wno-ignored-qualifiers' >>>> >>>> to get past openNURBS on a trunk build. Am I [d]oing something wrong? >>> That is bizarre. Can you provide a build snippet showing the failure and compile line that came before the error? > > AHA! From your build log, openNURBS did not fail. The failure was in src/conv/step (which merely uses openNURBS). Right, but before, for some reason, -Werror was in effect. Anyhow, the main point is that the non-standard code from openNURBS (and step) pollutes everything unless you explicitly use -Wno-ignored-qualifiers. >> The result of that command is the same, but I see now that the "-w" is >> not on the compile line because the compilation starts in directory: >> but include headers from "other" directories. A snippet of output: > > Only src/other uses -w but since your'e in src/conv, it's a regular build. Correct. ... >> ../../../src/other/step/src/clstepcore/sdaiEnum.h:72:24: warning: type >> qualifiers ignored on function return type > > This actually seems to indicate that the problem is with the sdaiEnum.h header (which is in src/other/step/src/clstepcore). That code can be modified since we've taken over the SCL code, but it's also not expressed as an error there either. I know, -Werror disappeared...WTH! Best, -Tom |
From: Christopher S. M. <br...@ma...> - 2011-01-24 16:24:56
|
On Jan 24, 2011, at 5:48 AM, Tom Browder wrote: > Right, but before, for some reason, -Werror was in effect. Anyhow, > the main point is that the non-standard code from openNURBS (and step) > pollutes everything unless you explicitly use -Wno-ignored-qualifiers. That at least wasn't the case in the log snippet you provided. When -Werror is in effect, it says so before the warning. I don't doubt that the build failed, but the bigger issue is that -Werror "shouldn't" be turned on for any C++ code so if it is, then that should get fixed. > I know, -Werror disappeared...WTH! I suspect that maybe -Werror was inadvertently enabled and accidentally committed at some point (happens) and then later removed (as it rightly should be for C++ code). Sean |