Prebuilt binaries

14 views
Skip to first unread message

Paul Martz

unread,
Dec 15, 2006, 10:56:36 AM12/15/06
to osg-...@googlegroups.com
Hi Folks -- As you might be aware, I'm writing a Quick Start Guide for OSG. Since I'd like it to be "quick", I've been trying to find a way to easily and painlessly get a new user up and running with OSG binaries.
 
If I were just interested in keeping the book short, I could simply direct the reader to the wiki and let them follow the instructions for downloading whatever is available. Call this "option 1". This really doesn't seem very reader-friendly, though. The wiki can be confusing, and if the user's only option from the wiki is to download source, then this could be a bad first experience for the reader.
 
Option 2: The Quick Start Guide could contain explicit instructions for downloading the source, building, and installing OSG. This could possibly clarify some of the confusion found on the wiki, but would still leave the reader with a bad first experience. I'd like to cover the three major platforms (Windows, Mac OS X, and a Linux variant). Including explicit instructions for this process for all three platforms would be tedious at best, and would probably not make for a quick read.
 
So I've concluded that those options aren't acceptable, and that's why I'm here to discuss option 3: prebuilt binaries for Windows, Mac OS X, and a Linux variant, available for download from the wiki, that could be easily and quickly installed on the reader's system. This would be a good out-of-the-box experience, comparable to what you get when you download, say, Python. Download, install, and away you go.
 
I could probably bite this off for Windows (I've been wanting to put together a VS8 binary distribution of OSG for some time now and just haven't gotten very far with it). But I'd need volunteers to build binaries for Mac OS X and Linux. Gordon Tomlinson is a possibility for Windows if I don't get to it, and I've also talked to Bob Kuehne about helping out for Mac.
 
I'd also like input on which Linux variant we should target. Probably an i386 32bit processor, yes? I have an Ubuntu Linux system here that I hope to have OSG up and running on soon, but I don't think that's the most popular variant by a long stretch. so your input here is welcome.
 
I figure the binary distribution should contain a full SDK (headers, stub libraries, and debug symbol info) as well as debug and optimized runtime shared libs.
 
So, to summarize, I'm looking for volunteers to put together binary distributions for Mac OS X and Linux, preferably ready by the 1.3 release timeframe (January?). I can pay you with an acknowledgement in the Quick Start Guide but that's about it.
 
Thanks for any help or ideas,
 
Paul Martz
Skew Matrix Software LLC
 

Robert Osfield

unread,
Dec 15, 2006, 11:11:31 AM12/15/06
to osg-...@googlegroups.com
Hi Paul,

I fully support going for down loadable binary packages alongside the
QSG release. Hopefully we can get OSG-1.3 out the door, get binaries
built and have the QSG simply point to them.

If QSG comes out before 1.3 then there are already binaries available
for VS7.x, OSX and Fedora, provided by Mike Weiblen, Eric Wing and
Eric Sokolowsky respectively.

Compiling from source is something that can be part of the wiki, and
something we should work to streamline. If we written it could
possibly goes as an appendix for the QSG, if not at the begining, with
a later update.

I don't know if lulu can provide DVD's along with printed copies of
the book, but if this was possible then you could put the binaries and
example data on the DVD.

Robert.

Paul Martz

unread,
Dec 15, 2006, 11:26:23 AM12/15/06
to osg-...@googlegroups.com
Is Fedora the Linux variant of choice?

Not sure about including a DVD with the book, I can ping lulu on that. If we
can get the binaries together and DVDs mass-produced, this would be great
for the printed QSG.
-Paul

Eric Sokolowsky

unread,
Dec 15, 2006, 11:27:57 AM12/15/06
to osg-...@googlegroups.com
On Fri, 15 Dec 2006, Paul Martz wrote:

> I'd also like input on which Linux variant we should target. Probably an
> i386 32bit processor, yes? I have an Ubuntu Linux system here that I hope to
> have OSG up and running on soon, but I don't think that's the most popular
> variant by a long stretch. so your input here is welcome.
>

