[PD-dev] build instructions for pd-extended

Hans-Christoph Steiner hans at at.or.at
Thu Sep 29 04:12:21 CEST 2011


I actually use all three:
- links in pd-extended.git/extra
- work on libs directly in their folder in pure-data/trunk/externals
- test things on the build as a whole.

I just dpends on what I am working on, and what the quickest route to  
testing it is.

.hc

On Sep 28, 2011, at 6:15 PM, Ricardo Fabbri wrote:

> Hello Hans,
>
> Thank you for the info - it is interesting that the method you
> described is the oposite of what I did ;)
> Instead of basing things off of pd-svn and linking to pd-extended.git
> and Gem, you base things off of pd-extended.git and link to what you
> need from pd-svn and Gem.  I guess I might stick to your way once I
> need to isolatedly develop things. For now, we use so many libs that
> it might be better to build and develop everything at once.
>
> I will try to document these things and send a link to the list. If
> you approve then I can post to the main site.
>
> Best,
> Ricardo
> --
> Linux registered user #175401
> www.lems.brown.edu/~rfabbri
>
>
>
> On Wed, Sep 28, 2011 at 6:26 PM, Hans-Christoph Steiner  
> <hans at at.or.at> wrote:
>>
>> Hey Ricardo,
>>
>> I proposed the rsync method as the easiest way to get started. But  
>> yes, it
>> doesn't work for development.  For the most part, when doing dev  
>> work, I
>> find it easiest to stick with the smallest unit possible.  Like if  
>> I want to
>> work on a library, then I only build that library, not all of Pd- 
>> extended.
>>
>> Then in pd-extended.git/extra, I put symlinks to the libraries I'm  
>> currently
>> working on, i.e.:
>>
>> libdir -> ../../pure-data/trunk/externals/loaders/libdir
>> cyclone -> /Applications/Pd-extended.app/Contents/Resources/extra/ 
>> cyclone/
>> extra -> ../../pure-data/trunk/externals/extra
>> vanilla -> ../../pure-data/trunk/externals/vanilla/
>> pddp -> ../../pure-data/trunk/externals/pddp
>> pdlua -> ../../pure-data/trunk/externals/loaders/pdlua/src/
>>
>> This also means I can quickly test core changes but building just in
>> pd-extended.git, and then running Pd directly from there, i.e.:
>>
>> cd ~/code/pd-extended.git
>> ./autogen.sh
>> ./configure
>> make
>> ./src/pd
>>
>> As for your introduction, you should post that in its own email  
>> with a
>> separate Subject so people know what its about.
>>
>> .hc
>>
>> On Sep 28, 2011, at 5:00 PM, Ricardo Fabbri wrote:
>>
>>> Hi,
>>>
>>> My friend Vilson Vieira and I were able to generate the latest
>>> full-fledged Pd-extended using two methods. I can give the details  
>>> in
>>> a later email, but basically:
>>>
>>> method1: rsync+autobuild as you mentioned. worked after some basic
>>> dependence installations. the downside is that this is not the best
>>> option for development, but mainly for building the latest Pd only.
>>>
>>> method2: download Pd from svn, then pd-extended.git and Gem, ans use
>>> the linux-make approach. This provides for a full development tree
>>> which makes it easy to push commits and make patches, as well as
>>> updating from the repos. I had to modify the pd-svn tree to mimick
>>> what was done for the rsync'd tree. Basically this involves moving  
>>> the
>>> 'pd' subdir to something else, like 'pd-original', then linking
>>> pd-extended.git to  'pd' inside pd-svn. Then do something similar  
>>> for
>>> Gem: link gem-svn to pd-svn/Gem and pd-svn/extensions/Gem.  Then I
>>> went to pd-svn/packges/linux_make, and typed "make install" to
>>> generate a .deb package, which I then installed using dpkg -i.
>>>
>>> The generated packages for 32bit (using method1) and 64bit (using
>>> method2) have been posted in:
>>> http://hera.ethymos.com.br:1080/pd/
>>>
>>> Perhaps they can be useful for some alpha-testing as we are already
>>> doing locally at our Lab Macambira (labmacambira.sf.net).
>>>
>>> I really feel that method 2 got us into Pd development now. The  
>>> build
>>> works very well as far as we have tested. Perhaps this establishes a
>>> good enough workflow (update->develop->build->test->commit) that I
>>> think it might be time to provide commit access, if you agree.
>>> Following SVNCommitAccess, this is the requested info:
>>
>>> My name is Ricardo Fabbri and I have been working with free software
>>> since 1999, specializing in computer vision and image processing.
>>> During my PhD I worked on 3D reconstruction algorithms and camera
>>> self-calibration, and have also worked for Google in applications of
>>> this technology for the scanning and indexing of books and other  
>>> print
>>> material. I have recently returned to Brazil where I helped found  
>>> the
>>> free software group Lab Macambira (labmacambira.sf.net), together  
>>> with
>>> my brother Renato Fabbri, Vilson Vieira, and others. We are  
>>> currently
>>> a team of 15.
>>>
>>> My brother had a significant influence in Pd Con that was held in
>>> Brazil, as well as in the rise of the Brazilian Pd community. My
>>> brother is a composer and is doing graduate work in computational
>>> physics. I was actually the one who introduced him to Pd and Linux
>>> back in the days when he was dependant on Max. We were also joined  
>>> by
>>> Gilson Beck, another composer who got hooked on Pd. Currently, my
>>> direct interests with Pd deveolpment are to support the demands from
>>> these composers, but, mainly, to support Pd as a core component of  
>>> our
>>> real-time video processing stack. We use Pd for guiding C++ modules
>>> linked to OpenCV and VXL.
>>> We also use Scilab as a quick prototyping language for new  
>>> algorithms.
>>> As you can see, Pd is the guiding master of our systems, so it is
>>> crucial for us to have a development gripo on it. Commit access is
>>> important as we would like to develop this key component with you.  
>>> You
>>> can count on our painstaking care not to break anything and our
>>> willing service to improve Pd. Perhaps with a commit access it will
>>> make it easier to do small improvements and documentation, for a
>>> start.
>>>
>>> SF user: ricardofabbri.
>>> Optionally, Vilson's SF user: vilsonvieira and My brother's:  
>>> greenkobold
>>>
>>> Best regards,
>>> Ricardo
>>> --
>>> Linux registered user #175401
>>> www.lems.brown.edu/~rfabbri
>>>
>>>
>>>
>>> On Wed, Sep 28, 2011 at 12:19 AM, Hans-Christoph Steiner <hans at at.or.at 
>>> >
>>> wrote:
>>>>
>>>> The easiest way to get started build Pd-extended is how the nightly
>>>> builds
>>>> are done.  Start by getting the source using the rsync method and  
>>>> then
>>>> running the build script:
>>>>
>>>> http://puredata.info/docs/developer/AutoBuildProcess
>>>>
>>>> The whole build process has lots of hacks and kludges in it,  
>>>> which we are
>>>> in
>>>> the process of disentangling.  Two notable efforts along those  
>>>> lines are
>>>> the
>>>> Library Template:
>>>>
>>>> http://puredata.info/docs/developer/LibraryTemplate
>>>>
>>>> And submitting lots of libs to Debian:
>>>>
>>>> http://qa.debian.org/developer.php?login=hans%40eds.org
>>>> http://qa.debian.org/developer.php?login=zmoelnig@iem.at
>>>> http://qa.debian.org/developer.php?login=reduzent@gmail.com
>>>>
>>>> .hc
>>>>
>>>>
>>>> On Sep 27, 2011, at 6:15 PM, Ricardo Fabbri wrote:
>>>>
>>>>> Other problems with pd from Subversion:
>>>>>
>>>>> - my GUI cannot pan/scroll large patches. A scroll bar is  
>>>>> missing and
>>>>> there is no way to scroll.
>>>>> - I don't have a help browser.
>>>>>
>>>>> Thanks in advance for your guidance,
>>>>> Ricardo
>>>>> --
>>>>> Linux registered user #175401
>>>>> www.lems.brown.edu/~rfabbri
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Sep 27, 2011 at 7:13 PM, Ricardo Fabbri  
>>>>> <rfabbri at gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> Hans,
>>>>>>
>>>>>> I think I will stick to the patch format for now. Let me report  
>>>>>> my
>>>>>> build adventures for the day so that someone can give some  
>>>>>> advice.
>>>>>>
>>>>>> I would like to build a full pd-extended from development  
>>>>>> source code.
>>>>>> It seems to be a bit complicated, but I tried at least to build  
>>>>>> the
>>>>>> stuff I need.
>>>>>>
>>>>>> The first problem I got is that the pd built from SVN doesn't  
>>>>>> runn off
>>>>>> of /usr/local/bin but only runs from its own source dir. This  
>>>>>> is what
>>>>>> I did on Pd-svn:
>>>>>>
>>>>>>  cd pd/pd/src
>>>>>>  autoreconf -vi
>>>>>>  ./configure
>>>>>>  make depend
>>>>>>  make
>>>>>>  sudo make install
>>>>>>
>>>>>> Then when I rund pd it just hangs.. Running pd -verbose gives:
>>>>>> Pd version 0.42-5
>>>>>> compiled 15:33:07 Sep 27 2011
>>>>>> port 5403
>>>>>> TCL_LIBRARY="/usr/local/lib/pd/lib/tcl/library"
>>>>>> TK_LIBRARY="/usr/local/lib/pd/lib/tk/library"   wish
>>>>>> "/usr/local/lib/pd/tcl/pd-gui.tcl" 5403
>>>>>> Waiting for connection request...
>>>>>> ... connected
>>>>>>
>>>>>> I tried with both wish 8.4 and 8.5.
>>>>>>
>>>>>> The way I managed to run it was just through the source dir.
>>>>>>  pd/pd/bin/pd
>>>>>>
>>>>>> Next, I built Gem from svn (but kinda tailored to the Pd source  
>>>>>> code
>>>>>> dir since that's what I managed to run):
>>>>>>  cd pd-gem/Gem/src
>>>>>>  ./autogen.sh
>>>>>>  ./configure --with-pd=$HOME/src/pd/pd
>>>>>>  make
>>>>>>  sudo make install
>>>>>>
>>>>>> Finally, pix_opencv:
>>>>>>  ./configure --with-pd=$HOME/src/pd/pd --with-
>>>>>> gem=$HOME/src/pd-gem/Gem
>>>>>>  make
>>>>>>  sudo make install
>>>>>>
>>>>>>
>>>>>> I noticed pix_opencv installs cleanly onto the Pd source dir  
>>>>>> but Gem
>>>>>> just insists on using /usr/local no matter what.
>>>>>>
>>>>>> I was able to install Pd using gem like this:
>>>>>>
>>>>>>  cd $HOME/src/pd-gem/Gem
>>>>>>  $HOME/src/pd/pd/bin/pd -lib Gem
>>>>>>
>>>>>> Not to speak about compiling+installing iemmatrix, which should  
>>>>>> be
>>>>>> simple, similar to pix_opencv, if only pd would run out of /usr/ 
>>>>>> local
>>>>>> which it isn't.
>>>>>>
>>>>>> I appreciate any help, even if just a small guiding remark.
>>>>>> Ricardo
>>>>>> --
>>>>>> Linux registered user #175401
>>>>>> www.lems.brown.edu/~rfabbri
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Sep 27, 2011 at 5:23 PM, Hans-Christoph Steiner <hans at at.or.at 
>>>>>> >
>>>>>> wrote:
>>>>>>>
>>>>>>> Hey Ricardo,
>>>>>>>
>>>>>>> If you want commit access, here is the process, its pretty  
>>>>>>> simple:
>>>>>>>
>>>>>>> http://puredata.info/docs/developer/SVNCommitAccess
>>>>>>>
>>>>>>> We do need work out the flow before you start directly  
>>>>>>> committing.
>>>>>>>  The
>>>>>>> rule
>>>>>>> of the pure-data SVN is that you need to have explicit  
>>>>>>> permission to
>>>>>>> each
>>>>>>> file that you want to work on.  Usually this goes on a
>>>>>>> library-by-library
>>>>>>> basis, for example puredata_opencv. You just ask on pd-dev for
>>>>>>> permission.
>>>>>>>
>>>>>>> For things that are directly maintained in SVN, it makes sense  
>>>>>>> to
>>>>>>> commit
>>>>>>> directly there.  For things that are maintained in git, then you
>>>>>>> should
>>>>>>> make
>>>>>>> your own fork of pd-extended.git, and submit 'git format- 
>>>>>>> patch' files
>>>>>>> to
>>>>>>> the
>>>>>>> patch tracker.
>>>>>>>
>>>>>>> Either way, starting by submitting patches to the tracker  
>>>>>>> would be the
>>>>>>> best
>>>>>>> way to start.  There is no barrier, you can do that now.
>>>>>>>
>>>>>>> .hc
>>>>>>>
>>>>>>> On Sep 27, 2011, at 2:15 AM, Ricardo Fabbri wrote:
>>>>>>>
>>>>>>>> Hello Hans,
>>>>>>>>
>>>>>>>> Thanks for the quick reply. We will be targeting Linux,  
>>>>>>>> mostly Ubuntu
>>>>>>>> 11.04.
>>>>>>>>
>>>>>>>> I would like to develop using a branch in such a way that I can
>>>>>>>> easily
>>>>>>>> push the changes to you through patches or by committing. I  
>>>>>>>> am a bit
>>>>>>>> hesitant to develop a release branch instead of the main branch
>>>>>>>> directly, since I might be repeating work.
>>>>>>>>
>>>>>>>> I already talked to the puredata_opencv guys and they are  
>>>>>>>> willing to
>>>>>>>> let me commit code, as long as I discuss the changes before  
>>>>>>>> modifying
>>>>>>>> existing functionality.
>>>>>>>>
>>>>>>>> My username is ricardofabbri just in case, although I totally
>>>>>>>> understand it might be too early for commit privileges, given  
>>>>>>>> that I
>>>>>>>> haven't even settled on a workflow.
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Ricardo
>>>>>>>> --
>>>>>>>> Linux registered user #175401
>>>>>>>> www.lems.brown.edu/~rfabbri
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Sep 27, 2011 at 2:20 AM, Hans-Christoph Steiner
>>>>>>>> <hans at at.or.at>
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Hey Ricardo,
>>>>>>>>>
>>>>>>>>> This is great news!  Yes, its true, the sources are a bit  
>>>>>>>>> confusing.
>>>>>>>>>  Website updates are a good thing.  If you are talking about
>>>>>>>>> Pd-extended,
>>>>>>>>> then all sources are from
>>>>>>>>> https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk,
>>>>>>>>> except
>>>>>>>>> for
>>>>>>>>> the core 'pd' part, which is from the pd-extended.git.  Once  
>>>>>>>>> we have
>>>>>>>>> the
>>>>>>>>> 0.43 release branch, which is soon, then everything will be  
>>>>>>>>> in this
>>>>>>>>> SVN
>>>>>>>>> branch:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://pure-data.svn.sourceforge.net/svnroot/pure-data/branches/pd-extended/0.43
>>>>>>>>>
>>>>>>>>> You can see the 0.42 release branch here:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://pure-data.svn.sourceforge.net/svnroot/pure-data/branches/pd-extended/0.42
>>>>>>>>>
>>>>>>>>> Which platform are you going to be targetting?
>>>>>>>>>
>>>>>>>>> .hc
>>>>>>>>>
>>>>>>>>> On Sep 27, 2011, at 12:49 AM, Ricardo Fabbri wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I would like to help out with the development of Pd, in  
>>>>>>>>>> particular
>>>>>>>>>> with Gem and puredata_opencv. Please be patient as I am just
>>>>>>>>>> starting
>>>>>>>>>> with Pd development.
>>>>>>>>>>
>>>>>>>>>> I would like to get some advice from you on how to build  
>>>>>>>>>> from the
>>>>>>>>>> develpment sources. I can then update the community website
>>>>>>>>>> instructions based on your responses, if you think that'd be
>>>>>>>>>> helpful.
>>>>>>>>>>
>>>>>>>>>> I would like to install pd-extended, gem, and pix_opencv  
>>>>>>>>>> from the
>>>>>>>>>> development source code.
>>>>>>>>>>
>>>>>>>>>> It seems I should download from Subversion, even though Git  
>>>>>>>>>> is used
>>>>>>>>>> for pd vanilla core and pd-extended core. It seems these  
>>>>>>>>>> Git repos
>>>>>>>>>> are
>>>>>>>>>> regularly pushed onto Subversion. Is that true?
>>>>>>>>>>
>>>>>>>>>> Now, should I really download from these?
>>>>>>>>>>
>>>>>>>>>> https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk
>>>>>>>>>>
>>>>>>>>>> and
>>>>>>>>>>
>>>>>>>>>> https://pd-gem.svn.sourceforge.net/svnroot/pd-gem/trunk
>>>>>>>>>>
>>>>>>>>>> Next, I'd like some up-to-date build instructions based on  
>>>>>>>>>> the
>>>>>>>>>> development code base. Again, I am more than willing to  
>>>>>>>>>> update the
>>>>>>>>>> online doc with the info you provide.
>>>>>>>>>>
>>>>>>>>>> I appreciate your guidance on how to contribute. I lead a  
>>>>>>>>>> team with
>>>>>>>>>> computer vision programmers and music composition experts  
>>>>>>>>>> that will
>>>>>>>>>> be
>>>>>>>>>> heavily developing Pd in the next coming weeks and months.
>>>>>>>>>>
>>>>>>>>>> Best regards,
>>>>>>>>>> Ricardo
>>>>>>>>>> --
>>>>>>>>>> Linux registered user #175401
>>>>>>>>>> www.lems.brown.edu/~rfabbri
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pd-dev mailing list
>>>>>>>>>> Pd-dev at iem.at
>>>>>>>>>> http://lists.puredata.info/listinfo/pd-dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ----------------------------------------------------------------------------
>>>>>>>>>
>>>>>>>>> 'You people have such restrictive dress for women,’ she said,
>>>>>>>>> hobbling
>>>>>>>>> away
>>>>>>>>> in three inch heels and panty hose to finish out another  
>>>>>>>>> pink-collar
>>>>>>>>> temp
>>>>>>>>> pool day.  - “Hijab Scene #2", by Mohja Kahf
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ----------------------------------------------------------------------------
>>>>>>>
>>>>>>> As we enjoy great advantages from inventions of others, we  
>>>>>>> should be
>>>>>>> glad of
>>>>>>> an opportunity to serve others by any invention of ours; and  
>>>>>>> this we
>>>>>>> should
>>>>>>> do freely and generously.         - Benjamin Franklin
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ----------------------------------------------------------------------------
>>>>
>>>> Mistrust authority - promote decentralization.  - the hacker ethic
>>>>
>>>>
>>>>
>>
>>
>>
>> ----------------------------------------------------------------------------
>>
>> Mistrust authority - promote decentralization.  - the hacker ethic
>>
>>
>>



----------------------------------------------------------------------------

"Making boring techno music is really easy with modern tools, but with  
live coding, boring techno is much harder." - Chris McCormick







More information about the Pd-dev mailing list