Hey Ricardo,

The doc updates look good, the thing that I would change is to have the 'git svn' stuff as an option, not as the documented way of getting the source. The idea is to make it as easy as possible to get started. SVN is a lot easier than git, and I figure anyone how knows 'git svn' doesn't need to have it documented.

Also, since that page is called BuildingPdExtended, perhaps it makes sense to have a WorkingWithPdExtendedSources page that is linked from GettingPdSource and BuildingPdExtended as a place to fully document all the possible setups for development.

I've been trying to make the developer docs a collection of small modules of pages, so they can be reused a lot. Before, what would happen is that something like the rsync command was documented in multiple places, but would only get updated in one place, so there was a lot of out-of-date info around. Having it small pages that are linked between a lot means we can have it so something is only documented in a single page, so there is only one place to update.

.hc

On Sep 30, 2011, at 4:49 AM, Ricardo Fabbri wrote:

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









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

                            kill your television



_______________________________________________
Pd-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/pd-dev

Reply via email to