In past years, Red Hat was the de-facto mainstream distribution of
Linux. That is no longer true today, but its closest succesor, Fedora,
has a pretty good following. I have already developed a binary
distribution for Fedora Core 4 which ought to work with later versions
also. I know it at least works on Fedora Core 5, and we will soon
be testing it on Fedora Core 6 as well.

The version that I have created is from the 1.2 release with
corresponding versions of OpenThreads and Producer. Currently there are
a number of pieces that are available:

OpenSceneGraph - libraries
OpenSceneGraph-devel - header files
OpenSceneGraph-examples - binaries of examples and applications
such as osgviewer
Producer - libraries
Producer-devel - header files
OpenThreads - libraries
OpenThreads-devel - header files

This may be a drawback, to have so many different pieces, but it offers
maximum flexibility with a minimum of duplicated work. Installation
could be very easy if we set up a yum repository with these packages,
but I need to learn more about how to do that. I'm willing to
maintain the Fedora Core binary distribution.

> I figure the binary distribution should contain a full SDK (headers, stub
> libraries, and debug symbol info) as well as debug and optimized runtime
> shared libs.

I haven't made a debug version of the libraries as part of the
distribution. It should not be hard to do. On Linux, the runtime shared
libraries are the same as the development shared libraries. Library
stubs are not needed.

--
____ __ Eric Sokolowsky (GST) NASA Goddard Space Flight Center
/ __/__/_/__ Visualization Programmer Scientific Visualization Studio
/ __/ _/ / _/ 301.286.3751 Mailstop 610.3 Bldg 28 Rm E102
/___/_//_/__/ eric.so...@gsfc.nasa.gov Greenbelt, MD 20771

Eric Sokolowsky

unread,
Dec 15, 2006, 11:35:14 AM12/15/06
to osg-...@googlegroups.com
On Fri, 15 Dec 2006, Paul Martz wrote:

> Is Fedora the Linux variant of choice?

It would be interesting to learn which Linux distributions are being
used by the OSG community. We use Fedora here at work. I use Ubuntu at
home on my ancient PIII, but I don't do much 3D development there. The
other mainstream distribution would be SuSe. Debian is somewhat popular
but hardly mainstream. Ubuntu is gaining popularity and is easy for
newcomers to handle. Gentoo is mainly for enthusiasts and is probably
not what we want to target in the QSG. I'm not aware of any other
mainstream/popular distributions.

Robert Osfield

unread,
Dec 15, 2006, 11:36:51 AM12/15/06
to osg-...@googlegroups.com
On 12/15/06, Eric Sokolowsky <eric.so...@gsfc.nasa.gov> wrote:
> In past years, Red Hat was the de-facto mainstream distribution of
> Linux. That is no longer true today, but its closest succesor, Fedora,
> has a pretty good following.

In the US RedHat are certainly the biggest, not sure its so elsewhere.
Creating packages shouldn't be difficult, we just need to put up a
recipe of how to create them and get various people to build them.

> > I figure the binary distribution should contain a full SDK (headers, stub
> > libraries, and debug symbol info) as well as debug and optimized runtime
> > shared libs.
>
> I haven't made a debug version of the libraries as part of the
> distribution. It should not be hard to do. On Linux, the runtime shared
> libraries are the same as the development shared libraries. Library
> stubs are not needed.

I'm inclined to think that we should keep the binaries nice and small
and not try to cover all bases. Users always have the opportunity to
download the sources and build for specialist platforms. I would put
the debug versions of library, and static library versions under the
category of build yourself.

By keeping the range of versions of libs down we can make it quicker
to download, make it easier on the package maintainers. At the
Highland Gathering Colin Dunlop passed on the observation that
Trolltech also keep things very simple, just distributing 32 bit
version of the libs for the main platforms and leave compiling the
various niche or advanced options to developers themselves.

Robert.

Robert Osfield

unread,
Dec 15, 2006, 11:40:57 AM12/15/06
to osg-...@googlegroups.com
On 12/15/06, Eric Sokolowsky <eric.so...@gsfc.nasa.gov> wrote:
>
> On Fri, 15 Dec 2006, Paul Martz wrote:
>
> > Is Fedora the Linux variant of choice?
>
> It would be interesting to learn which Linux distributions are being
> used by the OSG community. We use Fedora here at work. I use Ubuntu at
> home on my ancient PIII, but I don't do much 3D development there. The
> other mainstream distribution would be SuSe. Debian is somewhat popular
> but hardly mainstream. Ubuntu is gaining popularity and is easy for
> newcomers to handle. Gentoo is mainly for enthusiasts and is probably
> not what we want to target in the QSG. I'm not aware of any other
> mainstream/popular distributions.

