[PD-dev] build instructions for pd-extended

Ricardo Fabbri rfabbri at gmail.com
Thu Sep 29 00:15:13 CEST 2011


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
>
>
>



More information about the Pd-dev mailing list