I just switched to Ubuntu for testing out PCL with BRLCAD, because Mac OSX just 
keeps throwing error after error. I was able to build it with PCL in the 
CMakeLists.

 However, when I tried to add PCL libraries in include/rt/geom.h (I was trying 
to replace the pnt structure with that of PCL’s point cloud class), I get a 
build error saying the type ‘namespace' is not found. This is because PCL uses 
the C++ library called Boost and that causes a problem as namespaces can’t be 
used in C programs.

I tried using build option ENABLE_ALL_CXX_COMPILE and still get a 'template 
with C linkage' error.
 I’m going to try wrapping the C++ functions used by the boost namespace to 
make it work with the header file in C (geom.h) - similar to this 
<https://stackoverflow.com/questions/16058245/including-c-header-file-with-namespace-in-c-source-file-causes-compilation-err>
 answer in stack overflow.

Regards,
Abhishek

> On Apr 3, 2018, at 2:30 AM, Christopher Sean Morrison <brl...@mac.com> wrote:
> 
> That build error is in libnetpbm, and it looks like it’s using the Python 
> framework, not the python you want to build against.  That’s possibly an 
> issue in libnetpbm’s build logic, check the build files there.
> 
> Cheers!
> Sean
> 
> 
> On Apr 2, 2018, at 12:08 PM, Abhishek Vasudevan <abhishek.open...@gmail.com 
> <mailto:abhishek.open...@gmail.com>> wrote:
> 
>> Sorry, I think I was using the trunk version. Used the svn command to 
>> download the code repository. You’re right with the unclean build. I cleared 
>> up all the build files and tried using 'make install' once again. However, 
>> this time I’m getting a python related error as shown in the screenshot. PCL 
>> has some build code related to Python and is somehow causing a problem.
>> 
>> PCL works fine when I build it separately, however, throws these errors when 
>> I try to build it with BRLCAD. Any suggestions on what I should try next?
>> 
>> Regards,
>> Abhishek
>> 
>> <Screen Shot 2018-04-03 at 1.33.35 AM.png>
>> 
>>> On Apr 2, 2018, at 4:40 PM, Christopher Sean Morrison <brl...@mac.com 
>>> <mailto:brl...@mac.com>> wrote:
>>> 
>>> No, I don’t.  At quick look, I would think you’ve maybe been trying 
>>> different build settings and this is an “unclean” build.  Try deleting your 
>>> build directory and building again fresh.  If it still doesn’t work, I 
>>> would have said it was something wrong with the Tcl update on trunk last 
>>> week, but you said you’re using 7.26.4 and not trunk — so next suggestion 
>>> would be to try trunk.
>>> 
>>> Sean
>>> 
>>> 
>>>> On Apr 2, 2018, at 1:54 AM, Abhishek Vasudevan <abhishek.open...@gmail.com 
>>>> <mailto:abhishek.open...@gmail.com>> wrote:
>>>> 
>>>> I am using the latest version i.e., 7.26.4. I added the following lines to 
>>>> the CMakeLists:
>>>> 
>>>> find_package(PCL 1.8 REQUIRED COMPONENTS common io)
>>>> include_directories(${PCL_INCLUDE_DIRS})
>>>> link_directories(${PCL_LIBRARY_DIRS})
>>>> add_definitions(${PCL_DEFINITIONS})
>>>> 
>>>> After this, I used: cmake .. -DBRLCAD_BUNDLED_LIBS=Bundled 
>>>> -DBRLCAD_EXTRADOCS=OFF 
>>>> Following this, I used 'sudo make install' and keep getting the error as 
>>>> shown in screenshot.
>>>> <Screen Shot 2018-04-02 at 3.38.52 PM.png>
>>>> 
>>>> Any idea what this error is about? 
>>>> 
>>>> Warm regards,
>>>> Abhishek
>>>> 
>>>>> On Apr 2, 2018, at 12:30 PM, Christopher Sean Morrison <brl...@mac.com 
>>>>> <mailto:brl...@mac.com>> wrote:
>>>>> 
>>>>> BRL-CAD 7.2.4 was released in 2005 and didn’t use cmake, so hopefully you 
>>>>> meant 7.26.4 or, better still, a trunk checkout from the SVN repository.  
>>>>> If you’re going to be modifying code, you should typically use the latest 
>>>>> repository sources.
>>>>> 
>>>>> That said, it’s not clear from your screenshot why adding PCL would cause 
>>>>> an error in xmltools, unless PCL includes its own copy of libxml that is 
>>>>> incompatible with the bundled xsltproc sources.  Try running cmake with 
>>>>> -DBRLCAD_EXTRADOCS=OFF
>>>>> 
>>>>> That should turn off the documentation system using xmltools.
>>>>> 
>>>>> Cheers!
>>>>> Sean
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Apr 1, 2018, at 9:46 PM, Abhishek Vasudevan 
>>>>>> <abhishek.open...@gmail.com <mailto:abhishek.open...@gmail.com>> wrote:
>>>>>> 
>>>>>> Hello, 
>>>>>>  I’m having trouble building the code with PCL. I’ve added the PCL 
>>>>>> 'find_package and include_directories’ in the CMakeLists (of the top 
>>>>>> parent directory) and during the build process, it keeps throwing some 
>>>>>> error related to struct _xmlBuf (while scanning the dependencies of 
>>>>>> target xml in file 
>>>>>> brlcad-7.2.4/misc/tools/xmltools/libxml/src/HTMLparser.c - screenshot 
>>>>>> attached). But. when I remove the PCL part from the CMakeLists, the code 
>>>>>> gets built.
>>>>>> 
>>>>>> I’ll keep trying to resolve this issue. However, it would seem you have 
>>>>>> to review my proposal without the patch.
>>>>>> 
>>>>>> Warm regards,
>>>>>> Abhishek
>>>>>> 
>>>>>> <Screen Shot 2018-04-02 at 11.41.49 AM.png>
>>>>>> 
>>>>>>> On Mar 29, 2018, at 2:23 AM, Christopher Sean Morrison <brl...@mac.com 
>>>>>>> <mailto:brl...@mac.com>> wrote:
>>>>>>> 
>>>>>>> Jingchun,
>>>>>>> 
>>>>>>> Are you currently working on a code patch?
>>>>>>> 
>>>>>>> If you’re not, I would very much recommend it for you because it's 
>>>>>>> difficult to tell from your proposal how adept you will be at working 
>>>>>>> with BRL-CAD’s code and what practical OpenCL experience you have.  
>>>>>>> Perhaps you can try converting the HYP primitive or implement an OpenCL 
>>>>>>> unit test for rt_boolweave() or something else from Vasco’s 
>>>>>>> comprehensive OpenCL to-do list.  If you can submit something before 
>>>>>>> Monday, that would be helpful.
>>>>>>> 
>>>>>>> That goes for everyone who submitted a GSoC proposal.  Please try to 
>>>>>>> have all code patches and pull requests submitted as soon as possible 
>>>>>>> if you’re providing supplementary productive coding evidence along with 
>>>>>>> your proposal.  Thank you to everyone that has worked so hard!  It’s 
>>>>>>> going to be a competitive selection.
>>>>>>> 
>>>>>>> Cheers!
>>>>>>> Sean
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Mar 26, 2018, at 9:40 PM, Vasco Alexandre da Silva Costa 
>>>>>>>> <vasco.co...@gmail.com <mailto:vasco.co...@gmail.com>> wrote:
>>>>>>>> 
>>>>>>>> The TODO list is just a suggestion based on our knowledge (i.e. that
>>>>>>>> of the maintainers) given the current status of OpenCL librt. In other
>>>>>>>> words, we already know those are open issues, so we don't need to be
>>>>>>>> convinced of the need for those changes. :-)
>>>>>>>> Everyone is welcome to propose their own (new) changes, as long as
>>>>>>>> they provide a proper rationale for them.
>>>>>>>> 
>>>>>>>> We should have started this proposal discussion process earlier 
>>>>>>>> though...
>>>>>>>> 
>>>>>>>> On Mon, Mar 26, 2018 at 9:41 PM, Jingchun Wang <jingc...@uchicago.edu 
>>>>>>>> <mailto:jingc...@uchicago.edu>> wrote:
>>>>>>>>> Hi Vasco,
>>>>>>>>> 
>>>>>>>>> Thank you for your comments. Yes I’d like to cooperate with one else 
>>>>>>>>> and include OpenCL code optimization into plan according to .cl files 
>>>>>>>>> given.
>>>>>>>>> For items in TODO list, are they assigned to certain individual or 
>>>>>>>>> open to any contributors? I mean, should I select ones from the list 
>>>>>>>>> or choose something new into my Detailed Plan?
>>>>>>>>> 
>>>>>>>>> Regards,
>>>>>>>>> Jingchun
>>>>>>>>> 
>>>>>>>>>> On Mar 26, 2018, at 2:33 PM, Vasco Alexandre da Silva Costa 
>>>>>>>>>> <vasco.co...@gmail.com <mailto:vasco.co...@gmail.com>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Ok, I've now managed to see your draft proposal (thanks for granting
>>>>>>>>>> read access).
>>>>>>>>>> 
>>>>>>>>>> You seem to have done your homework with regards to the CG aspects of
>>>>>>>>>> the problem. However we typically expect implementation and planning
>>>>>>>>>> detail more than CG theory in the proposal. You don't seem to have 
>>>>>>>>>> had
>>>>>>>>>> enough time to look into BRL-CAD (source code) proper though. There
>>>>>>>>>> already is a basic OpenCL rendering pipeline implementation with
>>>>>>>>>> several primitives, the thing is, there are still more primitives to
>>>>>>>>>> port and several further code optimizations could be done to improve
>>>>>>>>>> performance in several stages of the rendering pipelines.
>>>>>>>>>> 
>>>>>>>>>> I have a recently up to date summary of the status of the OpenCL
>>>>>>>>>> raytracer code here:
>>>>>>>>>> http://brlcad.org/wiki/User:Vasco.costa 
>>>>>>>>>> <http://brlcad.org/wiki/User:Vasco.costa>
>>>>>>>>>> 
>>>>>>>>>> Since someone else is interested in the primitives work as well this
>>>>>>>>>> year, we could split that work among you both, but I get that you 
>>>>>>>>>> have
>>>>>>>>>> experience with HPC code optimization? In that case, you could 
>>>>>>>>>> include
>>>>>>>>>> code optimization in your work plan. For example you could work on
>>>>>>>>>> some of these elements of the TODO list I link to above:
>>>>>>>>>> 
>>>>>>>>>> - Split struct hit in common.cl into two structs. One for shot()
>>>>>>>>>> results and another for norm() results. This will reduce the amount 
>>>>>>>>>> of
>>>>>>>>>> memory used to store temporary results between stages. (EASY)
>>>>>>>>>> - Execute prefix sums and reductions in clt_frame() on the device to
>>>>>>>>>> eliminate round-trips. (MEDIUM)
>>>>>>>>>> - Refactor code so single-hit and multi-hit don't require recompiling
>>>>>>>>>> all the sources twice.
>>>>>>>>>> - Cache the compiled binaries so things aren't recompiled on every
>>>>>>>>>> launch. (EASY)
>>>>>>>>>> - Don't intersect primitives twice. This requires a dynamic memory
>>>>>>>>>> allocator. (HARD)
>>>>>>>>>> - Smarter kernel scheduling for reduce thread divergence. For example
>>>>>>>>>> coallesce all the quadric intersections. (MEDIUM)
>>>>>>>>>> - Spatial partitioning (perhaps a hybrid Kd-tree) in order to have
>>>>>>>>>> early exit on scenes with high depth complexity. (HARD)
>>>>>>>>>> 
>>>>>>>>>> The current OpenCL librt code is mostly under this part of the 
>>>>>>>>>> source code tree:
>>>>>>>>>> https://svn.code.sf.net/p/brlcad/code/brlcad/trunk/src/librt/ 
>>>>>>>>>> <https://svn.code.sf.net/p/brlcad/code/brlcad/trunk/src/librt/>
>>>>>>>>>> It's in the .cl files and primitives/primitive_util.c
>>>>>>>>>> 
>>>>>>>>>> You can learn more about how to use BRL-CAD with the quick reference 
>>>>>>>>>> card:
>>>>>>>>>> http://brlcad.org/w/images/5/52/MGED_Quick_Reference_Card.pdf 
>>>>>>>>>> <http://brlcad.org/w/images/5/52/MGED_Quick_Reference_Card.pdf>
>>>>>>>>>> 
>>>>>>>>>> With regards to OpenCL, since you know C/C++ you can read these 
>>>>>>>>>> resources:
>>>>>>>>>> https://www.khronos.org/files/opencl-1-2-quick-reference-card.pdf 
>>>>>>>>>> <https://www.khronos.org/files/opencl-1-2-quick-reference-card.pdf>
>>>>>>>>>> https://yosefk.com/blog/simd-simt-smt-parallelism-in-nvidia-gpus.html
>>>>>>>>>>  
>>>>>>>>>> <https://yosefk.com/blog/simd-simt-smt-parallelism-in-nvidia-gpus.html>
>>>>>>>>>> 
>>>>>>>>>> Regards,
>>>>>>>>>> 
>>>>>>>>>> On Mon, Mar 26, 2018 at 8:08 PM, Vasco Alexandre da Silva Costa
>>>>>>>>>> <vasco.co...@gmail.com <mailto:vasco.co...@gmail.com>> wrote:
>>>>>>>>>>> Hello,
>>>>>>>>>>> You have uploaded your proposal to the GSoC website but you haven't
>>>>>>>>>>> given us permissions to view your draft proposal so we can comment 
>>>>>>>>>>> on
>>>>>>>>>>> it before the deadline.
>>>>>>>>>>> 
>>>>>>>>>>> We also expect students to introduce themselves to the community (in
>>>>>>>>>>> our case this is typically done via this project mailing-list or the
>>>>>>>>>>> project IRC chat channel). In this way we can get to know you and
>>>>>>>>>>> discuss your work proposal to increase your chances of a smooth GSoC
>>>>>>>>>>> experience.
>>>>>>>>>>> 
>>>>>>>>>>> These steps are summarized here:
>>>>>>>>>>> http://brlcad.org/wiki/Summer_of_Code/Checklist 
>>>>>>>>>>> <http://brlcad.org/wiki/Summer_of_Code/Checklist>
>>>>>>>>>>> 
>>>>>>>>>>> Also, we typically request that students provide a working proof 
>>>>>>>>>>> that
>>>>>>>>>>> they can modify the codebase, in your case, this can be as simple as
>>>>>>>>>>> providing a patch to port one of the easier to port quadrics
>>>>>>>>>>> primitives, like HYP (Hyperboloid), from ANSI C to OpenCL. It
>>>>>>>>>>> shouldn't be too hard to do since you can use one of the other 
>>>>>>>>>>> already
>>>>>>>>>>> ported primitives (like ELL) as a template. You basically need to 
>>>>>>>>>>> port
>>>>>>>>>>> the ray-primitive intersection (shot) code from C to OpenCL and to
>>>>>>>>>>> provide the glue code which packs and unpacks that primitive from 
>>>>>>>>>>> the
>>>>>>>>>>> C side to the OpenCL side.
>>>>>>>>>>> 
>>>>>>>>>>> (sorry for re-sending this e-mail as I didn't put the mailing-list 
>>>>>>>>>>> in
>>>>>>>>>>> the CC properly)
>>>>>>>>>>> 
>>>>>>>>>>> Regards,
>>>>>>>>>>> 
>>>>>>>>>>> --
>>>>>>>>>>> Vasco Alexandre da Silva Costa
>>>>>>>>>>> PhD in Computer Engineering (Computer Graphics)
>>>>>>>>>>> Instituto Superior Técnico/University of Lisbon, Portugal
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> --
>>>>>>>>>> Vasco Alexandre da Silva Costa
>>>>>>>>>> PhD in Computer Engineering (Computer Graphics)
>>>>>>>>>> Instituto Superior Técnico/University of Lisbon, Portugal
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> -- 
>>>>>>>> Vasco Alexandre da Silva Costa
>>>>>>>> PhD in Computer Engineering (Computer Graphics)
>>>>>>>> Instituto Superior Técnico/University of Lisbon, Portugal
>>>>>>>> 
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> Check out the vibrant tech community on one of the world's most
>>>>>>>> engaging tech sites, Slashdot.org <http://slashdot.org/>! 
>>>>>>>> http://sdm.link/slashdot <http://sdm.link/slashdot>
>>>>>>>> _______________________________________________
>>>>>>>> BRL-CAD Developer mailing list
>>>>>>>> brlcad-devel@lists.sourceforge.net 
>>>>>>>> <mailto:brlcad-devel@lists.sourceforge.net>
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/brlcad-devel 
>>>>>>>> <https://lists.sourceforge.net/lists/listinfo/brlcad-devel>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> Check out the vibrant tech community on one of the world's most
>>>>>>> engaging tech sites, Slashdot.org <http://slashdot.org/>! 
>>>>>>> http://sdm.link/slashdot_______________________________________________ 
>>>>>>> <http://sdm.link/slashdot_______________________________________________>
>>>>>>> BRL-CAD Developer mailing list
>>>>>>> brlcad-devel@lists.sourceforge.net 
>>>>>>> <mailto:brlcad-devel@lists.sourceforge.net>
>>>>>>> https://lists.sourceforge.net/lists/listinfo/brlcad-devel 
>>>>>>> <https://lists.sourceforge.net/lists/listinfo/brlcad-devel>
>>>>>> 
>>>>>> ------------------------------------------------------------------------------
>>>>>> Check out the vibrant tech community on one of the world's most
>>>>>> engaging tech sites, Slashdot.org <http://slashdot.org/>! 
>>>>>> http://sdm.link/slashdot_______________________________________________ 
>>>>>> <http://sdm.link/slashdot_______________________________________________>
>>>>>> BRL-CAD Developer mailing list
>>>>>> brlcad-devel@lists.sourceforge.net 
>>>>>> <mailto:brlcad-devel@lists.sourceforge.net>
>>>>>> https://lists.sourceforge.net/lists/listinfo/brlcad-devel 
>>>>>> <https://lists.sourceforge.net/lists/listinfo/brlcad-devel>
>>>>> 
>>>>> ------------------------------------------------------------------------------
>>>>> Check out the vibrant tech community on one of the world's most
>>>>> engaging tech sites, Slashdot.org <http://slashdot.org/>! 
>>>>> http://sdm.link/slashdot_______________________________________________ 
>>>>> <http://sdm.link/slashdot_______________________________________________>
>>>>> BRL-CAD Developer mailing list
>>>>> brlcad-devel@lists.sourceforge.net 
>>>>> <mailto:brlcad-devel@lists.sourceforge.net>
>>>>> https://lists.sourceforge.net/lists/listinfo/brlcad-devel 
>>>>> <https://lists.sourceforge.net/lists/listinfo/brlcad-devel>
>>>> 
>>>> ------------------------------------------------------------------------------
>>>> Check out the vibrant tech community on one of the world's most
>>>> engaging tech sites, Slashdot.org <http://slashdot.org/>! 
>>>> http://sdm.link/slashdot_______________________________________________ 
>>>> <http://sdm.link/slashdot_______________________________________________>
>>>> BRL-CAD Developer mailing list
>>>> brlcad-devel@lists.sourceforge.net 
>>>> <mailto:brlcad-devel@lists.sourceforge.net>
>>>> https://lists.sourceforge.net/lists/listinfo/brlcad-devel 
>>>> <https://lists.sourceforge.net/lists/listinfo/brlcad-devel>
>>> 
>>> ------------------------------------------------------------------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org <http://slashdot.org/>! 
>>> http://sdm.link/slashdot_______________________________________________ 
>>> <http://sdm.link/slashdot_______________________________________________>
>>> BRL-CAD Developer mailing list
>>> brlcad-devel@lists.sourceforge.net 
>>> <mailto:brlcad-devel@lists.sourceforge.net>
>>> https://lists.sourceforge.net/lists/listinfo/brlcad-devel 
>>> <https://lists.sourceforge.net/lists/listinfo/brlcad-devel>
>> 
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org <http://slashdot.org/>! 
>> http://sdm.link/slashdot 
>> <http://sdm.link/slashdot>_______________________________________________
>> BRL-CAD Developer mailing list
>> brlcad-devel@lists.sourceforge.net 
>> <mailto:brlcad-devel@lists.sourceforge.net>
>> https://lists.sourceforge.net/lists/listinfo/brlcad-devel 
>> <https://lists.sourceforge.net/lists/listinfo/brlcad-devel>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! 
> http://sdm.link/slashdot_______________________________________________
> BRL-CAD Developer mailing list
> brlcad-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/brlcad-devel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to