The OSG isn't difficult to build under Linux, and Linux developers are
more used to building from source, its part of the culture, so I do
see it as critical as for Windows or OSX. Still it would be nice to
have the main ones covered such as Fedora and Debian (or which Ubuntu
is based).

I'm a Suse users myself, but have rather mixed fillings about their future.

Robert.

Paul Martz

unread,
Dec 15, 2006, 11:49:09 AM12/15/06
to osg-...@googlegroups.com
> I'm inclined to think that we should keep the binaries nice
> and small and not try to cover all bases. Users always have
> the opportunity to download the sources and build for
> specialist platforms. I would put the debug versions of
> library, and static library versions under the category of
> build yourself.

So the distribution would contain optimized runtime binaries and full source
trees, and if readers wanted to do development (which they certainly would)
they would build debuggable libs using instructions on the wiki? I think
this is a good solution, keeps the distribution small and simple.
-Paul

Jan Ciger

unread,
Dec 15, 2006, 3:25:19 PM12/15/06
to osg-...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

If you want to provide pre-built binaries for Linux, it is much better to
package OSG in either source rpms (non-binary) or equivalent .deb files for
Debian-derived distributions and let the distribution maintainers build binaries
and ship those thorough the official repositories. Then just point the newbie to
the repository of the given distribution - he/she will be able to install OSG by
clicking in his package manager of choice and the package + all dependencies
will be installed automatically. For example Mandriva is shipping OSG in their
repositories already, Debian as well, AFAIK. The packages will be properly
integrated into the package management system, all dependencies will be cared of
and it makes the life of the developer much easier.

If you decide to maintain the binaries yourself, you will hit lots of issues
with different libraries on different systems, different distros putting things
in different places, the dependencies will not work etc. A nightmare in general
and you will be able to support only one-two distributions at max. E.g. in
Europe RedHat is virtually unknown these days unless you have bought the
commercial version, people are running Suse, Ubuntu, Mandriva, etc. In Asia you
will find even more of the "exotic" flavors. In the end it will be simpler for
me to just forget your binaries and build from source instead.

There is a good primer on how to develop and ship Linux software here:
http://hari.literaryforums.org/2006/12/11/basic-tips-for-linux-programming/

Regarding shipping Linux binaries on a CD - that's definitely a bad idea. The CD
will be outdated in few months already as the distributions release new versions
with new compilers and libraries - your old binaries will probably start
crashing or parts requiring old shared libraries will stop working.

Regards,

Jan


- --

Jan Ciger
GPG public key: http://www.keyserver.net/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFFgwSvn11XseNj94gRAgEpAKClhQ+k5aUEBrSvzdBB3Uee0W2k6wCfbKy3
sk3QtlsYc4PhbWNHXOnNCUk=
=CrYD
-----END PGP SIGNATURE-----

Robert Osfield

unread,
Dec 15, 2006, 3:35:06 PM12/15/06
to osg-...@googlegroups.com
Hi Jan,

Thanks for the link, that was very useful. W.r.t package maintainers I
would like to see this process happen a bit more openly and
cooperatively. Stuff happens for us in the background, but I hear
little of it.

We should have lists of who the contacts are maintaining the various
packages and links of where to get the packages on the OSG web page.
When release come round we need to push this info on to the package
maintainers prior to release so as to catch errors before the formal
release. Another wiki page becons ;-)

Robert.

Jan Ciger

unread,
Dec 15, 2006, 3:51:24 PM12/15/06
to osg-...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Robert Osfield wrote:
> Hi Jan,
>
> Thanks for the link, that was very useful. W.r.t package maintainers I
> would like to see this process happen a bit more openly and
> cooperatively. Stuff happens for us in the background, but I hear
> little of it.
>
> We should have lists of who the contacts are maintaining the various
> packages and links of where to get the packages on the OSG web page.
> When release come round we need to push this info on to the package
> maintainers prior to release so as to catch errors before the formal
> release. Another wiki page becons ;-)

