[PD-dev] build instructions for pd-extended

Hans-Christoph Steiner hans at at.or.at
Wed Sep 28 23:26:06 CEST 2011


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





More information about the Pd-dev mailing list