What installs the headers into /usr/local/include/Gem?  The Gem package in 
Debian/Ubuntu installs into /usr/include/Gem, so -I/usr/include/Gem needs to be 
there.  If some standard installer installs into /usr/local/include/Gem, then 
I'd keep -I /usr/local/include/Gem in CFLAGS_linux, otherwise I'd leave it to 
people to edit the Makefile to add their custom Gem header install locations.

.hc

On Dec 27, 2012, at 9:30 AM, Antoine Villeret wrote:

> hi,
> 
> thansk for that,
> 
> i had to change the CLAGS_linux variable (line 39) to :
> CFLAGS_linux = -I/usr/local/include/Gem `pkg-config --cflags opencv`
> 
> to make it
> but I don't know if I should or not push it to the SVN ?
> 
> --
> do it yourself
> http://antoine.villeret.free.fr
> 
> 
> 2012/12/27 Hans-Christoph Steiner <h...@at.or.at>:
>> 
>> Ok, I committed a Makefile based on the Library Template.  It does not build 
>> pix_opencv_contours.cc pix_opencv_matchshape.cc, they both gave a big dump 
>> of roughly the same errors.
>> 
>> The template Makefile will handle a lot of things automatically for you, the 
>> trade-off is that its strict about certain things: every object must have a 
>> help patch, all example files must go into examples/, etc.  The template 
>> Makefile is really easy to make a Debian package from too.
> 
> really easy why not, but how ?
> if I should make it myself I need a little more help...
> the links on the page : http://puredata.info/dev/DebianPackagingStructure
> are not broken but doesn't point to the right discussion...
> anyway, I found the discussion and others but can't find anywhere a
> good step by step howto build debian package
> sorry, this will be my first debian package :-)
> 
> 
>> 
>> * is pix_opencv_opticalflow.pd an example or an abstraction?  If its an 
>> example, it should go into examples/ with of.frag. If its an abstraction, it 
>> should have a help patch.  Or if its just a text patch, it can be left out 
>> of the Makefile and left as is.
> 
> I forgot this one...
> I placed it in the examples/ folder for now
> but working on optical flow externals is in my todo list (with gpu and opencl)
> 
>> 
>> * pix_opencv_blobtrack.cc seems to require opencv2, does that mean both 
>> opencv 1.2 and opencv 2.x need to be installed?  Is there an OpenCV2 
>> framework for Mac OS X?
> 
> yes, most of recent and future externals take advantages of the new
> C++ API of OpenCV 2.x
> OpenCV 2 releases are distribute as a tarball for Linux/OSX, there is
> no Framework on the download page http://opencv.org/downloads.html
> and a quick search lead to multiple posts over the internet on how to
> build it by hand (which very easy since the new cmake system)
> and also a precompiled package :
> http://vislab.cs.vt.edu/~vislab/wiki/images/4/44/OpenCV2.0.dmg
> found here : http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port
> but it's obsolete
> 
> ++
> a
> 
>> 
>> On Mac OS X, I was building against Pd-extended 0.43 since pix_opencv uses 
>> some new Gem headers that aren't included in Pd-extended 0.42.  The template 
>> Makefile automatically looks in Pd-extended if its in /Applications.  If you 
>> want to choose which version of Pd-extende to build against:
>> 
>> make PD_PATH=/Applications/Pd-0.43.4-extended-20121223.app/Contents/Resource
>> 
>> .hc
>> 
>> On Dec 26, 2012, at 3:11 PM, Antoine Villeret wrote:
>> 
>>> hello,
>>> 
>>> I made an update today on pix_opencv with an improvement of
>>> pix_opencv_contours which is now a complete replacement of other
>>> pix_opencv_contours_* objects
>>> 
>>> and I sent a private mail to Lluis even if I found some old mails on
>>> this list by him and i never get any answer
>>> so maybe you can go ahead according to the "one week consensus" ?
>>> 
>>> there is actually one strange make rule, its for a custom blobtracker
>>> but I will change this as soon as i have time
>>> 
>>> merry chrismas to all
>>> 
>>> cheers
>>> 
>>> a
>>> --
>>> do it yourself
>>> http://antoine.villeret.free.fr
>>> 
>>> 
>>> 2012/12/13 Hans-Christoph Steiner <h...@at.or.at>:
>>>> 
>>>> On Dec 13, 2012, at 12:21 PM, Antoine Villeret wrote:
>>>> 
>>>>> 2012/12/13 Hans-Christoph Steiner <h...@at.or.at>:
>>>>>> 
>>>>>> On Dec 13, 2012, at 3:43 AM, IOhannes m zmoelnig wrote:
>>>>>> 
>>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>>> Hash: SHA1
>>>>>>> 
>>>>>>> On 2012-12-12 19:42, Antoine Villeret wrote:
>>>>>>>> i've already tried to make a C++ external from the template but i
>>>>>>>> never reach something which works so if you have a working template
>>>>>>>> please let me know
>>>>>>> 
>>>>>>> pix-opencv depends on external libraries, and afaik often needs
>>>>>>> specific versions thereof.
>>>>>>> i think it is a perfect candidate to *not* use a template Makefile but
>>>>>>> instead use something more intelligent like autotools, scons,
>>>>>>> cmake,...which reminds me that it already does use autoconf
>>>>>> 
>>>>>>>> and what about including it in Gem ? as it depends on it (and it
>>>>>>>> may depends on very new feature such as ROI soon) i think it's a
>>>>>>>> better choice
>>>>>>> 
>>>>>>> pix-opencv is developed by different people than Gem. i think it is
>>>>>>> good to keep the repositories (and user-management) separate.
>>>>>>> so: i'd rather not have pix-opencv be "part" of Gem.
>>>>>>> 
>>>>>>> but:
>>>>>>> 
>>>>>>> i agree that pix-opencv could be made more readily available to users.
>>>>>>> it might be a good idea to distribute it together with Gem-releases.
>>>>>>> 
>>>>>>> so:
>>>>>>> 
>>>>>>> the build-system needs little changes to build a pix_opencv found in
>>>>>>> extra/ (basically, uncomment the relevant lines at the end of
>>>>>>> extra/configure.ac and add a line to extra/Makefile.am)
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> we could then create a script that pulls in pix-opencv to
>>>>>>> extra/pix_opencv before the builds are actually started.
>>>>>> 
>>>>>> autotools are very useful for detecting platform differences and making 
>>>>>> the build system respond differently based on that, like handling 
>>>>>> multiple optional dependencies like in Gem.  For the case you describe, 
>>>>>> that works well with the template Makefile.  For an object that requires 
>>>>>> a specific library, add it to LDFLAGS.  If that library not installed, 
>>>>>> it'll throw an error, which is what you want since the object requires 
>>>>>> that library.  pix_opencv requires opencv, and does nothing without it, 
>>>>>> so no autotools necessary.
>>>>> 
>>>>> I don't know anything about autotool and it looks like quite dark for
>>>>> me so if i can avoid another headache it's better :-)
>>>>> 
>>>>> 
>>>>>> 
>>>>>> As for version differences, I generally find it way too much work to 
>>>>>> support building against various versions of the API and just choose one 
>>>>>> and standardize on it.  Then, once this lib is widely distributed it 
>>>>>> could be worth building against different versions of opencv if there is 
>>>>>> demand.  First get it out there for the majority of users, then deal 
>>>>>> with any relevant edge cases, otherwise you are likely to spend lots of 
>>>>>> time dealing with edge cases that might not really be relevant.
>>>>>> 
>>>>>> My problem with autotools is that very few people know how to modify it, 
>>>>>> so the build system then rots because its not maintained and other 
>>>>>> issues.  I've seen this happen to a lot of autotools build systems in Pd 
>>>>>> projects over the years.  For example, Gem's autotools setup has gotten 
>>>>>> so complex, its almost impenetrable for me, and I've done a fair amount 
>>>>>> of autotools.  This is one reason to not include every object in Gem.
>>>>>> 
>>>>>> The Makefile that's there is already quite close to working. I'm happy 
>>>>>> to commit fixes to get it working if that's OK with the maintainers.  
>>>>>> I've committed to pix_opencv before.  Indeed I did this work back in 
>>>>>> 2009 but sevy objected so it was reverted and abandoned:
>>>>>> 
>>>>>> http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/externals/pix_opencv/Makefile?r1=12563&r2=12571
>>>>> 
>>>>> I think we should ask Lluis for that
>>>>> with the current Makefile in the SVN man should have opencv >= 2.3
>>>>> (some externals won't compile with previous OpenCV version) but there
>>>>> is not check about that I think
>>>>> and I can build with
>>>>> ./configure --with-pd=<PATH> --with-gem=<PATH>
>>>>> make
>>>> 
>>>> The Makefile equivalent of this is:
>>>> 
>>>> make PD_SRC=<PATH> GEM_SRC=<PATH>
>>>> 
>>>> Otherwise it'll look in the default installed locations for the headers.
>>>> 
>>>>> but only tested on Ubuntu
>>>>> I don't know if it could build on other linux distro and even less on
>>>>> Mac OS X and Windows
>>>>> Should fixing that Makefile.in be a starting point to distrute the 
>>>>> package ?
>>>> 
>>>> Let me know and i'll do it.  Is Lluis on this list?  Yes, I can include 
>>>> 'make osx_tarball' so its easy to make the tarball for releases.
>>>> 
>>>> .hc
>>>> 
>>>> 
>> 


_______________________________________________
GEM-dev mailing list
GEM-dev@iem.at
http://lists.puredata.info/listinfo/gem-dev

Reply via email to