This is hard to do as the packagers can simply download the tarball, build it
and upload to the repository. Unless the license is changed to prohibit this
(bad idea, IMHO), the only thing you can do is to put up a polite request for
notification.

It seems that Mandriva is shipping old OSG 1.0 in its "contrib" repository and
the maintainer is pkar...@mandriva.com.

Debian packages were made by Loic Dachary if my memory serves me well.

Regards,

Jan

- --

Jan Ciger
GPG public key: http://www.keyserver.net/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFFgwrIn11XseNj94gRAqA8AKCbLnUOySfQH5BNLdYGj3jJEWhdPACgmyDe
UrJkdI68XJQw56KRIopsPqQ=
=0xTM
-----END PGP SIGNATURE-----

Robert Osfield

unread,
Dec 15, 2006, 4:02:20 PM12/15/06
to osg-...@googlegroups.com
Hi Jan,

On 12/15/06, Jan Ciger <jan....@gmail.com> wrote:

> This is hard to do as the packagers can simply download the tarball, build it
> and upload to the repository. Unless the license is changed to prohibit this
> (bad idea, IMHO), the only thing you can do is to put up a polite request for
> notification.

A license that prohibits this would not be open source/free software.

A notification for package maintainers would be useful though.


> It seems that Mandriva is shipping old OSG 1.0 in its "contrib" repository and
> the maintainer is pkar...@mandriva.com.

Thanks for the heads up. 1.0 is now a year old, for 1.3 we'll
certainly need to be proactive an push updates.

> Debian packages were made by Loic Dachary if my memory serves me well.

I recall getting some build fixes w.r.t debain package a while back,
Loic passed the fixes on, so I'm not sure if Loic is the the lead
maintainer.

This is something we need to raise on osg-users as discussion topic.
I would be I'm knackered right now. Time to retire for the day.

Robert.

Paul Martz

unread,
Dec 15, 2006, 5:11:04 PM12/15/06
to osg-...@googlegroups.com
Eric, do you or anyone else have a contact with the Fedora packager so we
can prompt them to pick up and build/distribute the latest OSG?

For the Quick Start Guide, I will mention as many flavors of Linux as I'm
aware of that are picking up and distributing OSG binaries, so it's free
advertising for them.
-Paul

> -----Original Message-----
> From: osg-...@googlegroups.com
> [mailto:osg-...@googlegroups.com] On Behalf Of Robert Osfield
> Sent: Friday, December 15, 2006 2:02 PM
> To: osg-...@googlegroups.com
> Subject: [osg-crew] Re: Prebuilt binaries
>
>

E. Wing

unread,
Dec 16, 2006, 6:27:32 AM12/16/06
to osg-...@googlegroups.com
So I guess I should chime in since I've been doing the Mac packages. I
think the current binary package system we have now would also be
suitable for the mentioned DVD.

Also, I have already made a series of Quicktime movies that cover the
initial install and getting started. If those could be included on the
DVD, they might be helpful for some people too.
http://www.openscenegraph.org/index.php?page=Tutorials.MacOSXTips

I think the binaries should just be the release version. Size is my
concern. Debug builds can be huge and on the Mac, we may potentially
have to worry about 4 architectures (PowerPC and Intel, and 32-bit and
64-bit) so the binaries would eat up even more space. There might not
be room left of the DVDs for other stuff :)

Thanks,
Eric

Eric Sokolowsky

unread,
Dec 18, 2006, 9:23:06 AM12/18/06
to osg-...@googlegroups.com
On Fri, 15 Dec 2006, Paul Martz wrote:

>
> Eric, do you or anyone else have a contact with the Fedora packager so we
> can prompt them to pick up and build/distribute the latest OSG?

No, sorry. To create my own version of OSG 1.2, I grabbed the Fedora
source RPM from their OSG 1.1 release and modified it to work with 1.2.
The maintainer for Fedora may be Ralf Corsepius (rc04...@freenet.de). I
haven't ever contacted him.

Reply all
Reply to author
Forward
0 new messages