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 hans@at.or.at 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 hans@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.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@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.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.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... >>>> >>>> You can see the 0.42 release branch here: >>>> >>>> >>>> >>>> >>>> https://pure-data.svn.sourceforge.net/svnroot/pure-data/branches/pd-extended... >>>> >>>> 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@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