differing build and install directories?
Dear Ralf: Sorry to keep pestering you. I'm now trying to build debian packages, which means the build directory differs from the install directory. Because of this, a lot of the shell scripts, python scripts, and compiled binaries in cctbx have a path like /sw/src/fink.build/ ccp4-5.99.3-1/ccp4-5.99.3 hard-coded into them, and I'd like the final one to look like /sw/share/xtal/ccp4-5.99.3 (for example). Similarly for Debian linux. Is there a simple way to build in one directory but use the final install-path for configuring? I've tried changing $install_root in the file cctbx_install_script.csh, but that didn't work. Similarly, I noticed the install_paths hard-coded into the dynamic libraries for cctbx are relative, rather than absolute like the others, for examle: % otool -L cctbx_dmtbx_ext.so cctbx_dmtbx_ext.so: /System/Library/Frameworks/Python.framework/Versions/2.3/ Python (compatibility version 2.3.0, current version 2.3.5) lib/libboost_python.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.3.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) Is there a simple way to change that? All the best, Bill William G. Scott Associate Professor Department of Chemistry and Biochemistry and The Center for the Molecular Biology of RNA Sinsheimer Laboratories University of California at Santa Cruz Santa Cruz, California 95064 USA
If this is for binaries, there is a binary bundle functionality available. This creates a perl .selfx file which the user can put anywhere, which may be essentially what you want. Look at the libtbx.start_binary_bundle and libtbx.as_selfx commands... (I think those are the coorect ones, or at least close enough :) ) Are you needing specially made ones, or can you just use the .selfx files from the download page? On Tue, 27 Sep 2005, William Scott wrote:
Dear Ralf:
Sorry to keep pestering you. I'm now trying to build debian packages, which means the build directory differs from the install directory.
Because of this, a lot of the shell scripts, python scripts, and compiled binaries in cctbx have a path like /sw/src/fink.build/ ccp4-5.99.3-1/ccp4-5.99.3 hard-coded into them, and I'd like the final one to look like /sw/share/xtal/ccp4-5.99.3 (for example). Similarly for Debian linux. Is there a simple way to build in one directory but use the final install-path for configuring?
I've tried changing $install_root in the file cctbx_install_script.csh, but that didn't work.
Similarly, I noticed the install_paths hard-coded into the dynamic libraries for cctbx are relative, rather than absolute like the others, for examle:
% otool -L cctbx_dmtbx_ext.so cctbx_dmtbx_ext.so: /System/Library/Frameworks/Python.framework/Versions/2.3/ Python (compatibility version 2.3.0, current version 2.3.5) lib/libboost_python.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.3.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
Is there a simple way to change that?
All the best,
Bill
William G. Scott
Associate Professor Department of Chemistry and Biochemistry and The Center for the Molecular Biology of RNA Sinsheimer Laboratories University of California at Santa Cruz Santa Cruz, California 95064 USA
_______________________________________________ cctbxbb mailing list [email protected] http://www.phenix-online.org/mailman/listinfo/cctbxbb
Hi Erik: Thanks for the quick reply. The reason I want to do this is the following: I've been maintaining a Debian package for ccp4 in the Fink package management system for Mac OS X for the last several years cf: http://fink.sourceforge.net/pdb/package.php/ccp4 It works much like the Debian packaging system on Debian Linux (from which it evolved). ccbtx is now distributed with ccp4 (starting with version 6). I'd like to include the script for installing the full ccp4 package. So far everything builds and installs fine. Everything works except for ccbtx, because if I move it from its original build location (a temporary directory), it breaks (the old path persists). Anyway, the idea is to distribute the build script (essentially embedded unix shell scripts) rather than any code, and the user simply issues the command fink install ccp4 and the package management system downloads ccp4, compiles and then installs everything, and sets up environment variables in such a way that everything simply works "out of the box." The install process involves building into a debian archive file, and then installing from this package. You could then in principle distribute the debian pre-compiled package, and this is done for GPL software, but the ccp4 license is such that fink cannot distribute the binaries, only the recipies for the automatic install. So basically I need a way of compiling in /absolute/path/A and then moving to /another/absolute/path/B. The other issue is that I need to hard-code in the DYLIB path instead of relying on an environment variable, which I am not allowed to set. I should have confessed at the outset (and you probably guessed) that I am an luser, not a programmer. Sorry. Thanks. Bill Scott On Sep 27, 2005, at 10:01 PM, Erik Mckee wrote:
If this is for binaries, there is a binary bundle functionality available. This creates a perl .selfx file which the user can put anywhere, which may be essentially what you want. Look at the libtbx.start_binary_bundle and libtbx.as_selfx commands... (I think those are the coorect ones, or at least close enough :) )
Are you needing specially made ones, or can you just use the .selfx files from the download page?
On Tue, 27 Sep 2005, William Scott wrote:
Dear Ralf:
Sorry to keep pestering you. I'm now trying to build debian packages, which means the build directory differs from the install directory.
Because of this, a lot of the shell scripts, python scripts, and compiled binaries in cctbx have a path like /sw/src/fink.build/ ccp4-5.99.3-1/ccp4-5.99.3 hard-coded into them, and I'd like the final one to look like /sw/share/xtal/ccp4-5.99.3 (for example). Similarly for Debian linux. Is there a simple way to build in one directory but use the final install-path for configuring?
I've tried changing $install_root in the file cctbx_install_script.csh, but that didn't work.
Similarly, I noticed the install_paths hard-coded into the dynamic libraries for cctbx are relative, rather than absolute like the others, for examle:
% otool -L cctbx_dmtbx_ext.so cctbx_dmtbx_ext.so: /System/Library/Frameworks/Python.framework/Versions/2.3/ Python (compatibility version 2.3.0, current version 2.3.5) lib/libboost_python.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.3.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
Is there a simple way to change that?
All the best,
Bill
William G. Scott
Associate Professor Department of Chemistry and Biochemistry and The Center for the Molecular Biology of RNA Sinsheimer Laboratories University of California at Santa Cruz Santa Cruz, California 95064 USA
_______________________________________________ cctbxbb mailing list [email protected] http://www.phenix-online.org/mailman/listinfo/cctbxbb
OK, that sounds reasonable....Why can't your script compile it, create a binary bundle, and then use that bundle in the package? That bundle is relocatable, and only relies on the setpaths.csh that is created.... You need that bit of environment variables anyway, don't you? On Tue, 27 Sep 2005, William Scott wrote:
Hi Erik:
Thanks for the quick reply.
The reason I want to do this is the following:
I've been maintaining a Debian package for ccp4 in the Fink package management system for Mac OS X for the last several years
cf: http://fink.sourceforge.net/pdb/package.php/ccp4
It works much like the Debian packaging system on Debian Linux (from which it evolved).
ccbtx is now distributed with ccp4 (starting with version 6). I'd like to include the script for installing the full ccp4 package. So far everything builds and installs fine. Everything works except for ccbtx, because if I move it from its original build location (a temporary directory), it breaks (the old path persists).
Anyway, the idea is to distribute the build script (essentially embedded unix shell scripts) rather than any code, and the user simply issues the command
fink install ccp4
and the package management system downloads ccp4, compiles and then installs everything, and sets up environment variables in such a way that everything simply works "out of the box." The install process involves building into a debian archive file, and then installing from this package. You could then in principle distribute the debian pre-compiled package, and this is done for GPL software, but the ccp4 license is such that fink cannot distribute the binaries, only the recipies for the automatic install.
So basically I need a way of compiling in /absolute/path/A and then moving to /another/absolute/path/B.
The other issue is that I need to hard-code in the DYLIB path instead of relying on an environment variable, which I am not allowed to set.
I should have confessed at the outset (and you probably guessed) that I am an luser, not a programmer. Sorry.
Thanks.
Bill Scott
On Sep 27, 2005, at 10:01 PM, Erik Mckee wrote:
If this is for binaries, there is a binary bundle functionality available. This creates a perl .selfx file which the user can put anywhere, which may be essentially what you want. Look at the libtbx.start_binary_bundle and libtbx.as_selfx commands... (I think those are the coorect ones, or at least close enough :) )
Are you needing specially made ones, or can you just use the .selfx files from the download page?
On Tue, 27 Sep 2005, William Scott wrote:
Dear Ralf:
Sorry to keep pestering you. I'm now trying to build debian packages, which means the build directory differs from the install directory.
Because of this, a lot of the shell scripts, python scripts, and compiled binaries in cctbx have a path like /sw/src/fink.build/ ccp4-5.99.3-1/ccp4-5.99.3 hard-coded into them, and I'd like the final one to look like /sw/share/xtal/ccp4-5.99.3 (for example). Similarly for Debian linux. Is there a simple way to build in one directory but use the final install-path for configuring?
I've tried changing $install_root in the file cctbx_install_script.csh, but that didn't work.
Similarly, I noticed the install_paths hard-coded into the dynamic libraries for cctbx are relative, rather than absolute like the others, for examle:
% otool -L cctbx_dmtbx_ext.so cctbx_dmtbx_ext.so: /System/Library/Frameworks/Python.framework/Versions/2.3/ Python (compatibility version 2.3.0, current version 2.3.5) lib/libboost_python.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.3.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
Is there a simple way to change that?
All the best,
Bill
William G. Scott
Associate Professor Department of Chemistry and Biochemistry and The Center for the Molecular Biology of RNA Sinsheimer Laboratories University of California at Santa Cruz Santa Cruz, California 95064 USA
_______________________________________________ cctbxbb mailing list [email protected] http://www.phenix-online.org/mailman/listinfo/cctbxbb
participants (2)
-
Erik Mckee
-
William Scott