Problems building source
Hi everyone, I'm a new user that is trying to get Phenix installed. I'm trying the source build since I want to poke around with a little development. I haven't had much luck in this endeavor (I'm fairly competent when it comes to building especially scientific software from source). What I tried was untarring the 1.9-1692 release tarball and running ./install in that directory. The first thing to fail was Imaging, and the build log complained of a missing freetype/fterrors.h header. On my machine, that file is located in /usr/include/freetype2/fterrors.h. OK, so I symlinked /usr/local/include/freetype to /usr/include/freetype2 and tried again. Imaging succeeded, but then I noticed that Phenix tried to compile its own version of freetype later (!). I'm curious as to why it would either a) not build freetype first so Imaging could use it or b) why it would try to build freetype at all when it already has to be installed. Anyway, after that was done, I got another problem when the install process got to Pango. Then I get the error: fribidi_config.h:1:18: fatal error: glib.h: No such file or directory But glib has already been installed according to the Phenix install log (and I have it installed on my system, too). There's a glib.h in tmp/glib-2.12.11/glib/glib.h (but that directory is never added to the include search path), and also in /usr/include/glib-2.0/glib.h. I admit that the install process has me puzzled (for instance, I can't figure out how to augment CFLAGS for the Pango install to make it find glib.h), and I feel that I'm playing a bit of whack-a-mole with the build problems here... Any help or advice regarding getting the source code built is appreciated. Thanks! Jason -- Jason M. Swails BioMaPS, Rutgers University Postdoctoral Researcher
On Wed, Oct 1, 2014 at 9:10 AM, Jason Swails
I'm a new user that is trying to get Phenix installed. I'm trying the source build since I want to poke around with a little development. I haven't had much luck in this endeavor (I'm fairly competent when it comes to building especially scientific software from source).
Three comments: 1) If you don't need the GUI, add "--no-gui" to the install arguments and it should skip most of the problematic packages. 2) unless I've forgotten something, the source for Phenix itself (minus third-party dependencies such as Python, wxPython, etc.) should come with all of the binary installers except for the Mac graphical package, so you might save some time by using those. Recompiling our code with modifications is not very difficult, but getting the dependencies built varies from tricky to nightmarish on some systems. 3) Depending on what kind of development you want to do, it may be better to work from the SVN repositories (especially CCTBX), because our code changes rather quickly and it's easy to get out of sync. And a question: what exact Linux distribution and version are you running? What I tried was untarring the 1.9-1692 release tarball and
running ./install in that directory.
First recommendation: use the latest nightly, since at least one issue has already been changed.
The first thing to fail was Imaging, and the build log complained of a missing freetype/fterrors.h header. On my machine, that file is located in /usr/include/freetype2/fterrors.h. OK, so I symlinked /usr/local/include/freetype to /usr/include/freetype2 and tried again. Imaging succeeded, but then I noticed that Phenix tried to compile its own version of freetype later (!). I'm curious as to why it would either a) not build freetype first so Imaging could use it or b) why it would try to build freetype at all when it already has to be installed.
This was a bug, and I think I fixed it a few months ago. Anyway, after that was done, I got another problem when the install
process got to Pango. Then I get the error:
fribidi_config.h:1:18: fatal error: glib.h: No such file or directory
But glib has already been installed according to the Phenix install log (and I have it installed on my system, too). There's a glib.h in tmp/glib-2.12.11/glib/glib.h (but that directory is never added to the include search path), and also in /usr/include/glib-2.0/glib.h. I admit that the install process has me puzzled (for instance, I can't figure out how to augment CFLAGS for the Pango install to make it find glib.h), and I feel that I'm playing a bit of whack-a-mole with the build problems here...
This is a little strange; in theory the headers should be available in the in-progress Phenix installation (under the directory build/$PHENIX_MTYPE/base/include, where PHENIX_MTYPE is automatically determined). For reference, the code that handles the dependency building lives here: http://sourceforge.net/p/cctbx/code/HEAD/tree/trunk/libtbx/auto_build/instal... It's quite possible I've overlooked something, although obviously this works on all of our systems. -Nat
participants (2)
-
Jason Swails
-
Nathaniel Echols