[GenABEL-dev] ProbABEL autotools integration branch in SVN

L.C. Karssen l.karssen at erasmusmc.nl
Mon Aug 1 14:58:25 CEST 2011


On ma, 2011-08-01 at 12:59 +0200, Yury Aulchenko wrote:

> 
> Did run into this problem after upgrading to Mac OS X Lion (which messed up and Latex does not work anymore)
> 
> ./configure worked like magic -- amazing to see ProbABEL doing this!

I know :-). I had the same feeling.

> 
> ./make resulted in 
> ...
> g++ -DCOXPH -I ../src/include -g -O2   -o pacoxph pacoxph-coxfit2.o pacoxph-chinv2.o pacoxph-cholesky2.o pacoxph-chsolve2.o pacoxph-dmatrix.o pacoxph-main.o pacoxph-AbstractMatrix.o pacoxph-CastUtils.o pacoxph-convert_util.o pacoxph-FileVector.o pacoxph-FilteredMatrix.o pacoxph-frutil.o pacoxph-Logger.o pacoxph-RealHandlerWrapper.o pacoxph-ReusableFileHandle.o pacoxph-Transposer.o    
> make[1]: *** No rule to make target `doc/ProbABEL_manual.pdf', needed by `all-am'.  Stop.
> make: *** [all-recursive] Error 1
> 
> I coud not figure out how to solve this without installing latex -- at
> least not within 30 minutes. My conclusion -- for many people this may
> be a problem. Installing LaTex now :)

Indeed. Same here, only with LaTeX installed can the docs be created. 

> 
> So, what we do? I would indeed think of keeping PDF in the SVN/source
> distrib + remove building pdf's by default. May be best solution would
> be to introduce an option
> 
> ./configure --compile-doc [default --no-compile-doc]

I'm still thinking about Rob Hooft's remark in his e-mail of last
Wednesday: 
"Would it be an idea to let the rules fail "gracefully" if the "latex"
command is not found, and suggest people to either install it or get
the manual from a fixed web address if they need it?"

Maybe we can tell ./configure to test for LaTeX and change the
Makefile.in file accordingly. The, if LaTeX is present we build the
docs, otherwise we don't.

I'm also wondering how much of a problem this really is. Most people
will build from the tar.gz file we distribute. In the present setup such
a tar.gz will contain the PDF file (because we force the maintainer that
runs make distcheck to have LaTeX). And since the maintainer should
maintain the manual as well, it makes sense for him/her to have LaTeX
installed. 

> 
> other very useful option would be to specify where to "make install"
> -- e.g. if I do not have root permissions, and what to install to
> ~/bin, the only option I can see for the moment is manually copying
> binaries after "make".

It's simple, with configure you can change all that:
./configure --prefix=/tmp/PA 
will install the binaries in /tmp/PA/bin, the probabel_config.cfg
in /tmp/PA/etc, the examples in /tmp/PA/share/ProbABEL/examples and the
docs in /tmp/PA/share/doc/probabel.
Type ./configure --help for more options. For example if you want the
everything to install in the normal directories (/usr/local/) but the
probabel_config.cfg in /home/etc, you can specify ./configure
--sysconfdir=/home/etc (note: I haven't tested this...)


One thing I've been wondering about: at the moment make install simply
overwrites the probabel_config.cfg file. If the user spent time to set
up the config file, that's not nice. Ideally I'd like make (or probably
the program /usr/bin/install that's used to install the files) to check
whether a previous version exists. If so, it should copy the config file
with a different name. 
Or should we leave this kind of nice check of changed config files to
package managers like apt, yum, installpkg, etc.?


> 
> ?? Would that be easy ? I must admit I was terrified trying to
> understand how autoconf works on a short notice. 
> 
> Lennart, would you have a suggestion for good (short) overview of
> autotools?

I've got a few websites that I've used myself in the process of
understanding it all, but basically it involved reading parts of the
automake manual (http://sources.redhat.com/automake/automake.html,
especially chapter 2, section 2.4 has a nice hello world example) after
getting the general idea from the following sites:
- http://mij.oltrelinux.com/devel/autoconf-automake/
- http://en.wikipedia.org/wiki/Automake
- http://www.bioinf.uni-freiburg.de/~mmann/HowTo/automake.html
- http://www.gnu.org/software/autoconf/manual/autoconf.html


Best regards,

Lennart.

> 
> best wishes,
> Yurii

-- 
-----------------------------------------------
L.C. Karssen
Erasmus MC
Department of Epidemiology
Room Ee2224

Postbus 2040
3000 CA Rotterdam
The Netherlands

phone: +31-10-7044217
fax: +31-10-7044657
email: l.karssen at erasmusmc.nl
GPG key ID: 0E1D39E3
-----------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.r-forge.r-project.org/pipermail/genabel-devel/attachments/20110801/40049ea3/attachment.pgp>


More information about the genabel-devel mailing list