What packages and their dependencies do I need to compile BrlCAD on Ubuntu Gutsy? I svn'ed BrlCAD and followed the instructions on the svn page but compiling produced errors of missing shared library librt1.0.19 or something when it was compiling in the /db directory. I just have not been able to install this package and do not know how. But I do have librt1.0.1 (I do not remmemver the version, for I am not at my computer right now) on my system.
And looking at the config.log file there are errors of "conftest not found". What is this file and how can I install it?
BRL-CAD requires the GNU Autotools to compile from a Subversion checkout, but otherwise has very minimal dependencies (C library, math lib, a compiler, etc). The librt error may be related to a bug on Debian/Ubuntu systems we're they modify libtool. Their modification of libtool breaks libtool's dependency calculation and causes compilation of BRL-CAD to fail. If you install libtool directly from GNU, everything should work just fine.
We're looking for a workaround, and the bug has been reported to the Debian devs but to date that have not been interested in fixing the bug.
I have a multiboot PC system that allows me to attempt getting BrlCAD up on various Linux distributions like PCLinuxOS, Suse10.3, Debian 'Etch' Ubuntu8.4 (Hardy Heron) and a cherished Gentoo. I have also considered Fedora, but in view of what you say - I may skip that for now.
So far, my attempts have foundered on exactly the sort of dependency issues as you have had with Fedora 8.
With Gentoo, others are currently busy working on an 'ebuild' which would install BrlCAD with full dependency management via their 'Portage' tool; so I left that one alone.
I could find no builds for SUSE via their 'YAST'package manager, nor 'RPM's installable for Mandriva-like platforms such as PC-LinuxOS. I have to guess that RPM's for RedHat/Fedora also must be rare. So far as I know, a 'Linux binary' has to be a very generic implementation to work on just any Linux system it is offered at. That said, most good projects are compile-friendly if a good ./configure script can be made.
The nearest ready-made 32-bit binary in a dependency-managed package I could find was a Debian build 'brlcad-7.8.4.deb' made in December 2006. This one failed for me because it requires glibc-2.4 (the GCC C libraries) version 2.4, and Debian Etch (stable) uses version 2.3. The later 7.12.2 downloads are for 64-bit machines.
Compiling from source involves dependency stumbles all over the place. Simply because of inexperience with sourceforge, I could not find MD5 checksums for downloads, but I tried the brlcad 7.10.4ia32 source in PCLinuxOS. It contained serious compile errors, too many to bore you with.
I had better success with the SVN download. Here is a link 'http://brlcad.org/wiki/Building_from_SVN'
Invoke whatever package manager your distribution uses to install svn if you don't already have it.
Then use a terminal to do..
svn checkout https://brlcad.svn.sourceforge.net/svnroot/brlcad/brlcad/trunk brlcad.
There is some stuff you need present before you do this.
install GNU autogen. Make sure you have all the X11 developer header files. Your package manager search 'X11' will get them. Use the './autogen.sh --verbose' command repeatedly, eliminating the things it stumbles on, until you have got to a good ./configure script.
The compile stage will have loads of unreadable output. Trivial warnings can be ignored. For me, a simple STATIC VOID declaration in an obscure function that was later called as just VOID brought the whole thing to a crashing halt. I am not a good C Programmer. I just want to be a good brlcad user :)
When you get to the stage to test, replace the command 'make test' and 'make benchmark', save the output using ..
make test > any-name-you-like
make benchmark > benchmark-output-whatever
When it tests all is well, you may do 'make install'. By default, it will go in /usr/brlcad/. There will be created several folders there. You need to add to your path PATH=$PATH:/usr/brlcad/bin:. and put that command into your startup profile to make it permanent. You may also find some environment variables need to be set.
The point I am at is I have a fully compiled brlcad which still has runtime errors. In my case, trying to invoke 'mged' brings the fail message 'No GlX-context'. Accepting that I am just not very good at this, I am happy to find a distribution and install route someone else has already succeeded with. Provided I move to a less stable Debian that can do glibc 2.4 (Lenny) the brlcad-7.8.4.deb has the advantage that it installs and sets up in seconds. We shall see..
By the way - I can now tell you that Fedora9 does not offer an easy route either.
No doubt it can be done, but I am going to limit my adventures to one Linux distro at a time :)
On a clean install of Ubuntu 7.1 (Gutsy Gibbon) the svn download gave me similar library problems to those reported by you, though not exactly the same in the detail.
I am now starting clean with a new install of Ubuntu 8.04 (Hardy Heron again).
Google does have links to information on getting Brlcad to compile in Ubuntu.
I will post here what I succeed with.
Please also post here if you manage to find some combination that works, and if possible, try and note what are the missing dependencies you needed to install (aside from the known svn, GNU autogen, the X11 set of header files, and Tcl libraries).
Thanks for sharing your porting experiences for others. Be sure to read the README and INSTALL files -- there is a lot of information about what should and should not work.
For most, though, the following should work if the GNU Build System tools are installed:
./configure --enable-all --without-opengl --enable-optimized
sudo make install
Log in to post a comment.