Hello everyone, I have documented this thread and my experiences with putting together the code from the different repositories for development. I took the initiative to place this into the main community website, although there might be better ways to expose the material. I have decided to put a section in http://puredata.info/docs/developer/BuildingPdExtended And to reference to the section at the beginning of that article.
I also put a reference to BuildingPdExtended in the page: http://puredata.info/docs/developer/GettingPdSource Hope this can be useful to the community. Any suggestions on improving the way I wrote it are more than welcome. Best regards, Ricardo -- Linux registered user #175401 www.lems.brown.edu/~rfabbri On Wed, Sep 28, 2011 at 11:12 PM, Hans-Christoph Steiner <[email protected]> wrote: > > 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 <[email protected]> >> 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 <[email protected]> >>>> 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/[email protected] >>>>> http://qa.debian.org/[email protected] >>>>> >>>>> .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 <[email protected]> >>>>>> 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 >>>>>>> <[email protected]> >>>>>>> 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 >>>>>>>>> <[email protected]> >>>>>>>>> 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 >>>>>>>>>>> [email protected] >>>>>>>>>>> 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 > > > > > _______________________________________________ Pd-dev mailing list [email protected] http://lists.puredata.info/listinfo/pd-dev
