From lennart at karssen.org Fri Oct 17 16:54:29 2014 From: lennart at karssen.org (L.C. Karssen) Date: Fri, 17 Oct 2014 16:54:29 +0200 Subject: [GenABEL-dev] ProbABEL: mmscore and interaction Message-ID: <54412DA5.2070309@karssen.org> Dear list, There is a question on the forum [1] that I'm not sure how to answer. The user wants to run mmscore and test for interactions. There is nothing in ProbABEL that prevents her from doing that. However, in the manual we state: "Though technically --mmscore allows for inclusion of multiple covariates, these should be kept to minimum as this is a score test. We suggest that any covariates explaining an essential proportion of variance should be fit as part of GenABEL?s polygenic procedure." Does this also apply for interactions between SNP and a covariate? If so we should produce an error message when both options are specified. What is the proper way to deal with interactions and mmscore? Best, Lennart. [1] http://forum.genabel.org/viewtopic.php?f=10&t=896 -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From m.v.struchalin at mail.ru Sat Oct 18 03:13:01 2014 From: m.v.struchalin at mail.ru (Maksim Struchalin) Date: Sat, 18 Oct 2014 08:13:01 +0700 Subject: [GenABEL-dev] ProbABEL: mmscore and interaction In-Reply-To: <54412DA5.2070309@karssen.org> References: <54412DA5.2070309@karssen.org> Message-ID: <5441BE9D.7010904@mail.ru> Hi Lennart, If ProbABEL is using the same 'two steps score test' as it was in the first version (section 'Two-step score test for association' in ProbABEL paper http://www.biomedcentral.com/1471-2105/11/134) then, I guess, the GxE term can be included in the model and run in mmscore. It only should be assured that the interaction term goes to the second step (run the model trait_residuals ~ snp + snp*E in mmscore). Otherwise, it may results in false positives. Actually, in the first paragraph of section 'Two-step score test for association' of ProbABEL paper, it is written that "design matrix may include not only the main SNP effect, but e.g. SNP by environment interaction terms". So, I would include it and look what will happen. P.S. IMHO it is interesting to run this scenario briefly in a small simulation study. Best, Maksim On 17/10/2014 21:54, L.C. Karssen wrote: > Dear list, > > There is a question on the forum [1] that I'm not sure how to answer. > The user wants to run mmscore and test for interactions. There is > nothing in ProbABEL that prevents her from doing that. However, in the > manual we state: > > "Though technically --mmscore allows for inclusion of multiple > covariates, these should be kept to minimum as this is a score test. We > suggest that any covariates explaining an essential proportion of > variance should be fit as part of GenABEL's polygenic procedure." > > Does this also apply for interactions between SNP and a covariate? If so > we should produce an error message when both options are specified. > > > What is the proper way to deal with interactions and mmscore? > > > Best, > > Lennart. > > > [1] http://forum.genabel.org/viewtopic.php?f=10&t=896 > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From nicola.pirastu at burlo.trieste.it Sat Oct 18 07:58:24 2014 From: nicola.pirastu at burlo.trieste.it (Pirastu Nicola) Date: Sat, 18 Oct 2014 05:58:24 +0000 Subject: [GenABEL-dev] ProbABEL: mmscore and interaction In-Reply-To: <5441BE9D.7010904@mail.ru> References: <54412DA5.2070309@karssen.org> <5441BE9D.7010904@mail.ru> Message-ID: <8467A60D-6B6C-4A65-A3D1-C8C3443426C1@burlo.trieste.it> Hi, I?ve come up with this in the past before and the main problem with ProbABEL and interactions is that you should use the ?robust? standard errors with mmscore which is not possible with ProbABEL. This leads from what I?ve seen to a lot of p-value inflation and as Maksim was saying a lot of false positives. In the end we had to use MixABEL which deals correctly with this. You may want to update ProbABEL in this sense. Best. Nicola Il giorno 18/ott/2014, alle ore 03:13, Maksim Struchalin > ha scritto: Hi Lennart, If ProbABEL is using the same 'two steps score test' as it was in the first version (section 'Two-step score test for association' in ProbABEL paper http://www.biomedcentral.com/1471-2105/11/134) then, I guess, the GxE term can be included in the model and run in mmscore. It only should be assured that the interaction term goes to the second step (run the model trait_residuals ~ snp + snp*E in mmscore). Otherwise, it may results in false positives. Actually, in the first paragraph of section 'Two-step score test for association' of ProbABEL paper, it is written that "design matrix may include not only the main SNP effect, but e.g. SNP by environment interaction terms". So, I would include it and look what will happen. P.S. IMHO it is interesting to run this scenario briefly in a small simulation study. Best, Maksim On 17/10/2014 21:54, L.C. Karssen wrote: Dear list, There is a question on the forum [1] that I'm not sure how to answer. The user wants to run mmscore and test for interactions. There is nothing in ProbABEL that prevents her from doing that. However, in the manual we state: "Though technically --mmscore allows for inclusion of multiple covariates, these should be kept to minimum as this is a score test. We suggest that any covariates explaining an essential proportion of variance should be fit as part of GenABEL?s polygenic procedure." Does this also apply for interactions between SNP and a covariate? If so we should produce an error message when both options are specified. What is the proper way to deal with interactions and mmscore? Best, Lennart. [1] http://forum.genabel.org/viewtopic.php?f=10&t=896 _______________________________________________ genabel-devel mailing list genabel-devel at lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel _______________________________________________ genabel-devel mailing list genabel-devel at lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel AVVISO DI RISERVATEZZA Informazioni riservate possono essere contenute nel messaggio o nei suoi allegati. Se non siete i destinatari indicati nel messaggio, o responsabili per la sua consegna alla persona, o se avete ricevuto il messaggio per errore, siete pregati di non trascriverlo, copiarlo o inviarlo a nessuno. In tal caso vi invitiamo a cancellare il messaggio ed i suoi allegati. Grazie. CONFIDENTIALITY NOTICE Confidential information may be contained in this message or in its attachments. If you are not the addressee indicated in this message, or responsible for message delivering to that person, or if you have received this message in error, you may not transcribe, copy or deliver this message to anyone. In that case, you should delete this message and its attachments. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From lennart at karssen.org Sun Oct 19 21:08:00 2014 From: lennart at karssen.org (L.C. Karssen) Date: Sun, 19 Oct 2014 21:08:00 +0200 Subject: [GenABEL-dev] ProbABEL: mmscore and interaction In-Reply-To: <5441BE9D.7010904@mail.ru> References: <54412DA5.2070309@karssen.org> <5441BE9D.7010904@mail.ru> Message-ID: <54440C10.5010208@karssen.org> Hi Maksim, On 18-10-14 03:13, Maksim Struchalin wrote: > Hi Lennart, > > If ProbABEL is using the same 'two steps score test' as it was in the > first version (section 'Two-step score test for association' in ProbABEL > paper http://www.biomedcentral.com/1471-2105/11/134) Yes it does. Nothing was changed there. > then, I guess, the > GxE term can be included in the model and run in mmscore. It only should > be assured that the interaction term goes to the second step (run the > model trait_residuals ~ snp + snp*E in mmscore). Otherwise, it may > results in false positives. > > Actually, in the first paragraph of section 'Two-step score test for > association' of ProbABEL paper, it is written that "design matrix may > include not only the main SNP effect, but e.g. SNP by environment > interaction terms". So, I would include it and look what will happen. > Thanks! I'll have a look. > P.S. IMHO it is interesting to run this scenario briefly in a small > simulation study. Good suggestion. I hope to have some time for that. Best, Lennart. > > Best, > Maksim > > > > On 17/10/2014 21:54, L.C. Karssen wrote: >> Dear list, >> >> There is a question on the forum [1] that I'm not sure how to answer. >> The user wants to run mmscore and test for interactions. There is >> nothing in ProbABEL that prevents her from doing that. However, in the >> manual we state: >> >> "Though technically --mmscore allows for inclusion of multiple >> covariates, these should be kept to minimum as this is a score test. We >> suggest that any covariates explaining an essential proportion of >> variance should be fit as part of GenABEL?s polygenic procedure." >> >> Does this also apply for interactions between SNP and a covariate? If so >> we should produce an error message when both options are specified. >> >> >> What is the proper way to deal with interactions and mmscore? >> >> >> Best, >> >> Lennart. >> >> >> [1] http://forum.genabel.org/viewtopic.php?f=10&t=896 >> >> >> _______________________________________________ >> genabel-devel mailing list >> genabel-devel at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From yurii.aulchenko at gmail.com Sun Oct 19 22:47:46 2014 From: yurii.aulchenko at gmail.com (Yury Aulchenko) Date: Sun, 19 Oct 2014 20:47:46 -0000 Subject: [GenABEL-dev] ProbABEL: mmscore and interaction In-Reply-To: <54440C10.5010208@karssen.org> References: <54440C10.5010208@karssen.org> <54412DA5.2070309@karssen.org> <5441BE9D.7010904@mail.ru> Message-ID: What I remember for sure is that pre-adjusting for the interaction covariate and using "interaction-only" leads to deflated stats. So, this is not right way. If I remember correctly the best way is to include the interaction covariate in polygenic and then also keeping it in the design matrix when running mmscore. Yurii Yurii Aulchenko "L.C. Karssen" wrote: Hi Maksim, ? ? ? On 18-10-14 03:13, Maksim Struchalin wrote: > Hi Lennart, > > If ProbABEL is using the same 'two steps score test' as it was in the > first version (section 'Two-step score test for association' in ProbABEL > paper http://www.biomedcentral.com/1471-2105/11/134) ? Yes it does. Nothing was changed there. ? >??then, I guess, the > GxE term can be included in the model and run in mmscore. It only should > be assured that the interaction term goes to the second step (run the > model trait_residuals ~ snp + snp*E in mmscore). Otherwise, it may > results in false positives. > > Actually, in the first paragraph of section 'Two-step score test for > association' of ProbABEL paper, it is written that "design matrix may > include not only the main SNP effect, but e.g. SNP by environment > interaction terms". So, I would include it and look what will happen. > ? Thanks! I'll have a look. ? > P.S. IMHO it is interesting to run this scenario briefly in a small > simulation study. ? ? Good suggestion. I hope to have some time for that. ? ? Best, ? Lennart. ? > > Best, > Maksim > > > > On 17/10/2014 21:54, L.C. Karssen wrote: >> Dear list, >> >> There is a question on the forum [1] that I'm not sure how to answer. >> The user wants to run mmscore and test for interactions. There is >> nothing in ProbABEL that prevents her from doing that. However, in the >> manual we state: >> >> "Though technically --mmscore allows for inclusion of multiple >> covariates, these should be kept to minimum as this is a score test. We >> suggest that any covariates explaining an essential proportion of >> variance should be fit as part of GenABEL?s polygenic procedure." >> >> Does this also apply for interactions between SNP and a covariate? If so >> we should produce an error message when both options are specified. >> >> >> What is the proper way to deal with interactions and mmscore? >> >> >> Best, >> >> Lennart. >> >> >> [1] http://forum.genabel.org/viewtopic.php?f=10&t=896 >> >> >> _______________________________________________ >> genabel-devel mailing list >> genabel-devel at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > ? -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands ? lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- An HTML attachment was scrubbed... URL: From lennart at karssen.org Sun Oct 19 22:57:47 2014 From: lennart at karssen.org (L.C. Karssen) Date: Sun, 19 Oct 2014 22:57:47 +0200 Subject: [GenABEL-dev] ProbABEL: mmscore and interaction In-Reply-To: <8467A60D-6B6C-4A65-A3D1-C8C3443426C1@burlo.trieste.it> References: <54412DA5.2070309@karssen.org> <5441BE9D.7010904@mail.ru> <8467A60D-6B6C-4A65-A3D1-C8C3443426C1@burlo.trieste.it> Message-ID: <544425CB.2090409@karssen.org> Hi Nicola, On 18-10-14 07:58, Pirastu Nicola wrote: > Hi, > > I?ve come up with this in the past before and the main problem with > ProbABEL and interactions is that you should use the ?robust? standard > errors with mmscore which is not possible with ProbABEL. This leads from > what I?ve seen to a lot of p-value inflation and as Maksim was saying a > lot of false positives. In the end we had to use MixABEL which deals > correctly with this. You may want to update ProbABEL in this sense. > Ah, robust SEs... I don't remember of the top of my head if we allow that option together with mmscore. I'll have a look. Thanks, Lennart. > Best. > > Nicola > > > Il giorno 18/ott/2014, alle ore 03:13, Maksim Struchalin > > ha scritto: > >> Hi Lennart, >> >> If ProbABEL is using the same 'two steps score test' as it was in the >> first version (section 'Two-step score test for association' in >> ProbABEL paper http://www.biomedcentral.com/1471-2105/11/134) then, I >> guess, the GxE term can be included in the model and run in mmscore. >> It only should be assured that the interaction term goes to the second >> step (run the model trait_residuals ~ snp + snp*E in mmscore). >> Otherwise, it may results in false positives. >> >> Actually, in the first paragraph of section 'Two-step score test for >> association' of ProbABEL paper, it is written that "design matrix may >> include not only the main SNP effect, but e.g. SNP by environment >> interaction terms". So, I would include it and look what will happen. >> >> P.S. IMHO it is interesting to run this scenario briefly in a small >> simulation study. >> >> Best, >> Maksim >> >> >> >> On 17/10/2014 21:54, L.C. Karssen wrote: >>> Dear list, >>> >>> There is a question on the forum [1] that I'm not sure how to answer. >>> The user wants to run mmscore and test for interactions. There is >>> nothing in ProbABEL that prevents her from doing that. However, in the >>> manual we state: >>> >>> "Though technically --mmscore allows for inclusion of multiple >>> covariates, these should be kept to minimum as this is a score test. We >>> suggest that any covariates explaining an essential proportion of >>> variance should be fit as part of GenABEL?s polygenic procedure." >>> >>> Does this also apply for interactions between SNP and a covariate? If so >>> we should produce an error message when both options are specified. >>> >>> >>> What is the proper way to deal with interactions and mmscore? >>> >>> >>> Best, >>> >>> Lennart. >>> >>> >>> [1] http://forum.genabel.org/viewtopic.php?f=10&t=896 >>> >>> >>> _______________________________________________ >>> genabel-devel mailing list >>> genabel-devel at lists.r-forge.r-project.org >>> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel >> >> _______________________________________________ >> genabel-devel mailing list >> genabel-devel at lists.r-forge.r-project.org >> >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > > AVVISO DI RISERVATEZZA Informazioni riservate possono essere contenute > nel messaggio o nei suoi allegati. Se non siete i destinatari indicati > nel messaggio, o responsabili per la sua consegna alla persona, o se > avete ricevuto il messaggio per errore, siete pregati di non > trascriverlo, copiarlo o inviarlo a nessuno. In tal caso vi invitiamo a > cancellare il messaggio ed i suoi allegati. Grazie. CONFIDENTIALITY > NOTICE Confidential information may be contained in this message or in > its attachments. If you are not the addressee indicated in this message, > or responsible for message delivering to that person, or if you have > received this message in error, you may not transcribe, copy or deliver > this message to anyone. In that case, you should delete this message and > its attachments. Thank you. > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Tue Oct 21 14:47:28 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Tue, 21 Oct 2014 12:47:28 +0000 Subject: [GenABEL-dev] ssh repo Message-ID: <244CF001646FF74FB34F372310A332C5084088D4@MBX-S2.rwth-ad.de> Is something wrong with the svn repository? Commit failed and received: svn: E210002: Commit failed (details follow): svn: E210002: Unable to connect to a repository at URL 'svn+ssh://afrank at svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM' svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file. svn: E210002: Network connection closed unexpectedly -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From lennart at karssen.org Tue Oct 21 15:23:41 2014 From: lennart at karssen.org (L.C. Karssen) Date: Tue, 21 Oct 2014 15:23:41 +0200 Subject: [GenABEL-dev] ssh repo In-Reply-To: <244CF001646FF74FB34F372310A332C5084088D4@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C5084088D4@MBX-S2.rwth-ad.de> Message-ID: <54465E5D.7090800@karssen.org> Hi Alvaro, On 21-10-14 14:47, Frank, Alvaro Jesus wrote: > Is something wrong with the svn repository? > Commit failed and received: > svn: E210002: Commit failed (details follow): > svn: E210002: Unable to connect to a repository at URL 'svn+ssh://afrank at svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM' > svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file. > svn: E210002: Network connection closed unexpectedly I just ran 'svn update' on my checked-out copy and that seems to work. Do you still have connection problems? Best, Lennart. > > -Alvaro > > > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Tue Oct 21 16:01:35 2014 From: lennart at karssen.org (L.C. Karssen) Date: Tue, 21 Oct 2014 16:01:35 +0200 Subject: [GenABEL-dev] [Genabel-commits] r1837 - in pkg/OmicABELnoMM: . examples src tests In-Reply-To: <20141021133018.1FD73187260@r-forge.r-project.org> References: <20141021133018.1FD73187260@r-forge.r-project.org> Message-ID: <5446673F.6020102@karssen.org> Hi Alvaro, On 21-10-14 15:30, noreply at r-forge.r-project.org wrote: > Author: afrank > Date: 2014-10-21 15:30:17 +0200 (Tue, 21 Oct 2014) > New Revision: 1837 > > Modified: > pkg/OmicABELnoMM/ChangeLog > pkg/OmicABELnoMM/configure.ac > pkg/OmicABELnoMM/examples/CreateData.R > pkg/OmicABELnoMM/src/AIOwrapper.cpp > pkg/OmicABELnoMM/src/AIOwrapper.h > pkg/OmicABELnoMM/src/Algorithm.cpp > pkg/OmicABELnoMM/src/Definitions.h > pkg/OmicABELnoMM/src/main.cpp > pkg/OmicABELnoMM/tests/test.cpp > Log: > Added check for rank of covariate matrix to avoid miss-calculations > of results when covariates are linearly dependent. An error is given and > the program is exited while letting the user know that covariates need > to change. Added MPI functionality for clusters. Screen output happens > on process 0 and multiple output files are produced, one per process. That is cool news! Glad to have MPI functionality in OAnoMM. Please also have a look at the comments below. Thanks, Lennart. > > Modified: pkg/OmicABELnoMM/ChangeLog > =================================================================== > --- pkg/OmicABELnoMM/ChangeLog 2014-10-17 14:57:34 UTC (rev 1836) > +++ pkg/OmicABELnoMM/ChangeLog 2014-10-21 13:30:17 UTC (rev 1837) > @@ -3,7 +3,6 @@ > --------- > Required Features: > -Add support for multiple files > --Add MPI suport > > Optional Features: > -Add exclusion lists for single sets of elements of phenotypes > @@ -13,6 +12,17 @@ > ------------- > ------------- > > +21-10-2014 > +-------------- > +svn commit -m "Added check for rank of covariate matrix to avoid miss-calculations of results when covariates are linearly dependent. An error is given and the program is exited while letting the user know that covariates need to change. Added MPI functionality for clusters. Screen output happens on process 0 and multiple output files are produced, one per process." > +Added check for rank of covariate matrix to avoid miss-calculations of > +results when covariates are linearly dependent. > +An error is given and the program is exited while > + letting the user know that covariates need to change. > +Added MPI functionality for clusters. > +Screen output happens on process 0 > +and multiple output files are produced, one per process. > + > 8-10-2014 > -------------- > > > Modified: pkg/OmicABELnoMM/configure.ac > =================================================================== > --- pkg/OmicABELnoMM/configure.ac 2014-10-17 14:57:34 UTC (rev 1836) > +++ pkg/OmicABELnoMM/configure.ac 2014-10-21 13:30:17 UTC (rev 1837) > @@ -32,15 +32,17 @@ > # with its own defaults > > # Checks for programs. > -AC_PROG_CC > -AC_PROG_CXX > +#AC_PROG_CC > +#AC_PROG_CXX > +AC_PROG_CXX([mpic++ mpicxx]) > > + > # Check for openMP. If found the OPENMP_CXXFLAGS is set automatically > AC_OPENMP > AC_SUBST(AM_CXXFLAGS, "$OPENMP_CFLAGS") > > #AM_CXXFLAGS="-static -g -ggdb -I../libs/include -I./libs/include $AM_CXXFLAGS" > -AM_CXXFLAGS="-static -std=c++11 -O3 -I../libs/include -I./libs/include $AM_CXXFLAGS" > +AM_CXXFLAGS=" -std=c++11 -O3 -I../libs/include -I./libs/include $AM_CXXFLAGS" > # Checks for libraries. > # pthread library > AC_SEARCH_LIBS([pthread_mutex_init], [pthread], [], > > Modified: pkg/OmicABELnoMM/examples/CreateData.R > =================================================================== > --- pkg/OmicABELnoMM/examples/CreateData.R 2014-10-17 14:57:34 UTC (rev 1836) > +++ pkg/OmicABELnoMM/examples/CreateData.R 2014-10-21 13:30:17 UTC (rev 1837) > @@ -2,11 +2,11 @@ > > library(DatABEL) > > -n = 4000 # number of individuals > +n = 2000 # number of individuals > l = 3 # number of covariates+1 for intercept > int = 3 > r = 2 > -m = r*1000 # number of snps > +m = r*100000 # number of snps > t = 10000 # number of traits > var=0.05 > > > Modified: pkg/OmicABELnoMM/src/AIOwrapper.cpp > =================================================================== > --- pkg/OmicABELnoMM/src/AIOwrapper.cpp 2014-10-17 14:57:34 UTC (rev 1836) > +++ pkg/OmicABELnoMM/src/AIOwrapper.cpp 2014-10-21 13:30:17 UTC (rev 1837) > @@ -45,7 +45,10 @@ > Fhandler->dosage_skip = 0; > Fhandler->fileR = 0; > Fhandler->add_dosages = false; > + Fhandler->initial_file_pos = 0; > + Fhandler->mpi_id = params.mpi_id; > > + int ar_names_toskip = 0; > > > if(!Fhandler->fakefiles) > @@ -82,9 +85,32 @@ > Fhandler->fileN = params.n; > realN = params.n; > > - > params.m = min((int)(ARfvi->fvi_header.numVariables/params.r),params.limit_m/params.r); > > + if(params.mpi_num_threads > 1 && params.m >= params.mpi_num_threads) > + { > + int m_mpi = params.m/params.mpi_num_threads; > + ar_names_toskip = m_mpi; > + Fhandler->initial_file_pos = (m_mpi*params.mpi_id) * params.r * params.n; > + //cout << Fhandler->initial_file_pos << endl; > + //corner case for non whole divisions of data among mpi procs > + if((params.mpi_num_threads-1) == params.mpi_id) > + { > + //portion+rest > + params.m = m_mpi + (params.m-params.mpi_num_threads* m_mpi); > + } > + else > + { > + params.m = m_mpi; > + } > + > + Fhandler->fnameOutFiles += "_mpi"; > + Fhandler->fnameOutFiles += std::to_string(params.mpi_id+1); > + Fhandler->fnameOutFiles += "_"; > + } > + > + > + > #ifdef DEBUG > cout << "calcM:" << params.m << endl; > #endif > @@ -120,16 +146,19 @@ > ARidName = string(&(ARfvi->fvi_data[yname_idx])); > if(YidNames.compare(ALidName)) > { The if statements below are a pain to my eyes :-). Due to the formatting (missing indentation and/or missing curly braces) it gives the impression that both the cout and the i = statement are carried out if the condition is true (or maybe even that nothing happens in the if-statement if you take the lack of indentation seriously). At the very least I would indent the cout statement, but given that it is a long line anyway (which are best avoided), I would add {}s and break the cout statement over multiple lines. > + if(params.mpi_id == 0) > cout << "Warning, ID names between -p file and -c file do not coincide! The files must have the same meaningful order" << endl; > i = params.n;//exit > } > if(YidNames.compare(ARidName)) > { > + if(params.mpi_id == 0) > cout << "Warning, ID names between -p file and -g file do not coincide! The files must have the same meaningful order" << endl; > i = params.n;//exit > } > if(ARidName.compare(ALidName)) > { > + if(params.mpi_id == 0) > cout << "Warning, ID names between -g file and -c file do not coincide! The files must have the same meaningful order" << endl; > i = params.n;//exit > } > @@ -203,9 +232,7 @@ > > if(!Fhandler->fakefiles) > { > - > removeALmissings(Fhandler->excl_List,params,Almissings); > - > } > > > @@ -319,6 +346,7 @@ > string INTidName = string(&(Ifvi->fvi_data[name_idx])); > if(ARidName.compare(INTidName)) > { See note about if statements above. > + if(params.mpi_id == 0) > cout << "Warning, ID names between -g file and interactions file do not coincide! The files must have the same meaningful order!" << endl; > i = params.n;//exit > } > @@ -433,7 +461,7 @@ > } > } > } > - if(interaction_missings) This if statement is indented as it should be, although I would prefer breaking the long line. > + if(interaction_missings && params.mpi_id == 0) > cout << "Excluding " << interaction_missings << " from Interaction missings" << endl; > #ifdef DEBUG > cout << params.mb << " " << params.r << " " << params.m << endl; > @@ -462,6 +490,7 @@ > //!******nameGATHER**************** > > int Aname_idx=Fhandler->fileN*ARfvi->fvi_header.namelength;//skip the names of the rows > + Aname_idx += ARfvi->fvi_header.namelength*Fhandler->fileR*params.mpi_id*ar_names_toskip; // skipnot mine according to mpi > if(Fhandler->use_dosages && Fhandler->add_dosages) > { > for(int i = 0; i < Fhandler->fileM; i++) > @@ -563,8 +592,11 @@ > > if(params.l > 255 || params.p > 255 || params.n > 65535)//can remove if fixed for output files > { > + if(params.mpi_id == 0) > + { > cout << "Warning, output binary format does not yet support current problem sizes for the provided p, l, r and n." << endl; > cout << "Omitting outputfile." << endl; > + } > } > > if(params.storeBin) > @@ -770,9 +802,15 @@ > ofstream fp_allResults; > > int y_file_pos = 0; > - int ar_file_pos = 0; > > + int initial_file_pos = Fhandler->initial_file_pos; > > + int ar_file_pos = initial_file_pos; > + > + > + > + > + > int seq_count; > int max_secuential_write_count= 10; > > @@ -1028,12 +1066,12 @@ > > if(Fhandler->fakefiles) > { > - fp_Ar.seekg ( 0 , ios::beg ); > - fp_Ar.read ((char*)tobeFilled->buff,sizeof(type_precision)*size_buff); > +// fp_Ar.seekg ( 0 , ios::beg ); > +// fp_Ar.read ((char*)tobeFilled->buff,sizeof(type_precision)*size_buff); > +// > +// re_random_vec(tobeFilled->buff , Fhandler->n * tmp_ar_blockSize*Fhandler->r ); > +// re_random_vec_nan(tobeFilled->buff , Fhandler->n * tmp_ar_blockSize*Fhandler->r ); > > - re_random_vec(tobeFilled->buff , Fhandler->n * tmp_ar_blockSize*Fhandler->r ); > - re_random_vec_nan(tobeFilled->buff , Fhandler->n * tmp_ar_blockSize*Fhandler->r ); > - > } > else > { > @@ -1220,8 +1258,8 @@ > if(Fhandler->Ar_to_readSize <= 0) > { > Fhandler->Ar_to_readSize = Fhandler->Ar_Amount; > - ar_file_pos = 0; > - fp_Ar.seekg(0, ios::beg); > + ar_file_pos = initial_file_pos; > + fp_Ar.seekg(ar_file_pos, ios::beg); > > if(fp_Ar.fail()) > { > @@ -1864,7 +1902,7 @@ > } > > > - if(Almissings > 0) > + if(Almissings > 0 && (params.mpi_id == 0)) > cout << "Excluding " << Almissings << " from covariate missings" << endl; > > delete tempAL; > @@ -2067,7 +2105,8 @@ > > int first,second; > > - cout << "Excluding Ids: \n"; > + if(Fhandler->mpi_id == 0) > + cout << "Excluding Ids: \n"; > > while (std::getline(fp_exL, line) && second < n ) > { > @@ -2076,6 +2115,7 @@ > iss >> first; > > iss >> second; > + if(Fhandler->mpi_id == 0) > cout << first << "-" << second << ", "; > if(first > second) > { > @@ -2108,6 +2148,7 @@ > cout << "Total Ids: " << n << "\nExcluded Ids: " << excl_count << endl; > exit( 1 ); > } > + if(Fhandler->mpi_id == 0) > cout << "Excluded: " << excl_count << " Using: " << n-excl_count<< endl; > > > > Modified: pkg/OmicABELnoMM/src/AIOwrapper.h > =================================================================== > --- pkg/OmicABELnoMM/src/AIOwrapper.h 2014-10-17 14:57:34 UTC (rev 1836) > +++ pkg/OmicABELnoMM/src/AIOwrapper.h 2014-10-21 13:30:17 UTC (rev 1837) > @@ -37,8 +37,10 @@ > string fnameOutFiles; > string fname_dosages; > > + int mpi_id; > > > + > list< pair >* excl_List; > > > @@ -74,6 +76,9 @@ > queue ar_empty_buffers; > queue ar_full_buffers; > > + //MPI related vars > + int initial_file_pos; > + > int index; > int fileN; > int fileR; > @@ -198,6 +203,7 @@ > int realN; > > > + > protected: > > private: > > Modified: pkg/OmicABELnoMM/src/Algorithm.cpp > =================================================================== > --- pkg/OmicABELnoMM/src/Algorithm.cpp 2014-10-17 14:57:34 UTC (rev 1836) > +++ pkg/OmicABELnoMM/src/Algorithm.cpp 2014-10-21 13:30:17 UTC (rev 1837) > @@ -401,6 +401,8 @@ > params.threads = 1; > params.r = 1; > params.model = -1; > + params.mpi_id = 0; > + params.mpi_num_threads = 1; > > params.use_interactions = false; > params.keep_depVar = false; > @@ -491,11 +493,12 @@ > > > lda = n; > - if(!params.ForceCheck ) > + if(!params.ForceCheck && params.mpi_id == 0) > { > cout << endl; > - } > - for (int j = 0; j < y_iters && !params.ForceCheck; j++) > + } > + > + for (int j = 0; j < y_iters && !params.ForceCheck && params.mpi_id == 0; j++) > { > if (!params.ForceCheck && ((y_iters < 10 && y_iters > 2 )|| (y_iters >= 10 && (j%(y_iters/10)) == 0 )) ) > { > @@ -514,7 +517,7 @@ > } > } > > - if(!params.ForceCheck) > + if(!params.ForceCheck && params.mpi_id == 0) > cout << endl; > > //add memalign > @@ -611,22 +614,52 @@ > out.acc_stl += ticks2sec(end_tick,start_tick2); > > > + //linear dep of columns check Have you ever considered using C++ vectors instead of arrays? They save you the trouble of new/delete, for example. I have no idea if there is a performance hit, however. But I can imagine that combined with iterators they may be well-optimised. Or do you simply use them because LAPACK needs arrays anyway? > + float* singular_vals = new float[l]; > + float* u = new float[n*n]; > + float* vt = new float[l*l]; > + float* superb = new float[l-1]; > +// for (int j = 0; j < n; j++) > +// { > +// AL[j] = AL[j+n]; > +// } > > > + info = LAPACKE_sgesvd(STORAGE_TYPE, 'N','N',n,l,AL,n,singular_vals,u,n,vt,l,superb);info++; > > + for (int j = 0; j < l; j++) > + { > + if(singular_vals[j] < 0.000001) > + { > + if(params.mpi_id == 0) > + { > + cout << endl; > + cout << "Error, the covariate matrix contains linearly dependent columns. Please review and change it accordingly." << singular_vals[j]; > + cout << "Make sure there are no duplciates or closesly realted covariates (complement)."; > + } > + exit(1); > + } > + } > > + delete []singular_vals; > + delete []u; > + delete []vt; > + delete []superb; > + > > > float* Y; > > - // printf("\n\n%%Computations\n%%"); > + // printf("\n\n%%Computations\n%%"); > + > + copy_vec(backupAL, AL, n*l); > > > get_ticks(start_tick); > > for (int j = 0; j < y_iters; j++) > { > - if (!params.ForceCheck && ((y_iters < 10 && y_iters > 2 )|| (y_iters >= 10 && (j%(y_iters/10)) == 0 )) ) > + if (!params.ForceCheck && params.mpi_id == 0 && ((y_iters < 10 && y_iters > 2 )|| (y_iters >= 10 && (j%(y_iters/10)) == 0 )) ) > { > cout << AIOfile.io_overhead << flush; > AIOfile.io_overhead = "*"; > @@ -685,7 +718,7 @@ > for (int i = 0; i < a_iters; i++) > { > > - if (!params.ForceCheck && y_iters <= 2 && > + if (!params.ForceCheck && y_iters <= 2 && params.mpi_id == 0 && > ( (a_iters >= 10 && (i%(a_iters/(10))) == 0) || (a_iters < (10)) )) > { > cout << AIOfile.io_overhead << flush; > > Modified: pkg/OmicABELnoMM/src/Definitions.h > =================================================================== > --- pkg/OmicABELnoMM/src/Definitions.h 2014-10-17 14:57:34 UTC (rev 1836) > +++ pkg/OmicABELnoMM/src/Definitions.h 2014-10-21 13:30:17 UTC (rev 1837) > @@ -27,7 +27,8 @@ > #include > #include > #include > -#include > +#include > +#include > > #ifdef WINDOWS > #include > @@ -170,7 +171,9 @@ > int mb; > int id; > > - int threads; > + int threads; > + int mpi_id; > + int mpi_num_threads; > > bool use_fake_files; > > > Modified: pkg/OmicABELnoMM/src/main.cpp > =================================================================== > --- pkg/OmicABELnoMM/src/main.cpp 2014-10-17 14:57:34 UTC (rev 1836) > +++ pkg/OmicABELnoMM/src/main.cpp 2014-10-21 13:30:17 UTC (rev 1837) > @@ -18,39 +18,41 @@ > -d <0.0~1.0> -r <-10.0~1.0> -b -s <0.0~1.0> -e <-10.0~1.0> -i -f"; > > string helpcmd_expl = Note that you can use the information generated by autotools for version info. If you include the config.h file that is generated you can do it like we did in ProbABEL, for example in src/usage.cpp: void print_version(void) { cout << PACKAGE << " v. " << PACKAGE_VERSION << "\n(C) Yurii Aulchenko, Lennart C. Karssen, Maarten Kooyman, " << "Maksim Struchalin, The GenABEL team, EMC Rotterdam\n\n"; cout << "Using EIGEN version " << EIGEN_WORLD_VERSION << "." << EIGEN_MAJOR_VERSION << "." << EIGEN_MINOR_VERSION << " for matrix operations\n"; } The PACKAGE and PACKAGE_VERSION variables comes from config.h, and are generated by autotools. OmicABELnoMM's src/config.h contains them as well. > -"omicabelnomm Version 0.95b \n\t\ > +"omicabelnomm Version 0.96b \n\t\ > Required: \n\t\ > --p --phe \t to the inputs containing phenotypes \n\t\ > --g --geno \t to the inputs containing genotypes \n\t\ > --c --cov \t to the inputs containing covariates \n\t\ > --o --out \t to store the output to (used for all .txt and .ibin & .dbin) \n\n\ > +-p --phe \t to the inputs containing phenotypes. \n\t\ > +-g --geno \t to the inputs containing genotypes. \n\t\ > +-c --cov \t to the inputs containing covariates. \n\t\ > +-o --out \t to store the output to (used for all .txt and .ibin & .dbin). \n\n\ > Optional: \n\t\ > --n --ngpred \t <#SNPcols> Number of columns in the geno file that represent a single SNP \n\t\ > --t --thr \t <#CPUs> Number of computing threads to use to speed computations \n\t\ > --x --excl \t file containing list of individuals to exclude from input files, (see example file) \n\t\ > +-n --ngpred \t <#SNPcols> Number of columns in the geno file that represent a single SNP. \n\t\ > +-t --thr \t <#CPUs> Number of computing threads to use to speed computations. Recommended is 4-8 per node (see MPI). \n\t\ > +-x --excl \t file containing list of individuals to exclude from input files, (see example file). \n\t\ > -d --pdisp \t <0.0~1.0> Value to use as maximum threshold for significance.\n\t\ > -\t\t Results with P-values UNDER this threshold will be displayed in the putput .txt file \n\t\ > +\t\t Results with P-values UNDER this threshold will be displayed in the putput .txt file. \n\t\ > -r --rdisp \t <-10.0~1.0> Value to use as minimum threshold for R2. \n\t\ > -\t\t Results with R2-values ABOVE this threshold will be displayed in the putput .txt file \n\t\ > --b --stobin \t Flag that forces to ALSO store results in a smaller binary format (*.ibin & *.dbin) \n\t\ > --s --psto \t <0.0~1.0> Results with P-values UNDER this threshold will be displayed in the putput binary files \n\t\ > --e --rsto \t <-10.0~1.0> Results with R2-values ABOVE this threshold will be stored in the putput binary files \n\t\ > --i --fdcov \t Flag that forces to include covariates as part of the results that are stored in .txt and binary files \n\t\ > +\t\t Results with R2-values ABOVE this threshold will be displayed in the putput .txt file. \n\t\ > +-b --stobin \t Flag that forces to ALSO store results in a smaller binary format (*.ibin & *.dbin). \n\t\ > +-s --psto \t <0.0~1.0> Results with P-values UNDER this threshold will be displayed in the putput binary files. \n\t\ > +-e --rsto \t <-10.0~1.0> Results with R2-values ABOVE this threshold will be stored in the putput binary files. \n\t\ > +-i --fdcov \t Flag that forces to include covariates (when its genotype is significant) as part of the results stored \n\t\ > -f --fdgen \t Flag that forces to consider all included results (causes the analisis to ignores ALL threshold values). \n\t\ > --j --additive \t Flag that runs the analisis with an Additive Model with (2*AA,1*AB,0*BB) effects \n\t\ > --k --dominant \t Flag that runs the analisis with an Dominant Model with (1*AA,1*AB,0*BB) effects \n\t\ > --l --recessive \t Flag that runs the analisis with an Recessive Model with (1*AA,0*AB,0*BB) effects \n\t\ > +-j --additive \t Flag that runs the analisis with an Additive Model with (2*AA,1*AB,0*BB) effects. \n\t\ > +-k --dominant \t Flag that runs the analisis with an Dominant Model with (1*AA,1*AB,0*BB) effects. \n\t\ > +-l --recessive \t Flag that runs the analisis with an Recessive Model with (1*AA,0*AB,0*BB) effects. \n\t\ > -z --mylinear \t to read Factors 'f_i' for a Custom Linear Model with f1*X1,f2*X2,f3*X3...fn*X_ngpred as effects,\n\t\ > \t each column of each independent variable will be multiplied with the specified factors. \n\t\ > - \t Formula: y~alpha*cov + beta_1*f1*X1 + beta_2*f2*X2 +...+ beta_n*fn*Xn, (see example files!) \n\t\ > + \t Formula: y~alpha*cov + beta_1*f1*X1 + beta_2*f2*X2 +...+ beta_n*fn*Xn, (see example files!). \n\t\ > -y --myaddit \t to read Factors 'f_i' for a Custom Additive Model with (f1*X1,f2*X2,f3*X3...fn*X_ngpred) as effects,\n\t\ > \t each column of each independent variable will be multiplied with the specified factors and then added together. \n\t\ > - \t Formula: y~alpha*cov + beta*(f1*X1 + f2*X2 +...+ fn*Xn), (see example files!) \n\t\ > --v --simpleinter to read the interactions from; for single analysis using multile interactions \n\t\ > --w --multinter \t to read the interactions from; for multiple analysis using single interaction per analysis \n\t\ > + \t Formula: y~alpha*cov + beta*(f1*X1 + f2*X2 +...+ fn*Xn), (see example files!). \n\t\ > +-v --simpleinter to read the interactions from; for single analysis using multile interactions. \n\t\ > +-w --multinter \t to read the interactions from; for multiple analysis using single interaction per analysis. \n\t\ > -u --keepinter \t Flag that sets if the interaction analysis chose is to too keep the dependent variable X.\n\t\ > - \t If set, Formula: y~alpha*cov + beta_1*INT*X + beta_2*X, (see example files!) \n\t\ > - \t Default not set, Formula: y~alpha*cov + beta_1*INT*X, (see example files!) \n\t\ > + \t If set, Formula: y~alpha*cov + beta_1*INT*X + beta_2*X, (see example files!). \n\t\ > + \t Default not set, Formula: y~alpha*cov + beta_1*INT*X, (see example files!). \n\t\n\t\ > + \t Support for MPI is available. Simply use mpirun -np <#nodes> omicabelnomm on an Open-MPI enabled computer/cluster.\n\t\ > + \t Recommended is to use MPI when dealing with problems with over 2000 genotypes, at a rate of 1 node per 2000 genotypes.\n\t\ > "; > > > @@ -128,7 +130,8 @@ > break; > > if (!optarg && (c != 'f' && c != 'b' && c != 'i' && c != 'h')) > - { > + { Below are a couple of confusing if statement again. > + if(params.mpi_id == 0) > cout << "\nerror with argument parameter " << (char)c << endl; > exit(1); > } > @@ -152,7 +155,7 @@ > pos = string(optarg).find("."); > if (pos != string::npos) > params.fnameY = string(optarg).substr(0, pos); > - > + if(params.mpi_id == 0) > cout << "-p Reading phenotypes from file " << optarg << endl; > break; > > @@ -163,13 +166,14 @@ > pos = string(optarg).find("."); > if (pos != string::npos) > params.fnameAR = string(optarg).substr(0, pos); > - > + if(params.mpi_id == 0) > cout << "-g Reading with genotype data from file " << optarg << endl; > break; > > case 'n': > params.r = atoi(optarg); > - params.r = max(params.r, 1); > + params.r = max(params.r, 1); > + if(params.mpi_id == 0) > cout << "-n Using columns per snp as " << params.r << endl; > break; > > @@ -180,7 +184,7 @@ > pos = string(optarg).find("."); > if (pos != string::npos) > params.fnameAL = string(optarg).substr(0, pos); > - > + if(params.mpi_id == 0) > cout << "-c Reading covariates from file " << optarg << endl; > break; > > @@ -191,98 +195,99 @@ > pos = string(optarg).find("."); > if (pos != string::npos) > params.fnameOutFiles = string(optarg).substr(0, pos); > - > + if(params.mpi_id == 0) > cout << "-o Writing output files to " << optarg << endl; > break; > > case 't': > params.threads = atoi(optarg); > - params.threads = min(max(params.threads, 1), 32); > + params.threads = min(max(params.threads, 1), 32); > + if(params.mpi_id == 0) > cout << "-t Using " << params.threads << " CPU threads for parallelism" << endl; > break; > > case 'x': > params.fname_excludelist = string(optarg); > - > + if(params.mpi_id == 0) > cout << "-x Excluding ids on " << params.fname_excludelist << endl; > break; > > > case 'd': > params.minPdisp = fabs(atof(optarg)); > - > + if(params.mpi_id == 0) > cout << "-d Significance to display in .txt will be P-val's below " << params.minPdisp << endl; > break; > > case 's': > params.minPstore = fabs(atof(optarg)); > - > + if(params.mpi_id == 0) > cout << "-s Significance to store in .bin will be P-val's below " << params.minPstore << endl; > break; > > case 'r': > params.minR2disp = (atof(optarg)); > - > + if(params.mpi_id == 0) > cout << "-r Minimum R2 to display in .txt will be above " << params.minR2disp << endl; > break; > > case 'e': > params.minR2store = (atof(optarg)); > - > + if(params.mpi_id == 0) > cout << "-e Minimum R2 to store in .bin will be above " << params.minR2store << endl; > break; > > case 'i': > params.disp_cov = true; > - > - cout << "-i Covariate results will be included in results" << endl; > + if(params.mpi_id == 0) > + cout << "-i Covariate results (significant) will be included in results whenever their respective snps are also significant" << endl; > break; > > case 'f': > params.storePInd = true; > - > + if(params.mpi_id == 0) > cout << "-f Forcing all included results to be considered independently of max P-val or min R2. (SLOW!)"<< endl; > break; > > case 'j': > params.model = 0; > params.dosages = true; > - > + if(params.mpi_id == 0) > cout << "-j Using Additive Model with (2*AA,1*AB,0*BB) effects"<< endl; > break; > > case 'k': > params.model = 1; > params.dosages = true; > - > + if(params.mpi_id == 0) > cout << "-k Using Dominant Model with (1*AA,1*AB,0*BB) effects"<< endl; > break; > > case 'l': > params.model = 2; > params.dosages = true; > - > + if(params.mpi_id == 0) > cout << "-j Using Recessive Model with (1*AA,0*AB,0*BB) effects"<< endl; > break; > > case 'z': > params.model = 3; > params.dosages = true; > - > + if(params.mpi_id == 0) > cout << "-z Using Custom Linear Model with parameters read from the file "<< params.fname_dosages << endl; > break; > > case 'y': > params.model = 4; > params.dosages = true; > - > + if(params.mpi_id == 0) > cout << "-z Using Custom Additive Model with parameters read from the file "<< params.fname_dosages << endl; > break; > > case 'b': > params.storeBin = true; > > - > + if(params.mpi_id == 0) > cout << "-b Results will be stored in binary format too"<< endl; > break; > > @@ -291,7 +296,7 @@ > params.use_interactions = true; > params.keep_depVar = true; > params.use_multiple_interaction_sets = false; > - > + if(params.mpi_id == 0) > cout << "-v File containing single interactions " << params.fname_interactions << endl; > break; > > @@ -301,13 +306,14 @@ > params.use_interactions = true; > params.keep_depVar = true; > params.use_multiple_interaction_sets = true; > - > + if(params.mpi_id == 0) > cout << "-w File containing multiple interactions " << params.fname_interactions << endl; > break; > > > case 'u': > - params.keep_depVar = true; > + params.keep_depVar = true; > + if(params.mpi_id == 0) > cout << "-u Keeping independent variable for interaction analysis " << endl; > break; > > @@ -356,16 +362,31 @@ > > int main(int argc, char *argv[] ) > { > - > + > struct Settings params; > Algorithm alg; > > - > //!default params > alg.applyDefaultParams(params); > > + //!MPI > + int size, rank; > + MPI_Init(&argc, &argv); > + MPI_Comm_size(MPI_COMM_WORLD, &size); > + MPI_Comm_rank(MPI_COMM_WORLD, &rank); > + //printf("SIZE = %d RANK = %d\n",size,rank); > + params.mpi_id = rank; > + params.mpi_num_threads = size; > + > + > > + > + > + > + > + > > + > parse_params(argc, argv, params); > > > @@ -375,26 +396,27 @@ > > omp_set_num_threads(params.threads); > blas_set_num_threads(params.threads); > - cout << "Omicabelnomm Version 0.95b \n\t\"; And one for the config.h variables. > + if(params.mpi_id == 0) > + cout << "Omicabelnomm Version 0.96b \n"; > > > //params.use_fake_files = true; > - if (params.use_fake_files) > - { > - int multiplier = 1000; > +// if (params.use_fake_files) > +// { > +// int multiplier = 1000; > +// > +// params.n = 4 * multiplier; > +// params.l = 3; > +// params.r = 1; > +// > +// params.t = 1 * multiplier; > +// params.tb = 1 * multiplier; > +// > +// params.m = 1 * multiplier; > +// params.mb = 1 * multiplier; > +// } > > - params.n = 4 * multiplier; > - params.l = 3; > - params.r = 1; > > - params.t = 1 * multiplier; > - params.tb = 1 * multiplier; > - > - params.m = 1 * multiplier; > - params.mb = 1 * multiplier; > - } > - > - > if(!help_request) > { > struct Outputs out = {0}; > @@ -409,7 +431,10 @@ > cout << endl << "Number of Significant Results: " << out.total_sig_results << endl; > } > > - cout << endl; > + cout << endl; > + > + //!MPI > + MPI_Finalize(); > > return 0; > } > > Modified: pkg/OmicABELnoMM/tests/test.cpp > =================================================================== > --- pkg/OmicABELnoMM/tests/test.cpp 2014-10-17 14:57:34 UTC (rev 1836) > +++ pkg/OmicABELnoMM/tests/test.cpp 2014-10-21 13:30:17 UTC (rev 1837) > @@ -81,6 +81,12 @@ > { > struct Settings params; > > + //!MPI > + int size, rank; > + MPI_Init(&argc, &argv); > + MPI_Comm_size(MPI_COMM_WORLD, &size); > + MPI_Comm_rank(MPI_COMM_WORLD, &rank); > + //printf("SIZE = %d RANK = %d\n",size,rank); > > > omp_set_nested(false); > @@ -92,7 +98,7 @@ > > > > - int max_threads = 2; > + int max_threads = 1; > > params.threads = max_threads; > > @@ -132,7 +138,10 @@ > params.minR2disp = 0.000001; > params.disp_cov = true; > > + params.mpi_id = rank; > + params.mpi_num_threads = size; > > + > params.r = 2; > params.fnameOutFiles="examples/results/normal"; > params.fnameAL="examples/XL"; > @@ -144,8 +153,11 @@ > alg.solve(params, out, P_NEQ_B_OPT_MD); > print_output(out, gemm_gflopsPsec); > > - exit(0); > + //!MPI > + MPI_Finalize(); > > + //exit(0); > + > cout << "\nInteraction Tests\n" << flush; > //!------------------------------------- > //!------------------------------------- > @@ -282,7 +294,7 @@ > } > > > - > + exit(0); > //!------------------------------------- > alg.applyDefaultParams(params); > memset(&out, 0, sizeof(out)); > > _______________________________________________ > Genabel-commits mailing list > Genabel-commits at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-commits > Thanks a lot for your effort, Lennart. -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From yurii.aulchenko at gmail.com Tue Oct 21 17:33:25 2014 From: yurii.aulchenko at gmail.com (Yurii Aulchenko) Date: Tue, 21 Oct 2014 17:33:25 +0200 Subject: [GenABEL-dev] [Genabel-commits] r1837 - in pkg/OmicABELnoMM: . examples src tests In-Reply-To: <5446673F.6020102@karssen.org> References: <20141021133018.1FD73187260@r-forge.r-project.org> <5446673F.6020102@karssen.org> Message-ID: <104539BE-128D-4486-8790-F533CBAA3A07@gmail.com> I second the MPI excitement Is that the first MPI supporting package from GenA family? Worth the news item?! Yurii ---------------------- Yurii Aulchenko (sent from mobile device) > On Oct 21, 2014, at 16:01, "L.C. Karssen" wrote: > > Hi Alvaro, > >> On 21-10-14 15:30, noreply at r-forge.r-project.org wrote: >> Author: afrank >> Date: 2014-10-21 15:30:17 +0200 (Tue, 21 Oct 2014) >> New Revision: 1837 >> >> Modified: >> pkg/OmicABELnoMM/ChangeLog >> pkg/OmicABELnoMM/configure.ac >> pkg/OmicABELnoMM/examples/CreateData.R >> pkg/OmicABELnoMM/src/AIOwrapper.cpp >> pkg/OmicABELnoMM/src/AIOwrapper.h >> pkg/OmicABELnoMM/src/Algorithm.cpp >> pkg/OmicABELnoMM/src/Definitions.h >> pkg/OmicABELnoMM/src/main.cpp >> pkg/OmicABELnoMM/tests/test.cpp >> Log: >> Added check for rank of covariate matrix to avoid miss-calculations >> of results when covariates are linearly dependent. An error is given and >> the program is exited while letting the user know that covariates need >> to change. Added MPI functionality for clusters. Screen output happens >> on process 0 and multiple output files are produced, one per process. > > That is cool news! Glad to have MPI functionality in OAnoMM. > > Please also have a look at the comments below. > > > Thanks, > > Lennart. > >> >> Modified: pkg/OmicABELnoMM/ChangeLog >> =================================================================== >> --- pkg/OmicABELnoMM/ChangeLog 2014-10-17 14:57:34 UTC (rev 1836) >> +++ pkg/OmicABELnoMM/ChangeLog 2014-10-21 13:30:17 UTC (rev 1837) >> @@ -3,7 +3,6 @@ >> --------- >> Required Features: >> -Add support for multiple files >> --Add MPI suport >> >> Optional Features: >> -Add exclusion lists for single sets of elements of phenotypes >> @@ -13,6 +12,17 @@ >> ------------- >> ------------- >> >> +21-10-2014 >> +-------------- >> +svn commit -m "Added check for rank of covariate matrix to avoid miss-calculations of results when covariates are linearly dependent. An error is given and the program is exited while letting the user know that covariates need to change. Added MPI functionality for clusters. Screen output happens on process 0 and multiple output files are produced, one per process." >> +Added check for rank of covariate matrix to avoid miss-calculations of >> +results when covariates are linearly dependent. >> +An error is given and the program is exited while >> + letting the user know that covariates need to change. >> +Added MPI functionality for clusters. >> +Screen output happens on process 0 >> +and multiple output files are produced, one per process. >> + >> 8-10-2014 >> -------------- >> >> >> Modified: pkg/OmicABELnoMM/configure.ac >> =================================================================== >> --- pkg/OmicABELnoMM/configure.ac 2014-10-17 14:57:34 UTC (rev 1836) >> +++ pkg/OmicABELnoMM/configure.ac 2014-10-21 13:30:17 UTC (rev 1837) >> @@ -32,15 +32,17 @@ >> # with its own defaults >> >> # Checks for programs. >> -AC_PROG_CC >> -AC_PROG_CXX >> +#AC_PROG_CC >> +#AC_PROG_CXX >> +AC_PROG_CXX([mpic++ mpicxx]) >> >> + >> # Check for openMP. If found the OPENMP_CXXFLAGS is set automatically >> AC_OPENMP >> AC_SUBST(AM_CXXFLAGS, "$OPENMP_CFLAGS") >> >> #AM_CXXFLAGS="-static -g -ggdb -I../libs/include -I./libs/include $AM_CXXFLAGS" >> -AM_CXXFLAGS="-static -std=c++11 -O3 -I../libs/include -I./libs/include $AM_CXXFLAGS" >> +AM_CXXFLAGS=" -std=c++11 -O3 -I../libs/include -I./libs/include $AM_CXXFLAGS" >> # Checks for libraries. >> # pthread library >> AC_SEARCH_LIBS([pthread_mutex_init], [pthread], [], >> >> Modified: pkg/OmicABELnoMM/examples/CreateData.R >> =================================================================== >> --- pkg/OmicABELnoMM/examples/CreateData.R 2014-10-17 14:57:34 UTC (rev 1836) >> +++ pkg/OmicABELnoMM/examples/CreateData.R 2014-10-21 13:30:17 UTC (rev 1837) >> @@ -2,11 +2,11 @@ >> >> library(DatABEL) >> >> -n = 4000 # number of individuals >> +n = 2000 # number of individuals >> l = 3 # number of covariates+1 for intercept >> int = 3 >> r = 2 >> -m = r*1000 # number of snps >> +m = r*100000 # number of snps >> t = 10000 # number of traits >> var=0.05 >> >> >> Modified: pkg/OmicABELnoMM/src/AIOwrapper.cpp >> =================================================================== >> --- pkg/OmicABELnoMM/src/AIOwrapper.cpp 2014-10-17 14:57:34 UTC (rev 1836) >> +++ pkg/OmicABELnoMM/src/AIOwrapper.cpp 2014-10-21 13:30:17 UTC (rev 1837) >> @@ -45,7 +45,10 @@ >> Fhandler->dosage_skip = 0; >> Fhandler->fileR = 0; >> Fhandler->add_dosages = false; >> + Fhandler->initial_file_pos = 0; >> + Fhandler->mpi_id = params.mpi_id; >> >> + int ar_names_toskip = 0; >> >> >> if(!Fhandler->fakefiles) >> @@ -82,9 +85,32 @@ >> Fhandler->fileN = params.n; >> realN = params.n; >> >> - >> params.m = min((int)(ARfvi->fvi_header.numVariables/params.r),params.limit_m/params.r); >> >> + if(params.mpi_num_threads > 1 && params.m >= params.mpi_num_threads) >> + { >> + int m_mpi = params.m/params.mpi_num_threads; >> + ar_names_toskip = m_mpi; >> + Fhandler->initial_file_pos = (m_mpi*params.mpi_id) * params.r * params.n; >> + //cout << Fhandler->initial_file_pos << endl; >> + //corner case for non whole divisions of data among mpi procs >> + if((params.mpi_num_threads-1) == params.mpi_id) >> + { >> + //portion+rest >> + params.m = m_mpi + (params.m-params.mpi_num_threads* m_mpi); >> + } >> + else >> + { >> + params.m = m_mpi; >> + } >> + >> + Fhandler->fnameOutFiles += "_mpi"; >> + Fhandler->fnameOutFiles += std::to_string(params.mpi_id+1); >> + Fhandler->fnameOutFiles += "_"; >> + } >> + >> + >> + >> #ifdef DEBUG >> cout << "calcM:" << params.m << endl; >> #endif >> @@ -120,16 +146,19 @@ >> ARidName = string(&(ARfvi->fvi_data[yname_idx])); >> if(YidNames.compare(ALidName)) >> { > > > The if statements below are a pain to my eyes :-). Due to the formatting > (missing indentation and/or missing curly braces) it gives the > impression that both the cout and the i = statement are carried out if > the condition is true (or maybe even that nothing happens in the > if-statement if you take the lack of indentation seriously). > > At the very least I would indent the cout statement, but given that it > is a long line anyway (which are best avoided), I would add {}s and > break the cout statement over multiple lines. > >> + if(params.mpi_id == 0) >> cout << "Warning, ID names between -p file and -c file do not coincide! The files must have the same meaningful order" << endl; >> i = params.n;//exit >> } >> if(YidNames.compare(ARidName)) >> { >> + if(params.mpi_id == 0) >> cout << "Warning, ID names between -p file and -g file do not coincide! The files must have the same meaningful order" << endl; >> i = params.n;//exit >> } >> if(ARidName.compare(ALidName)) >> { >> + if(params.mpi_id == 0) >> cout << "Warning, ID names between -g file and -c file do not coincide! The files must have the same meaningful order" << endl; >> i = params.n;//exit >> } >> @@ -203,9 +232,7 @@ >> >> if(!Fhandler->fakefiles) >> { >> - >> removeALmissings(Fhandler->excl_List,params,Almissings); >> - >> } >> >> >> @@ -319,6 +346,7 @@ >> string INTidName = string(&(Ifvi->fvi_data[name_idx])); >> if(ARidName.compare(INTidName)) >> { > > See note about if statements above. > > >> + if(params.mpi_id == 0) >> cout << "Warning, ID names between -g file and interactions file do not coincide! The files must have the same meaningful order!" << endl; >> i = params.n;//exit >> } >> @@ -433,7 +461,7 @@ >> } >> } >> } >> - if(interaction_missings) > > This if statement is indented as it should be, although I would prefer > breaking the long line. > >> + if(interaction_missings && params.mpi_id == 0) >> cout << "Excluding " << interaction_missings << " from Interaction missings" << endl; >> #ifdef DEBUG >> cout << params.mb << " " << params.r << " " << params.m << endl; >> @@ -462,6 +490,7 @@ >> //!******nameGATHER**************** >> >> int Aname_idx=Fhandler->fileN*ARfvi->fvi_header.namelength;//skip the names of the rows >> + Aname_idx += ARfvi->fvi_header.namelength*Fhandler->fileR*params.mpi_id*ar_names_toskip; // skipnot mine according to mpi >> if(Fhandler->use_dosages && Fhandler->add_dosages) >> { >> for(int i = 0; i < Fhandler->fileM; i++) >> @@ -563,8 +592,11 @@ >> >> if(params.l > 255 || params.p > 255 || params.n > 65535)//can remove if fixed for output files >> { >> + if(params.mpi_id == 0) >> + { >> cout << "Warning, output binary format does not yet support current problem sizes for the provided p, l, r and n." << endl; >> cout << "Omitting outputfile." << endl; >> + } >> } >> >> if(params.storeBin) >> @@ -770,9 +802,15 @@ >> ofstream fp_allResults; >> >> int y_file_pos = 0; >> - int ar_file_pos = 0; >> >> + int initial_file_pos = Fhandler->initial_file_pos; >> >> + int ar_file_pos = initial_file_pos; >> + >> + >> + >> + >> + >> int seq_count; >> int max_secuential_write_count= 10; >> >> @@ -1028,12 +1066,12 @@ >> >> if(Fhandler->fakefiles) >> { >> - fp_Ar.seekg ( 0 , ios::beg ); >> - fp_Ar.read ((char*)tobeFilled->buff,sizeof(type_precision)*size_buff); >> +// fp_Ar.seekg ( 0 , ios::beg ); >> +// fp_Ar.read ((char*)tobeFilled->buff,sizeof(type_precision)*size_buff); >> +// >> +// re_random_vec(tobeFilled->buff , Fhandler->n * tmp_ar_blockSize*Fhandler->r ); >> +// re_random_vec_nan(tobeFilled->buff , Fhandler->n * tmp_ar_blockSize*Fhandler->r ); >> >> - re_random_vec(tobeFilled->buff , Fhandler->n * tmp_ar_blockSize*Fhandler->r ); >> - re_random_vec_nan(tobeFilled->buff , Fhandler->n * tmp_ar_blockSize*Fhandler->r ); >> - >> } >> else >> { >> @@ -1220,8 +1258,8 @@ >> if(Fhandler->Ar_to_readSize <= 0) >> { >> Fhandler->Ar_to_readSize = Fhandler->Ar_Amount; >> - ar_file_pos = 0; >> - fp_Ar.seekg(0, ios::beg); >> + ar_file_pos = initial_file_pos; >> + fp_Ar.seekg(ar_file_pos, ios::beg); >> >> if(fp_Ar.fail()) >> { >> @@ -1864,7 +1902,7 @@ >> } >> >> >> - if(Almissings > 0) >> + if(Almissings > 0 && (params.mpi_id == 0)) >> cout << "Excluding " << Almissings << " from covariate missings" << endl; >> >> delete tempAL; >> @@ -2067,7 +2105,8 @@ >> >> int first,second; >> >> - cout << "Excluding Ids: \n"; >> + if(Fhandler->mpi_id == 0) >> + cout << "Excluding Ids: \n"; >> >> while (std::getline(fp_exL, line) && second < n ) >> { >> @@ -2076,6 +2115,7 @@ >> iss >> first; >> >> iss >> second; >> + if(Fhandler->mpi_id == 0) >> cout << first << "-" << second << ", "; >> if(first > second) >> { >> @@ -2108,6 +2148,7 @@ >> cout << "Total Ids: " << n << "\nExcluded Ids: " << excl_count << endl; >> exit( 1 ); >> } >> + if(Fhandler->mpi_id == 0) >> cout << "Excluded: " << excl_count << " Using: " << n-excl_count<< endl; >> >> >> >> Modified: pkg/OmicABELnoMM/src/AIOwrapper.h >> =================================================================== >> --- pkg/OmicABELnoMM/src/AIOwrapper.h 2014-10-17 14:57:34 UTC (rev 1836) >> +++ pkg/OmicABELnoMM/src/AIOwrapper.h 2014-10-21 13:30:17 UTC (rev 1837) >> @@ -37,8 +37,10 @@ >> string fnameOutFiles; >> string fname_dosages; >> >> + int mpi_id; >> >> >> + >> list< pair >* excl_List; >> >> >> @@ -74,6 +76,9 @@ >> queue ar_empty_buffers; >> queue ar_full_buffers; >> >> + //MPI related vars >> + int initial_file_pos; >> + >> int index; >> int fileN; >> int fileR; >> @@ -198,6 +203,7 @@ >> int realN; >> >> >> + >> protected: >> >> private: >> >> Modified: pkg/OmicABELnoMM/src/Algorithm.cpp >> =================================================================== >> --- pkg/OmicABELnoMM/src/Algorithm.cpp 2014-10-17 14:57:34 UTC (rev 1836) >> +++ pkg/OmicABELnoMM/src/Algorithm.cpp 2014-10-21 13:30:17 UTC (rev 1837) >> @@ -401,6 +401,8 @@ >> params.threads = 1; >> params.r = 1; >> params.model = -1; >> + params.mpi_id = 0; >> + params.mpi_num_threads = 1; >> >> params.use_interactions = false; >> params.keep_depVar = false; >> @@ -491,11 +493,12 @@ >> >> >> lda = n; >> - if(!params.ForceCheck ) >> + if(!params.ForceCheck && params.mpi_id == 0) >> { >> cout << endl; >> - } >> - for (int j = 0; j < y_iters && !params.ForceCheck; j++) >> + } >> + >> + for (int j = 0; j < y_iters && !params.ForceCheck && params.mpi_id == 0; j++) >> { >> if (!params.ForceCheck && ((y_iters < 10 && y_iters > 2 )|| (y_iters >= 10 && (j%(y_iters/10)) == 0 )) ) >> { >> @@ -514,7 +517,7 @@ >> } >> } >> >> - if(!params.ForceCheck) >> + if(!params.ForceCheck && params.mpi_id == 0) >> cout << endl; >> >> //add memalign >> @@ -611,22 +614,52 @@ >> out.acc_stl += ticks2sec(end_tick,start_tick2); >> >> >> + //linear dep of columns check > > Have you ever considered using C++ vectors instead of arrays? They save > you the trouble of new/delete, for example. I have no idea if there is a > performance hit, however. But I can imagine that combined with iterators > they may be well-optimised. > Or do you simply use them because LAPACK needs arrays anyway? > >> + float* singular_vals = new float[l]; >> + float* u = new float[n*n]; >> + float* vt = new float[l*l]; >> + float* superb = new float[l-1]; >> +// for (int j = 0; j < n; j++) >> +// { >> +// AL[j] = AL[j+n]; >> +// } >> >> >> + info = LAPACKE_sgesvd(STORAGE_TYPE, 'N','N',n,l,AL,n,singular_vals,u,n,vt,l,superb);info++; >> >> + for (int j = 0; j < l; j++) >> + { >> + if(singular_vals[j] < 0.000001) >> + { >> + if(params.mpi_id == 0) >> + { >> + cout << endl; >> + cout << "Error, the covariate matrix contains linearly dependent columns. Please review and change it accordingly." << singular_vals[j]; >> + cout << "Make sure there are no duplciates or closesly realted covariates (complement)."; >> + } >> + exit(1); >> + } >> + } >> >> + delete []singular_vals; >> + delete []u; >> + delete []vt; >> + delete []superb; >> + >> >> >> float* Y; >> >> - // printf("\n\n%%Computations\n%%"); >> + // printf("\n\n%%Computations\n%%"); >> + >> + copy_vec(backupAL, AL, n*l); >> >> >> get_ticks(start_tick); >> >> for (int j = 0; j < y_iters; j++) >> { >> - if (!params.ForceCheck && ((y_iters < 10 && y_iters > 2 )|| (y_iters >= 10 && (j%(y_iters/10)) == 0 )) ) >> + if (!params.ForceCheck && params.mpi_id == 0 && ((y_iters < 10 && y_iters > 2 )|| (y_iters >= 10 && (j%(y_iters/10)) == 0 )) ) >> { >> cout << AIOfile.io_overhead << flush; >> AIOfile.io_overhead = "*"; >> @@ -685,7 +718,7 @@ >> for (int i = 0; i < a_iters; i++) >> { >> >> - if (!params.ForceCheck && y_iters <= 2 && >> + if (!params.ForceCheck && y_iters <= 2 && params.mpi_id == 0 && >> ( (a_iters >= 10 && (i%(a_iters/(10))) == 0) || (a_iters < (10)) )) >> { >> cout << AIOfile.io_overhead << flush; >> >> Modified: pkg/OmicABELnoMM/src/Definitions.h >> =================================================================== >> --- pkg/OmicABELnoMM/src/Definitions.h 2014-10-17 14:57:34 UTC (rev 1836) >> +++ pkg/OmicABELnoMM/src/Definitions.h 2014-10-21 13:30:17 UTC (rev 1837) >> @@ -27,7 +27,8 @@ >> #include >> #include >> #include >> -#include >> +#include >> +#include >> >> #ifdef WINDOWS >> #include >> @@ -170,7 +171,9 @@ >> int mb; >> int id; >> >> - int threads; >> + int threads; >> + int mpi_id; >> + int mpi_num_threads; >> >> bool use_fake_files; >> >> >> Modified: pkg/OmicABELnoMM/src/main.cpp >> =================================================================== >> --- pkg/OmicABELnoMM/src/main.cpp 2014-10-17 14:57:34 UTC (rev 1836) >> +++ pkg/OmicABELnoMM/src/main.cpp 2014-10-21 13:30:17 UTC (rev 1837) >> @@ -18,39 +18,41 @@ >> -d <0.0~1.0> -r <-10.0~1.0> -b -s <0.0~1.0> -e <-10.0~1.0> -i -f"; >> >> string helpcmd_expl = > > > Note that you can use the information generated by autotools for version > info. If you include the config.h file that is generated you can do it > like we did in ProbABEL, for example in src/usage.cpp: > > void print_version(void) { > cout << PACKAGE > << " v. " << PACKAGE_VERSION > << "\n(C) Yurii Aulchenko, Lennart C. Karssen, Maarten Kooyman, " > << "Maksim Struchalin, The GenABEL team, EMC Rotterdam\n\n"; > cout << "Using EIGEN version " << EIGEN_WORLD_VERSION > << "." << EIGEN_MAJOR_VERSION << "." << EIGEN_MINOR_VERSION > << " for matrix operations\n"; > } > > The PACKAGE and PACKAGE_VERSION variables comes from config.h, and are > generated by autotools. OmicABELnoMM's src/config.h contains them as well. > > >> -"omicabelnomm Version 0.95b \n\t\ >> +"omicabelnomm Version 0.96b \n\t\ >> Required: \n\t\ >> --p --phe \t to the inputs containing phenotypes \n\t\ >> --g --geno \t to the inputs containing genotypes \n\t\ >> --c --cov \t to the inputs containing covariates \n\t\ >> --o --out \t to store the output to (used for all .txt and .ibin & .dbin) \n\n\ >> +-p --phe \t to the inputs containing phenotypes. \n\t\ >> +-g --geno \t to the inputs containing genotypes. \n\t\ >> +-c --cov \t to the inputs containing covariates. \n\t\ >> +-o --out \t to store the output to (used for all .txt and .ibin & .dbin). \n\n\ >> Optional: \n\t\ >> --n --ngpred \t <#SNPcols> Number of columns in the geno file that represent a single SNP \n\t\ >> --t --thr \t <#CPUs> Number of computing threads to use to speed computations \n\t\ >> --x --excl \t file containing list of individuals to exclude from input files, (see example file) \n\t\ >> +-n --ngpred \t <#SNPcols> Number of columns in the geno file that represent a single SNP. \n\t\ >> +-t --thr \t <#CPUs> Number of computing threads to use to speed computations. Recommended is 4-8 per node (see MPI). \n\t\ >> +-x --excl \t file containing list of individuals to exclude from input files, (see example file). \n\t\ >> -d --pdisp \t <0.0~1.0> Value to use as maximum threshold for significance.\n\t\ >> -\t\t Results with P-values UNDER this threshold will be displayed in the putput .txt file \n\t\ >> +\t\t Results with P-values UNDER this threshold will be displayed in the putput .txt file. \n\t\ >> -r --rdisp \t <-10.0~1.0> Value to use as minimum threshold for R2. \n\t\ >> -\t\t Results with R2-values ABOVE this threshold will be displayed in the putput .txt file \n\t\ >> --b --stobin \t Flag that forces to ALSO store results in a smaller binary format (*.ibin & *.dbin) \n\t\ >> --s --psto \t <0.0~1.0> Results with P-values UNDER this threshold will be displayed in the putput binary files \n\t\ >> --e --rsto \t <-10.0~1.0> Results with R2-values ABOVE this threshold will be stored in the putput binary files \n\t\ >> --i --fdcov \t Flag that forces to include covariates as part of the results that are stored in .txt and binary files \n\t\ >> +\t\t Results with R2-values ABOVE this threshold will be displayed in the putput .txt file. \n\t\ >> +-b --stobin \t Flag that forces to ALSO store results in a smaller binary format (*.ibin & *.dbin). \n\t\ >> +-s --psto \t <0.0~1.0> Results with P-values UNDER this threshold will be displayed in the putput binary files. \n\t\ >> +-e --rsto \t <-10.0~1.0> Results with R2-values ABOVE this threshold will be stored in the putput binary files. \n\t\ >> +-i --fdcov \t Flag that forces to include covariates (when its genotype is significant) as part of the results stored \n\t\ >> -f --fdgen \t Flag that forces to consider all included results (causes the analisis to ignores ALL threshold values). \n\t\ >> --j --additive \t Flag that runs the analisis with an Additive Model with (2*AA,1*AB,0*BB) effects \n\t\ >> --k --dominant \t Flag that runs the analisis with an Dominant Model with (1*AA,1*AB,0*BB) effects \n\t\ >> --l --recessive \t Flag that runs the analisis with an Recessive Model with (1*AA,0*AB,0*BB) effects \n\t\ >> +-j --additive \t Flag that runs the analisis with an Additive Model with (2*AA,1*AB,0*BB) effects. \n\t\ >> +-k --dominant \t Flag that runs the analisis with an Dominant Model with (1*AA,1*AB,0*BB) effects. \n\t\ >> +-l --recessive \t Flag that runs the analisis with an Recessive Model with (1*AA,0*AB,0*BB) effects. \n\t\ >> -z --mylinear \t to read Factors 'f_i' for a Custom Linear Model with f1*X1,f2*X2,f3*X3...fn*X_ngpred as effects,\n\t\ >> \t each column of each independent variable will be multiplied with the specified factors. \n\t\ >> - \t Formula: y~alpha*cov + beta_1*f1*X1 + beta_2*f2*X2 +...+ beta_n*fn*Xn, (see example files!) \n\t\ >> + \t Formula: y~alpha*cov + beta_1*f1*X1 + beta_2*f2*X2 +...+ beta_n*fn*Xn, (see example files!). \n\t\ >> -y --myaddit \t to read Factors 'f_i' for a Custom Additive Model with (f1*X1,f2*X2,f3*X3...fn*X_ngpred) as effects,\n\t\ >> \t each column of each independent variable will be multiplied with the specified factors and then added together. \n\t\ >> - \t Formula: y~alpha*cov + beta*(f1*X1 + f2*X2 +...+ fn*Xn), (see example files!) \n\t\ >> --v --simpleinter to read the interactions from; for single analysis using multile interactions \n\t\ >> --w --multinter \t to read the interactions from; for multiple analysis using single interaction per analysis \n\t\ >> + \t Formula: y~alpha*cov + beta*(f1*X1 + f2*X2 +...+ fn*Xn), (see example files!). \n\t\ >> +-v --simpleinter to read the interactions from; for single analysis using multile interactions. \n\t\ >> +-w --multinter \t to read the interactions from; for multiple analysis using single interaction per analysis. \n\t\ >> -u --keepinter \t Flag that sets if the interaction analysis chose is to too keep the dependent variable X.\n\t\ >> - \t If set, Formula: y~alpha*cov + beta_1*INT*X + beta_2*X, (see example files!) \n\t\ >> - \t Default not set, Formula: y~alpha*cov + beta_1*INT*X, (see example files!) \n\t\ >> + \t If set, Formula: y~alpha*cov + beta_1*INT*X + beta_2*X, (see example files!). \n\t\ >> + \t Default not set, Formula: y~alpha*cov + beta_1*INT*X, (see example files!). \n\t\n\t\ >> + \t Support for MPI is available. Simply use mpirun -np <#nodes> omicabelnomm on an Open-MPI enabled computer/cluster.\n\t\ >> + \t Recommended is to use MPI when dealing with problems with over 2000 genotypes, at a rate of 1 node per 2000 genotypes.\n\t\ >> "; >> >> >> @@ -128,7 +130,8 @@ >> break; >> >> if (!optarg && (c != 'f' && c != 'b' && c != 'i' && c != 'h')) >> - { >> + { > > > Below are a couple of confusing if statement again. > > > >> + if(params.mpi_id == 0) >> cout << "\nerror with argument parameter " << (char)c << endl; >> exit(1); >> } >> @@ -152,7 +155,7 @@ >> pos = string(optarg).find("."); >> if (pos != string::npos) >> params.fnameY = string(optarg).substr(0, pos); >> - >> + if(params.mpi_id == 0) >> cout << "-p Reading phenotypes from file " << optarg << endl; >> break; >> >> @@ -163,13 +166,14 @@ >> pos = string(optarg).find("."); >> if (pos != string::npos) >> params.fnameAR = string(optarg).substr(0, pos); >> - >> + if(params.mpi_id == 0) >> cout << "-g Reading with genotype data from file " << optarg << endl; >> break; >> >> case 'n': >> params.r = atoi(optarg); >> - params.r = max(params.r, 1); >> + params.r = max(params.r, 1); >> + if(params.mpi_id == 0) >> cout << "-n Using columns per snp as " << params.r << endl; >> break; >> >> @@ -180,7 +184,7 @@ >> pos = string(optarg).find("."); >> if (pos != string::npos) >> params.fnameAL = string(optarg).substr(0, pos); >> - >> + if(params.mpi_id == 0) >> cout << "-c Reading covariates from file " << optarg << endl; >> break; >> >> @@ -191,98 +195,99 @@ >> pos = string(optarg).find("."); >> if (pos != string::npos) >> params.fnameOutFiles = string(optarg).substr(0, pos); >> - >> + if(params.mpi_id == 0) >> cout << "-o Writing output files to " << optarg << endl; >> break; >> >> case 't': >> params.threads = atoi(optarg); >> - params.threads = min(max(params.threads, 1), 32); >> + params.threads = min(max(params.threads, 1), 32); >> + if(params.mpi_id == 0) >> cout << "-t Using " << params.threads << " CPU threads for parallelism" << endl; >> break; >> >> case 'x': >> params.fname_excludelist = string(optarg); >> - >> + if(params.mpi_id == 0) >> cout << "-x Excluding ids on " << params.fname_excludelist << endl; >> break; >> >> >> case 'd': >> params.minPdisp = fabs(atof(optarg)); >> - >> + if(params.mpi_id == 0) >> cout << "-d Significance to display in .txt will be P-val's below " << params.minPdisp << endl; >> break; >> >> case 's': >> params.minPstore = fabs(atof(optarg)); >> - >> + if(params.mpi_id == 0) >> cout << "-s Significance to store in .bin will be P-val's below " << params.minPstore << endl; >> break; >> >> case 'r': >> params.minR2disp = (atof(optarg)); >> - >> + if(params.mpi_id == 0) >> cout << "-r Minimum R2 to display in .txt will be above " << params.minR2disp << endl; >> break; >> >> case 'e': >> params.minR2store = (atof(optarg)); >> - >> + if(params.mpi_id == 0) >> cout << "-e Minimum R2 to store in .bin will be above " << params.minR2store << endl; >> break; >> >> case 'i': >> params.disp_cov = true; >> - >> - cout << "-i Covariate results will be included in results" << endl; >> + if(params.mpi_id == 0) >> + cout << "-i Covariate results (significant) will be included in results whenever their respective snps are also significant" << endl; >> break; >> >> case 'f': >> params.storePInd = true; >> - >> + if(params.mpi_id == 0) >> cout << "-f Forcing all included results to be considered independently of max P-val or min R2. (SLOW!)"<< endl; >> break; >> >> case 'j': >> params.model = 0; >> params.dosages = true; >> - >> + if(params.mpi_id == 0) >> cout << "-j Using Additive Model with (2*AA,1*AB,0*BB) effects"<< endl; >> break; >> >> case 'k': >> params.model = 1; >> params.dosages = true; >> - >> + if(params.mpi_id == 0) >> cout << "-k Using Dominant Model with (1*AA,1*AB,0*BB) effects"<< endl; >> break; >> >> case 'l': >> params.model = 2; >> params.dosages = true; >> - >> + if(params.mpi_id == 0) >> cout << "-j Using Recessive Model with (1*AA,0*AB,0*BB) effects"<< endl; >> break; >> >> case 'z': >> params.model = 3; >> params.dosages = true; >> - >> + if(params.mpi_id == 0) >> cout << "-z Using Custom Linear Model with parameters read from the file "<< params.fname_dosages << endl; >> break; >> >> case 'y': >> params.model = 4; >> params.dosages = true; >> - >> + if(params.mpi_id == 0) >> cout << "-z Using Custom Additive Model with parameters read from the file "<< params.fname_dosages << endl; >> break; >> >> case 'b': >> params.storeBin = true; >> >> - >> + if(params.mpi_id == 0) >> cout << "-b Results will be stored in binary format too"<< endl; >> break; >> >> @@ -291,7 +296,7 @@ >> params.use_interactions = true; >> params.keep_depVar = true; >> params.use_multiple_interaction_sets = false; >> - >> + if(params.mpi_id == 0) >> cout << "-v File containing single interactions " << params.fname_interactions << endl; >> break; >> >> @@ -301,13 +306,14 @@ >> params.use_interactions = true; >> params.keep_depVar = true; >> params.use_multiple_interaction_sets = true; >> - >> + if(params.mpi_id == 0) >> cout << "-w File containing multiple interactions " << params.fname_interactions << endl; >> break; >> >> >> case 'u': >> - params.keep_depVar = true; >> + params.keep_depVar = true; >> + if(params.mpi_id == 0) >> cout << "-u Keeping independent variable for interaction analysis " << endl; >> break; >> >> @@ -356,16 +362,31 @@ >> >> int main(int argc, char *argv[] ) >> { >> - >> + >> struct Settings params; >> Algorithm alg; >> >> - >> //!default params >> alg.applyDefaultParams(params); >> >> + //!MPI >> + int size, rank; >> + MPI_Init(&argc, &argv); >> + MPI_Comm_size(MPI_COMM_WORLD, &size); >> + MPI_Comm_rank(MPI_COMM_WORLD, &rank); >> + //printf("SIZE = %d RANK = %d\n",size,rank); >> + params.mpi_id = rank; >> + params.mpi_num_threads = size; >> + >> + >> >> + >> + >> + >> + >> + >> >> + >> parse_params(argc, argv, params); >> >> >> @@ -375,26 +396,27 @@ >> >> omp_set_num_threads(params.threads); >> blas_set_num_threads(params.threads); >> - cout << "Omicabelnomm Version 0.95b \n\t\"; > > And one for the config.h variables. > > > >> + if(params.mpi_id == 0) >> + cout << "Omicabelnomm Version 0.96b \n"; >> >> >> //params.use_fake_files = true; >> - if (params.use_fake_files) >> - { >> - int multiplier = 1000; >> +// if (params.use_fake_files) >> +// { >> +// int multiplier = 1000; >> +// >> +// params.n = 4 * multiplier; >> +// params.l = 3; >> +// params.r = 1; >> +// >> +// params.t = 1 * multiplier; >> +// params.tb = 1 * multiplier; >> +// >> +// params.m = 1 * multiplier; >> +// params.mb = 1 * multiplier; >> +// } >> >> - params.n = 4 * multiplier; >> - params.l = 3; >> - params.r = 1; >> >> - params.t = 1 * multiplier; >> - params.tb = 1 * multiplier; >> - >> - params.m = 1 * multiplier; >> - params.mb = 1 * multiplier; >> - } >> - >> - >> if(!help_request) >> { >> struct Outputs out = {0}; >> @@ -409,7 +431,10 @@ >> cout << endl << "Number of Significant Results: " << out.total_sig_results << endl; >> } >> >> - cout << endl; >> + cout << endl; >> + >> + //!MPI >> + MPI_Finalize(); >> >> return 0; >> } >> >> Modified: pkg/OmicABELnoMM/tests/test.cpp >> =================================================================== >> --- pkg/OmicABELnoMM/tests/test.cpp 2014-10-17 14:57:34 UTC (rev 1836) >> +++ pkg/OmicABELnoMM/tests/test.cpp 2014-10-21 13:30:17 UTC (rev 1837) >> @@ -81,6 +81,12 @@ >> { >> struct Settings params; >> >> + //!MPI >> + int size, rank; >> + MPI_Init(&argc, &argv); >> + MPI_Comm_size(MPI_COMM_WORLD, &size); >> + MPI_Comm_rank(MPI_COMM_WORLD, &rank); >> + //printf("SIZE = %d RANK = %d\n",size,rank); >> >> >> omp_set_nested(false); >> @@ -92,7 +98,7 @@ >> >> >> >> - int max_threads = 2; >> + int max_threads = 1; >> >> params.threads = max_threads; >> >> @@ -132,7 +138,10 @@ >> params.minR2disp = 0.000001; >> params.disp_cov = true; >> >> + params.mpi_id = rank; >> + params.mpi_num_threads = size; >> >> + >> params.r = 2; >> params.fnameOutFiles="examples/results/normal"; >> params.fnameAL="examples/XL"; >> @@ -144,8 +153,11 @@ >> alg.solve(params, out, P_NEQ_B_OPT_MD); >> print_output(out, gemm_gflopsPsec); >> >> - exit(0); >> + //!MPI >> + MPI_Finalize(); >> >> + //exit(0); >> + >> cout << "\nInteraction Tests\n" << flush; >> //!------------------------------------- >> //!------------------------------------- >> @@ -282,7 +294,7 @@ >> } >> >> >> - >> + exit(0); >> //!------------------------------------- >> alg.applyDefaultParams(params); >> memset(&out, 0, sizeof(out)); >> >> _______________________________________________ >> Genabel-commits mailing list >> Genabel-commits at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-commits > > > > Thanks a lot for your effort, > > Lennart. > > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel From alvaro.frank at rwth-aachen.de Tue Oct 21 18:47:51 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Tue, 21 Oct 2014 16:47:51 +0000 Subject: [GenABEL-dev] [Genabel-commits] r1837 - in pkg/OmicABELnoMM: . examples src tests In-Reply-To: <5446673F.6020102@karssen.org> References: <20141021133018.1FD73187260@r-forge.r-project.org>, <5446673F.6020102@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C508408A08@MBX-S2.rwth-ad.de> The if statements below are a pain to my eyes :-). Due to the formatting (missing indentation and/or missing curly braces) it gives the impression that both the cout and the i = statement are carried out if the condition is true (or maybe even that nothing happens in the if-statement if you take the lack of indentation seriously). At the very least I would indent the cout statement, but given that it is a long line anyway (which are best avoided), I would add {}s and break the cout statement over multiple lines. I will do a code cleanup and address this issues. > + if(params.mpi_id == 0) > cout << "Warning, ID names between -g file and interactions file do not coincide! The files must have the same meaningful order!" << endl; > i = params.n;//exit > } > @@ -433,7 +461,7 @@ > } > } > } > - if(interaction_missings) This if statement is indented as it should be, although I would prefer breaking the long line. Editor and screen size dependent, but I can comply. Have you ever considered using C++ vectors instead of arrays? They save you the trouble of new/delete, for example. I have no idea if there is a performance hit, however. But I can imagine that combined with iterators they may be well-optimised. Or do you simply use them because LAPACK needs arrays anyway? ISO C++ forbids variable-size array. I cannot comply with every style and avoid all possible warnings at the same time. > Modified: pkg/OmicABELnoMM/src/main.cpp > =================================================================== > --- pkg/OmicABELnoMM/src/main.cpp 2014-10-17 14:57:34 UTC (rev 1836) > +++ pkg/OmicABELnoMM/src/main.cpp 2014-10-21 13:30:17 UTC (rev 1837) > @@ -18,39 +18,41 @@ > -d <0.0~1.0> -r <-10.0~1.0> -b -s <0.0~1.0> -e <-10.0~1.0> -i -f"; > > string helpcmd_expl = Note that you can use the information generated by autotools for version info. If you include the config.h file that is generated you can do it like we did in ProbABEL, for example in src/usage.cpp: void print_version(void) { cout << PACKAGE << " v. " << PACKAGE_VERSION << "\n(C) Yurii Aulchenko, Lennart C. Karssen, Maarten Kooyman, " << "Maksim Struchalin, The GenABEL team, EMC Rotterdam\n\n"; cout << "Using EIGEN version " << EIGEN_WORLD_VERSION << "." << EIGEN_MAJOR_VERSION << "." << EIGEN_MINOR_VERSION << " for matrix operations\n"; } The PACKAGE and PACKAGE_VERSION variables comes from config.h, and are generated by autotools. OmicABELnoMM's src/config.h contains them as well. I will try it -------------- next part -------------- An HTML attachment was scrubbed... URL: From alvaro.frank at rwth-aachen.de Wed Oct 22 15:09:04 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Wed, 22 Oct 2014 13:09:04 +0000 Subject: [GenABEL-dev] Omicabelnomm Documentation Latex and PDF Message-ID: <244CF001646FF74FB34F372310A332C508408BD0@MBX-S2.rwth-ad.de> Hi Lennart, I just added a template for the documentation of genabel. Feel free to add or remove / change sections as you see fit. I would like some help filling the section about libraries/compilers since you said you had your way of dealing with this, aka user installs packages? I would myself just explain how to download sourcecode and compile but perhaps yours might be better. I will fill the rest as I make more progress. -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From lennart at karssen.org Thu Oct 23 11:15:44 2014 From: lennart at karssen.org (L.C. Karssen) Date: Thu, 23 Oct 2014 11:15:44 +0200 Subject: [GenABEL-dev] [Genabel-commits] r1839 - pkg/OmicABELnoMM/doc In-Reply-To: <20141022130636.DF993183BF0@r-forge.r-project.org> References: <20141022130636.DF993183BF0@r-forge.r-project.org> Message-ID: <5448C740.5060107@karssen.org> Hi Alvaro, On 22-10-14 15:06, noreply at r-forge.r-project.org wrote: > Author: afrank > Date: 2014-10-22 15:06:36 +0200 (Wed, 22 Oct 2014) > New Revision: 1839 > > Added: > pkg/OmicABELnoMM/doc/UserGuide.tex > pkg/OmicABELnoMM/doc/userguide.pdf > Log: > Added documentation Latex barebone and PDF. Thanks for starting to work on the documentation, one of the most valuable parts of a project. If you haven't already done so it may be good to see how we use autotools to generate the PDF from LaTeX source in ProbABEL. Don't hesitate to ask me for help if you have difficulty understanding parts of it as it is not very trivial. I must admit that it is not 100% fool proof because we don't test for the existence of all LaTeX packages in use. But for someone with a proper TeXLive install it should work (and there is the --disable-latex-doc option for those who have the pdflatex binary (which autoconf looks for), but miss other packages). One thing about the PDF: could you please remove it from SVN? Since the PDF can be generated from the source files it doesn't belong in a version control system. Moreover, once creation of the PDF has been automated by autotools a 'make clean' will simply delete it, which may cause confusion when committing. Best, Lennart. > > Added: pkg/OmicABELnoMM/doc/UserGuide.tex > =================================================================== > --- pkg/OmicABELnoMM/doc/UserGuide.tex (rev 0) > +++ pkg/OmicABELnoMM/doc/UserGuide.tex 2014-10-22 13:06:36 UTC (rev 1839) > @@ -0,0 +1,173 @@ > +\documentclass{report} > + > +\usepackage{fullpage} > + > +\usepackage{graphicx,color} > +\usepackage{mhchem} > +\usepackage{xcolor} > +\usepackage{listings} > + > + > +\lstdefinestyle{BASH} > +{ > + backgroundcolor=\color{black}, > + basicstyle=\scriptsize\color{white}\ttfamily > +} > + > + > +\begin{document} > + > +\title{OmicabelNoMM User's Guide} > +\author{Alvaro Frank} > +\date{October 2014} > +\maketitle > + > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{Quick Usage} > + > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{Understanding OmicabelNoMM} > + > +\section{Overview} > + > +\section{Glossary} > + > +\section{Formulas} > + > +\subsection{Possible analysis} > + > +\subsubsection{Basic analysis} > +\begin{align} > +y &\sim \beta_0 1 + \beta_1 x \\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} x_{l+1} + \dots + \beta_p x_p\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} \left(x_{l+1} + \dots + x_p\right) > +\end{align} > + > +\subsubsection{Analysis with factors/dosages} > +\begin{align} > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r \phi_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} \phi_1 x_{l+1} + \dots + \beta_p \phi_r x_p\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} \left( \phi_1 x_{l+1} + \dots + \phi_r x_p\right) > +\end{align} > + > +\subsubsection{Analysis with Interactions/Environmental Effects} > +\begin{align} > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r i_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} i_1 x_r + \dots + \beta_j j_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} i_1 \left( x_{l+1} + \dots + x_p\right) \\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} i_1 \left( x_{l+1} + \dots + x_p\right) +\dots + \beta_{j} i_j \left( x_{l+1} + \dots + x_p\right) > +\end{align} > + > +\subsubsection{Analysis with Interactions/Environmental Effects keeping original variable} > +\begin{align} > +y &\sim\beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} x_r + \beta_{l+2} i_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} x_r + \beta_{l+2} i_1 x_r + \dots + \beta_j j_1 x_r > +\end{align} > + > +\subsubsection{Analysis with Interactions and factors} > +\begin{align} > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r i_1 \phi_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} i_1 \phi_1 x_r + \dots + \beta_j j_1 \phi_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} i_1 \left( \phi_{l+1} x_{l+1} + \dots + \phi_p x_p\right) \\ > +y &\sim \dots + \beta_l cov_l + \beta_{l+1} i_1 \left( \phi_{l+1} x_{l+1} + \dots + \phi_{p} x_p\right) +\dots + \beta_{j} i_j \left( \phi_{l+1} x_{l+1} + \dots + \phi_{p} x_p\right) > +\end{align} > + > +\subsubsection{Analysis with Interactions and factor keeping original variable} > +\begin{align} > +y &\sim\beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} \phi_{r} x_r + \beta_{l+2} i_1 \phi_{r} x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} \phi_{r} x_r + \beta_{l+2} i_1 \phi_{r} x_r + \dots + \beta_j j_1 \phi_{r} x_r > +\end{align} > + > + > +\subsection{Regression Coefficients} > + > +$\beta=(X^T X)^{-1} X^T y$ > + > +\subsection{T-statistic} > +\subsection{P-values} > + > + > +\section{Algorithm} > + > +\section{Compromises} > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{Setting OmicabelNoMM up} > + > +\section{Your Machine} > + > +\subsection{Clusters vs personal Computers} > + > +\section{Source Files} > + > +\begin{lstlisting}[style=BASH,escapechar=\%] > + > +user at ubuntu:~$ svn checkout svn://svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM > +Checked out revision 1838. > +user at ubuntu:~$ cd OmicABELnoMM/ > +user at ubuntu:~/OmicABELnoMM$ > +$% > +\end{lstlisting} > + > +\section{Compilers} > + > +\begin{lstlisting}[style=BASH,escapechar=\%] > + > +TODO:Install Compilers cmds > +$% > +\end{lstlisting} > + > +\section{3rd Party Libraries} > + > +\begin{lstlisting}[style=BASH,escapechar=\%] > + > +TODO:Install BOOST and BLAS LIBRARIES cmds > +$% > +\end{lstlisting} > + > +\section{Compiling} > + > +For compiling the final executable binary use: > +\begin{lstlisting}[style=BASH,escapechar=\%] > + > +user at ubuntu:~/OmicABELnoMM$ make > +$% > +\end{lstlisting} > + > +For compiling the test binary use: > +\begin{lstlisting}[style=BASH,escapechar=\%] > + > +user at ubuntu:~/OmicABELnoMM$ make check > +$% > +\end{lstlisting} > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{Preparing Source Data} > + > +\section{Overview} > +\section{Databel} > +\section{Covariates} > +\section{Independent Variables, SNPs,CPG Sites,Measurements used to explain other Measurements} > +\section{Dependent Variable, Phenotypes,Measurements to be explained} > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{Running Analysis} > + > +\section{WARNING: Theoretical Caveats} > + > +\section{Simple Linear Regression} > + > +\section{Cluster usage for Simple Linear Regression} > + > +\section{Covariates in Linear Regression} > + > +\section{Simple interactions of non linear terms, Enviromental Effects} > + > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{FAQ} > + > +\end{document} > > > Property changes on: pkg/OmicABELnoMM/doc/UserGuide.tex > ___________________________________________________________________ > Added: svn:executable > + * > > Added: pkg/OmicABELnoMM/doc/userguide.pdf > =================================================================== > (Binary files differ) > > > Property changes on: pkg/OmicABELnoMM/doc/userguide.pdf > ___________________________________________________________________ > Added: svn:executable > + * > Added: svn:mime-type > + application/octet-stream > > _______________________________________________ > Genabel-commits mailing list > Genabel-commits at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-commits > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Thu Oct 23 11:19:04 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Thu, 23 Oct 2014 09:19:04 +0000 Subject: [GenABEL-dev] [Genabel-commits] r1839 - pkg/OmicABELnoMM/doc In-Reply-To: <5448C740.5060107@karssen.org> References: <20141022130636.DF993183BF0@r-forge.r-project.org>, <5448C740.5060107@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C508408D90@MBX-S2.rwth-ad.de> If you set it up I will for sure use it. I have no idea how to. ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] Sent: Thursday, October 23, 2014 11:15 AM To: genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] [Genabel-commits] r1839 - pkg/OmicABELnoMM/doc Hi Alvaro, On 22-10-14 15:06, noreply at r-forge.r-project.org wrote: > Author: afrank > Date: 2014-10-22 15:06:36 +0200 (Wed, 22 Oct 2014) > New Revision: 1839 > > Added: > pkg/OmicABELnoMM/doc/UserGuide.tex > pkg/OmicABELnoMM/doc/userguide.pdf > Log: > Added documentation Latex barebone and PDF. Thanks for starting to work on the documentation, one of the most valuable parts of a project. If you haven't already done so it may be good to see how we use autotools to generate the PDF from LaTeX source in ProbABEL. Don't hesitate to ask me for help if you have difficulty understanding parts of it as it is not very trivial. I must admit that it is not 100% fool proof because we don't test for the existence of all LaTeX packages in use. But for someone with a proper TeXLive install it should work (and there is the --disable-latex-doc option for those who have the pdflatex binary (which autoconf looks for), but miss other packages). One thing about the PDF: could you please remove it from SVN? Since the PDF can be generated from the source files it doesn't belong in a version control system. Moreover, once creation of the PDF has been automated by autotools a 'make clean' will simply delete it, which may cause confusion when committing. Best, Lennart. > > Added: pkg/OmicABELnoMM/doc/UserGuide.tex > =================================================================== > --- pkg/OmicABELnoMM/doc/UserGuide.tex (rev 0) > +++ pkg/OmicABELnoMM/doc/UserGuide.tex 2014-10-22 13:06:36 UTC (rev 1839) > @@ -0,0 +1,173 @@ > +\documentclass{report} > + > +\usepackage{fullpage} > + > +\usepackage{graphicx,color} > +\usepackage{mhchem} > +\usepackage{xcolor} > +\usepackage{listings} > + > + > +\lstdefinestyle{BASH} > +{ > + backgroundcolor=\color{black}, > + basicstyle=\scriptsize\color{white}\ttfamily > +} > + > + > +\begin{document} > + > +\title{OmicabelNoMM User's Guide} > +\author{Alvaro Frank} > +\date{October 2014} > +\maketitle > + > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{Quick Usage} > + > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{Understanding OmicabelNoMM} > + > +\section{Overview} > + > +\section{Glossary} > + > +\section{Formulas} > + > +\subsection{Possible analysis} > + > +\subsubsection{Basic analysis} > +\begin{align} > +y &\sim \beta_0 1 + \beta_1 x \\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} x_{l+1} + \dots + \beta_p x_p\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} \left(x_{l+1} + \dots + x_p\right) > +\end{align} > + > +\subsubsection{Analysis with factors/dosages} > +\begin{align} > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r \phi_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} \phi_1 x_{l+1} + \dots + \beta_p \phi_r x_p\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} \left( \phi_1 x_{l+1} + \dots + \phi_r x_p\right) > +\end{align} > + > +\subsubsection{Analysis with Interactions/Environmental Effects} > +\begin{align} > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r i_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} i_1 x_r + \dots + \beta_j j_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} i_1 \left( x_{l+1} + \dots + x_p\right) \\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} i_1 \left( x_{l+1} + \dots + x_p\right) +\dots + \beta_{j} i_j \left( x_{l+1} + \dots + x_p\right) > +\end{align} > + > +\subsubsection{Analysis with Interactions/Environmental Effects keeping original variable} > +\begin{align} > +y &\sim\beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} x_r + \beta_{l+2} i_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} x_r + \beta_{l+2} i_1 x_r + \dots + \beta_j j_1 x_r > +\end{align} > + > +\subsubsection{Analysis with Interactions and factors} > +\begin{align} > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r i_1 \phi_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} i_1 \phi_1 x_r + \dots + \beta_j j_1 \phi_1 x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} i_1 \left( \phi_{l+1} x_{l+1} + \dots + \phi_p x_p\right) \\ > +y &\sim \dots + \beta_l cov_l + \beta_{l+1} i_1 \left( \phi_{l+1} x_{l+1} + \dots + \phi_{p} x_p\right) +\dots + \beta_{j} i_j \left( \phi_{l+1} x_{l+1} + \dots + \phi_{p} x_p\right) > +\end{align} > + > +\subsubsection{Analysis with Interactions and factor keeping original variable} > +\begin{align} > +y &\sim\beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} \phi_{r} x_r + \beta_{l+2} i_1 \phi_{r} x_r\\ > +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} \phi_{r} x_r + \beta_{l+2} i_1 \phi_{r} x_r + \dots + \beta_j j_1 \phi_{r} x_r > +\end{align} > + > + > +\subsection{Regression Coefficients} > + > +$\beta=(X^T X)^{-1} X^T y$ > + > +\subsection{T-statistic} > +\subsection{P-values} > + > + > +\section{Algorithm} > + > +\section{Compromises} > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{Setting OmicabelNoMM up} > + > +\section{Your Machine} > + > +\subsection{Clusters vs personal Computers} > + > +\section{Source Files} > + > +\begin{lstlisting}[style=BASH,escapechar=\%] > + > +user at ubuntu:~$ svn checkout svn://svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM > +Checked out revision 1838. > +user at ubuntu:~$ cd OmicABELnoMM/ > +user at ubuntu:~/OmicABELnoMM$ > +$% > +\end{lstlisting} > + > +\section{Compilers} > + > +\begin{lstlisting}[style=BASH,escapechar=\%] > + > +TODO:Install Compilers cmds > +$% > +\end{lstlisting} > + > +\section{3rd Party Libraries} > + > +\begin{lstlisting}[style=BASH,escapechar=\%] > + > +TODO:Install BOOST and BLAS LIBRARIES cmds > +$% > +\end{lstlisting} > + > +\section{Compiling} > + > +For compiling the final executable binary use: > +\begin{lstlisting}[style=BASH,escapechar=\%] > + > +user at ubuntu:~/OmicABELnoMM$ make > +$% > +\end{lstlisting} > + > +For compiling the test binary use: > +\begin{lstlisting}[style=BASH,escapechar=\%] > + > +user at ubuntu:~/OmicABELnoMM$ make check > +$% > +\end{lstlisting} > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{Preparing Source Data} > + > +\section{Overview} > +\section{Databel} > +\section{Covariates} > +\section{Independent Variables, SNPs,CPG Sites,Measurements used to explain other Measurements} > +\section{Dependent Variable, Phenotypes,Measurements to be explained} > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{Running Analysis} > + > +\section{WARNING: Theoretical Caveats} > + > +\section{Simple Linear Regression} > + > +\section{Cluster usage for Simple Linear Regression} > + > +\section{Covariates in Linear Regression} > + > +\section{Simple interactions of non linear terms, Enviromental Effects} > + > + > +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% > +\chapter{FAQ} > + > +\end{document} > > > Property changes on: pkg/OmicABELnoMM/doc/UserGuide.tex > ___________________________________________________________________ > Added: svn:executable > + * > > Added: pkg/OmicABELnoMM/doc/userguide.pdf > =================================================================== > (Binary files differ) > > > Property changes on: pkg/OmicABELnoMM/doc/userguide.pdf > ___________________________________________________________________ > Added: svn:executable > + * > Added: svn:mime-type > + application/octet-stream > > _______________________________________________ > Genabel-commits mailing list > Genabel-commits at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-commits > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Thu Oct 23 11:46:02 2014 From: lennart at karssen.org (L.C. Karssen) Date: Thu, 23 Oct 2014 11:46:02 +0200 Subject: [GenABEL-dev] [Genabel-commits] r1839 - pkg/OmicABELnoMM/doc In-Reply-To: <244CF001646FF74FB34F372310A332C508408D90@MBX-S2.rwth-ad.de> References: <20141022130636.DF993183BF0@r-forge.r-project.org>, <5448C740.5060107@karssen.org> <244CF001646FF74FB34F372310A332C508408D90@MBX-S2.rwth-ad.de> Message-ID: <5448CE5A.8030402@karssen.org> On 23-10-14 11:19, Frank, Alvaro Jesus wrote: > If you set it up I will for sure use it. > I have no idea how to. Sure, no problem! Lennart. > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] > Sent: Thursday, October 23, 2014 11:15 AM > To: genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] [Genabel-commits] r1839 - pkg/OmicABELnoMM/doc > > Hi Alvaro, > > > On 22-10-14 15:06, noreply at r-forge.r-project.org wrote: >> Author: afrank >> Date: 2014-10-22 15:06:36 +0200 (Wed, 22 Oct 2014) >> New Revision: 1839 >> >> Added: >> pkg/OmicABELnoMM/doc/UserGuide.tex >> pkg/OmicABELnoMM/doc/userguide.pdf >> Log: >> Added documentation Latex barebone and PDF. > > Thanks for starting to work on the documentation, one of the most > valuable parts of a project. > > If you haven't already done so it may be good to see how we use > autotools to generate the PDF from LaTeX source in ProbABEL. Don't > hesitate to ask me for help if you have difficulty understanding parts > of it as it is not very trivial. I must admit that it is not 100% fool > proof because we don't test for the existence of all LaTeX packages in > use. But for someone with a proper TeXLive install it should work (and > there is the --disable-latex-doc option for those who have the pdflatex > binary (which autoconf looks for), but miss other packages). > > One thing about the PDF: could you please remove it from SVN? Since the > PDF can be generated from the source files it doesn't belong in a > version control system. > Moreover, once creation of the PDF has been automated by autotools a > 'make clean' will simply delete it, which may cause confusion when > committing. > > > Best, > > Lennart. > >> >> Added: pkg/OmicABELnoMM/doc/UserGuide.tex >> =================================================================== >> --- pkg/OmicABELnoMM/doc/UserGuide.tex (rev 0) >> +++ pkg/OmicABELnoMM/doc/UserGuide.tex 2014-10-22 13:06:36 UTC (rev 1839) >> @@ -0,0 +1,173 @@ >> +\documentclass{report} >> + >> +\usepackage{fullpage} >> + >> +\usepackage{graphicx,color} >> +\usepackage{mhchem} >> +\usepackage{xcolor} >> +\usepackage{listings} >> + >> + >> +\lstdefinestyle{BASH} >> +{ >> + backgroundcolor=\color{black}, >> + basicstyle=\scriptsize\color{white}\ttfamily >> +} >> + >> + >> +\begin{document} >> + >> +\title{OmicabelNoMM User's Guide} >> +\author{Alvaro Frank} >> +\date{October 2014} >> +\maketitle >> + >> + >> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% >> +\chapter{Quick Usage} >> + >> + >> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% >> +\chapter{Understanding OmicabelNoMM} >> + >> +\section{Overview} >> + >> +\section{Glossary} >> + >> +\section{Formulas} >> + >> +\subsection{Possible analysis} >> + >> +\subsubsection{Basic analysis} >> +\begin{align} >> +y &\sim \beta_0 1 + \beta_1 x \\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r x_r\\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} x_{l+1} + \dots + \beta_p x_p\\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} \left(x_{l+1} + \dots + x_p\right) >> +\end{align} >> + >> +\subsubsection{Analysis with factors/dosages} >> +\begin{align} >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r \phi_1 x_r\\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} \phi_1 x_{l+1} + \dots + \beta_p \phi_r x_p\\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} \left( \phi_1 x_{l+1} + \dots + \phi_r x_p\right) >> +\end{align} >> + >> +\subsubsection{Analysis with Interactions/Environmental Effects} >> +\begin{align} >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r i_1 x_r\\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} i_1 x_r + \dots + \beta_j j_1 x_r\\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} i_1 \left( x_{l+1} + \dots + x_p\right) \\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} i_1 \left( x_{l+1} + \dots + x_p\right) +\dots + \beta_{j} i_j \left( x_{l+1} + \dots + x_p\right) >> +\end{align} >> + >> +\subsubsection{Analysis with Interactions/Environmental Effects keeping original variable} >> +\begin{align} >> +y &\sim\beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} x_r + \beta_{l+2} i_1 x_r\\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} x_r + \beta_{l+2} i_1 x_r + \dots + \beta_j j_1 x_r >> +\end{align} >> + >> +\subsubsection{Analysis with Interactions and factors} >> +\begin{align} >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_r i_1 \phi_1 x_r\\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} i_1 \phi_1 x_r + \dots + \beta_j j_1 \phi_1 x_r\\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{r} i_1 \left( \phi_{l+1} x_{l+1} + \dots + \phi_p x_p\right) \\ >> +y &\sim \dots + \beta_l cov_l + \beta_{l+1} i_1 \left( \phi_{l+1} x_{l+1} + \dots + \phi_{p} x_p\right) +\dots + \beta_{j} i_j \left( \phi_{l+1} x_{l+1} + \dots + \phi_{p} x_p\right) >> +\end{align} >> + >> +\subsubsection{Analysis with Interactions and factor keeping original variable} >> +\begin{align} >> +y &\sim\beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} \phi_{r} x_r + \beta_{l+2} i_1 \phi_{r} x_r\\ >> +y &\sim \beta_0 1 + \beta_1 cov_1 + \dots + \beta_l cov_l + \beta_{l+1} \phi_{r} x_r + \beta_{l+2} i_1 \phi_{r} x_r + \dots + \beta_j j_1 \phi_{r} x_r >> +\end{align} >> + >> + >> +\subsection{Regression Coefficients} >> + >> +$\beta=(X^T X)^{-1} X^T y$ >> + >> +\subsection{T-statistic} >> +\subsection{P-values} >> + >> + >> +\section{Algorithm} >> + >> +\section{Compromises} >> + >> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% >> +\chapter{Setting OmicabelNoMM up} >> + >> +\section{Your Machine} >> + >> +\subsection{Clusters vs personal Computers} >> + >> +\section{Source Files} >> + >> +\begin{lstlisting}[style=BASH,escapechar=\%] >> + >> +user at ubuntu:~$ svn checkout svn://svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM >> +Checked out revision 1838. >> +user at ubuntu:~$ cd OmicABELnoMM/ >> +user at ubuntu:~/OmicABELnoMM$ >> +$% >> +\end{lstlisting} >> + >> +\section{Compilers} >> + >> +\begin{lstlisting}[style=BASH,escapechar=\%] >> + >> +TODO:Install Compilers cmds >> +$% >> +\end{lstlisting} >> + >> +\section{3rd Party Libraries} >> + >> +\begin{lstlisting}[style=BASH,escapechar=\%] >> + >> +TODO:Install BOOST and BLAS LIBRARIES cmds >> +$% >> +\end{lstlisting} >> + >> +\section{Compiling} >> + >> +For compiling the final executable binary use: >> +\begin{lstlisting}[style=BASH,escapechar=\%] >> + >> +user at ubuntu:~/OmicABELnoMM$ make >> +$% >> +\end{lstlisting} >> + >> +For compiling the test binary use: >> +\begin{lstlisting}[style=BASH,escapechar=\%] >> + >> +user at ubuntu:~/OmicABELnoMM$ make check >> +$% >> +\end{lstlisting} >> + >> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% >> +\chapter{Preparing Source Data} >> + >> +\section{Overview} >> +\section{Databel} >> +\section{Covariates} >> +\section{Independent Variables, SNPs,CPG Sites,Measurements used to explain other Measurements} >> +\section{Dependent Variable, Phenotypes,Measurements to be explained} >> + >> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% >> +\chapter{Running Analysis} >> + >> +\section{WARNING: Theoretical Caveats} >> + >> +\section{Simple Linear Regression} >> + >> +\section{Cluster usage for Simple Linear Regression} >> + >> +\section{Covariates in Linear Regression} >> + >> +\section{Simple interactions of non linear terms, Enviromental Effects} >> + >> + >> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% >> +\chapter{FAQ} >> + >> +\end{document} >> >> >> Property changes on: pkg/OmicABELnoMM/doc/UserGuide.tex >> ___________________________________________________________________ >> Added: svn:executable >> + * >> >> Added: pkg/OmicABELnoMM/doc/userguide.pdf >> =================================================================== >> (Binary files differ) >> >> >> Property changes on: pkg/OmicABELnoMM/doc/userguide.pdf >> ___________________________________________________________________ >> Added: svn:executable >> + * >> Added: svn:mime-type >> + application/octet-stream >> >> _______________________________________________ >> Genabel-commits mailing list >> Genabel-commits at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-commits >> > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From l.c.karssen at polyomica.com Thu Oct 23 18:28:57 2014 From: l.c.karssen at polyomica.com (L.C. Karssen) Date: Thu, 23 Oct 2014 18:28:57 +0200 Subject: [GenABEL-dev] [Genabel-commits] r1837 - in pkg/OmicABELnoMM: . examples src tests In-Reply-To: <244CF001646FF74FB34F372310A332C508408A08@MBX-S2.rwth-ad.de> References: <20141021133018.1FD73187260@r-forge.r-project.org>, <5446673F.6020102@karssen.org> <244CF001646FF74FB34F372310A332C508408A08@MBX-S2.rwth-ad.de> Message-ID: <54492CC9.804@polyomica.com> Hi Alvaro, On 21-10-14 18:47, Frank, Alvaro Jesus wrote: > > The if statements below are a pain to my eyes :-). Due to the formatting > (missing indentation and/or missing curly braces) it gives the > impression that both the cout and the i = statement are carried out if > the condition is true (or maybe even that nothing happens in the > if-statement if you take the lack of indentation seriously). > > At the very least I would indent the cout statement, but given that it > is a long line anyway (which are best avoided), I would add {}s and > break the cout statement over multiple lines. > > > I will do a code cleanup and address this issues. > That'd be great. Thanks! > > > > + if(params.mpi_id == 0) > > cout << "Warning, ID names between -g file and interactions file > do not coincide! The files must have the same meaningful order!" << > endl; > > i = params.n;//exit > > } > > @@ -433,7 +461,7 @@ > > } > > } > > } > > - if(interaction_missings) > > This if statement is indented as it should be, although I would prefer > breaking the long line. > > Editor and screen size dependent, but I can comply. True, but the fact that it's screen size dependent is one of the reasons to stick to a standard width. > > > Have you ever considered using C++ vectors instead of arrays? They save > you the trouble of new/delete, for example. I have no idea if there is a > performance hit, however. But I can imagine that combined with iterators > they may be well-optimised. > Or do you simply use them because LAPACK needs arrays anyway? > If I understand your answer below correctly, it looks like you misunderstood what I tried to say. So, before we get into technical stuff: in this case I was mostly wondering about whether using std::vector would be slower (or faster) than the current use of arrays in the case of OmicABELnoMM. See for example http://lemire.me/blog/archives/2012/06/20/do-not-waste-time-with-stl-vectors/. And the last part of my question was: maybe using std::vectors is simply not even possible because you need to pass them on to LAPACK routines, which accept pointers to arrays, IIRC. Now going back to what you wrote: > > ISO C++ forbids variable-size array. I cannot comply with every style > and avoid all possible warnings at the same time. I don't think I understand your first point. Variable-length arrays (VLAs) are indeed not ISO C++ (yet), but that's not what I was after. I was wondering if std::vector would be (a lot) slower than your current solution. In terms of 'bookkeeping', STL vectors are definitely easier, which is why I prefer to use them. I just don't know if they are much slower in a program as optimised as OmicABELnoMM. About the 'bookkeeping': Currently you use new to allocate memory on the heap and delete[] for deallocation. Using std::vector removes that need. Moreover, if you use new to allocate arrays you should actually check whether the allocation succeeded. As an example of how easy it is to make a mistake, check line 1908 of src/AIOwrapper.cpp, where you use a delete that should have been a delete[] (thanks to Jenkins' cppcheck for pointing this one out). As for the C++ standard to use (if that is what you mean with 'style'), currently you have -std=c++11 in the default CXXFLAGs in configure.ac. I'd stick with that. About avoiding warnings: Creating warning-free code is paramount IMO, because it leads to code that is less prone to bugs and is easier to maintain. > > > Modified: pkg/OmicABELnoMM/src/main.cpp > > =================================================================== > > --- pkg/OmicABELnoMM/src/main.cpp 2014-10-17 14:57:34 UTC (rev 1836) > > +++ pkg/OmicABELnoMM/src/main.cpp 2014-10-21 13:30:17 UTC (rev 1837) > > @@ -18,39 +18,41 @@ > > -d <0.0~1.0> -r <-10.0~1.0> -b -s <0.0~1.0> -e <-10.0~1.0> -i -f"; > > > > string helpcmd_expl = > > > Note that you can use the information generated by autotools for version > info. If you include the config.h file that is generated you can do it > like we did in ProbABEL, for example in src/usage.cpp: > > void print_version(void) { > cout << PACKAGE > << " v. " << PACKAGE_VERSION > << "\n(C) Yurii Aulchenko, Lennart C. Karssen, Maarten Kooyman, " > << "Maksim Struchalin, The GenABEL team, EMC Rotterdam\n\n"; > cout << "Using EIGEN version " << EIGEN_WORLD_VERSION > << "." << EIGEN_MAJOR_VERSION << "." << EIGEN_MINOR_VERSION > << " for matrix operations\n"; > } > > The PACKAGE and PACKAGE_VERSION variables comes from config.h, and are > generated by autotools. OmicABELnoMM's src/config.h contains them as > well. > > > I will try it > Let me know if it doesn't work out. Best, Lennart. -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Thu Oct 23 21:51:04 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Thu, 23 Oct 2014 19:51:04 +0000 Subject: [GenABEL-dev] [Genabel-commits] r1837 - in pkg/OmicABELnoMM: . examples src tests In-Reply-To: <54492CC9.804@polyomica.com> References: <20141021133018.1FD73187260@r-forge.r-project.org>, <5446673F.6020102@karssen.org> <244CF001646FF74FB34F372310A332C508408A08@MBX-S2.rwth-ad.de>, <54492CC9.804@polyomica.com> Message-ID: <244CF001646FF74FB34F372310A332C508408EC2@MBX-S2.rwth-ad.de> Hi Lennart, Sorry for the misunderstanding regarding vector. I really rather keep the arrays though. I will try to break long lines on my next code cleanup pass and do an A-style auto formatting. I am focused on the documentation to make sure users can get started. I will try to sit with Yakov and Sodbo to show them the program and its usage (they are in Munich). Alvaro ________________________________________ From: L.C. Karssen [l.c.karssen at polyomica.com] Sent: Thursday, October 23, 2014 6:28 PM To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] [Genabel-commits] r1837 - in pkg/OmicABELnoMM: . examples src tests Hi Alvaro, On 21-10-14 18:47, Frank, Alvaro Jesus wrote: > > The if statements below are a pain to my eyes :-). Due to the formatting > (missing indentation and/or missing curly braces) it gives the > impression that both the cout and the i = statement are carried out if > the condition is true (or maybe even that nothing happens in the > if-statement if you take the lack of indentation seriously). > > At the very least I would indent the cout statement, but given that it > is a long line anyway (which are best avoided), I would add {}s and > break the cout statement over multiple lines. > > > I will do a code cleanup and address this issues. > That'd be great. Thanks! > > > > + if(params.mpi_id == 0) > > cout << "Warning, ID names between -g file and interactions file > do not coincide! The files must have the same meaningful order!" << > endl; > > i = params.n;//exit > > } > > @@ -433,7 +461,7 @@ > > } > > } > > } > > - if(interaction_missings) > > This if statement is indented as it should be, although I would prefer > breaking the long line. > > Editor and screen size dependent, but I can comply. True, but the fact that it's screen size dependent is one of the reasons to stick to a standard width. > > > Have you ever considered using C++ vectors instead of arrays? They save > you the trouble of new/delete, for example. I have no idea if there is a > performance hit, however. But I can imagine that combined with iterators > they may be well-optimised. > Or do you simply use them because LAPACK needs arrays anyway? > If I understand your answer below correctly, it looks like you misunderstood what I tried to say. So, before we get into technical stuff: in this case I was mostly wondering about whether using std::vector would be slower (or faster) than the current use of arrays in the case of OmicABELnoMM. See for example http://lemire.me/blog/archives/2012/06/20/do-not-waste-time-with-stl-vectors/. And the last part of my question was: maybe using std::vectors is simply not even possible because you need to pass them on to LAPACK routines, which accept pointers to arrays, IIRC. Now going back to what you wrote: > > ISO C++ forbids variable-size array. I cannot comply with every style > and avoid all possible warnings at the same time. I don't think I understand your first point. Variable-length arrays (VLAs) are indeed not ISO C++ (yet), but that's not what I was after. I was wondering if std::vector would be (a lot) slower than your current solution. In terms of 'bookkeeping', STL vectors are definitely easier, which is why I prefer to use them. I just don't know if they are much slower in a program as optimised as OmicABELnoMM. About the 'bookkeeping': Currently you use new to allocate memory on the heap and delete[] for deallocation. Using std::vector removes that need. Moreover, if you use new to allocate arrays you should actually check whether the allocation succeeded. As an example of how easy it is to make a mistake, check line 1908 of src/AIOwrapper.cpp, where you use a delete that should have been a delete[] (thanks to Jenkins' cppcheck for pointing this one out). As for the C++ standard to use (if that is what you mean with 'style'), currently you have -std=c++11 in the default CXXFLAGs in configure.ac. I'd stick with that. About avoiding warnings: Creating warning-free code is paramount IMO, because it leads to code that is less prone to bugs and is easier to maintain. > > > Modified: pkg/OmicABELnoMM/src/main.cpp > > =================================================================== > > --- pkg/OmicABELnoMM/src/main.cpp 2014-10-17 14:57:34 UTC (rev 1836) > > +++ pkg/OmicABELnoMM/src/main.cpp 2014-10-21 13:30:17 UTC (rev 1837) > > @@ -18,39 +18,41 @@ > > -d <0.0~1.0> -r <-10.0~1.0> -b -s <0.0~1.0> -e <-10.0~1.0> -i -f"; > > > > string helpcmd_expl = > > > Note that you can use the information generated by autotools for version > info. If you include the config.h file that is generated you can do it > like we did in ProbABEL, for example in src/usage.cpp: > > void print_version(void) { > cout << PACKAGE > << " v. " << PACKAGE_VERSION > << "\n(C) Yurii Aulchenko, Lennart C. Karssen, Maarten Kooyman, " > << "Maksim Struchalin, The GenABEL team, EMC Rotterdam\n\n"; > cout << "Using EIGEN version " << EIGEN_WORLD_VERSION > << "." << EIGEN_MAJOR_VERSION << "." << EIGEN_MINOR_VERSION > << " for matrix operations\n"; > } > > The PACKAGE and PACKAGE_VERSION variables comes from config.h, and are > generated by autotools. OmicABELnoMM's src/config.h contains them as > well. > > > I will try it > Let me know if it doesn't work out. Best, Lennart. -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Fri Oct 24 09:28:01 2014 From: lennart at karssen.org (L.C. Karssen) Date: Fri, 24 Oct 2014 09:28:01 +0200 Subject: [GenABEL-dev] [Genabel-commits] r1837 - in pkg/OmicABELnoMM: . examples src tests In-Reply-To: <244CF001646FF74FB34F372310A332C508408EC2@MBX-S2.rwth-ad.de> References: <20141021133018.1FD73187260@r-forge.r-project.org>, <5446673F.6020102@karssen.org> <244CF001646FF74FB34F372310A332C508408A08@MBX-S2.rwth-ad.de>, <54492CC9.804@polyomica.com> <244CF001646FF74FB34F372310A332C508408EC2@MBX-S2.rwth-ad.de> Message-ID: <5449FF81.2000301@karssen.org> Hi Alvaro, On 23-10-14 21:51, Frank, Alvaro Jesus wrote: > Hi Lennart, > > Sorry for the misunderstanding regarding vector. I really rather keep the arrays though. No problem! That's fine with me. I googled a bit more and it seems there is a small penalty for std::vector, but more importantly, conversion to arrays for LAPACK would probably be another place where CPU cycles would get wasted. > I will try to break long lines on my next code cleanup pass and do an A-style auto formatting. > I am focused on the documentation to make sure users can get started. I will try to sit with Yakov and Sodbo to show them the program and its usage (they are in Munich). > Excellent! Looking forward to hear about their experience. By the way, I tried to copy the autotools code for the LaTeX documentation generation from ProbABEL to OmicABELnoMM and ran into a bit of an issue. Will try to solve that today and commit. Lennart. > Alvaro > ________________________________________ > From: L.C. Karssen [l.c.karssen at polyomica.com] > Sent: Thursday, October 23, 2014 6:28 PM > To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] [Genabel-commits] r1837 - in pkg/OmicABELnoMM: . examples src tests > > Hi Alvaro, > > On 21-10-14 18:47, Frank, Alvaro Jesus wrote: >> >> The if statements below are a pain to my eyes :-). Due to the formatting >> (missing indentation and/or missing curly braces) it gives the >> impression that both the cout and the i = statement are carried out if >> the condition is true (or maybe even that nothing happens in the >> if-statement if you take the lack of indentation seriously). >> >> At the very least I would indent the cout statement, but given that it >> is a long line anyway (which are best avoided), I would add {}s and >> break the cout statement over multiple lines. >> >> >> I will do a code cleanup and address this issues. >> > > That'd be great. Thanks! > >> >> >> > + if(params.mpi_id == 0) >> > cout << "Warning, ID names between -g file and interactions file >> do not coincide! The files must have the same meaningful order!" << >> endl; >> > i = params.n;//exit >> > } >> > @@ -433,7 +461,7 @@ >> > } >> > } >> > } >> > - if(interaction_missings) >> >> This if statement is indented as it should be, although I would prefer >> breaking the long line. >> >> Editor and screen size dependent, but I can comply. > > True, but the fact that it's screen size dependent is one of the reasons > to stick to a standard width. > > >> >> >> Have you ever considered using C++ vectors instead of arrays? They save >> you the trouble of new/delete, for example. I have no idea if there is a >> performance hit, however. But I can imagine that combined with iterators >> they may be well-optimised. >> Or do you simply use them because LAPACK needs arrays anyway? >> > > If I understand your answer below correctly, it looks like you > misunderstood what I tried to say. So, before we get into technical > stuff: in this case I was mostly wondering about whether using > std::vector would be slower (or faster) than the current use of arrays > in the case of OmicABELnoMM. See for example > http://lemire.me/blog/archives/2012/06/20/do-not-waste-time-with-stl-vectors/. > > And the last part of my question was: maybe using std::vectors is simply > not even possible because you need to pass them on to LAPACK routines, > which accept pointers to arrays, IIRC. > > Now going back to what you wrote: > >> >> ISO C++ forbids variable-size array. I cannot comply with every style >> and avoid all possible warnings at the same time. > > > I don't think I understand your first point. Variable-length arrays > (VLAs) are indeed not ISO C++ (yet), but that's not what I was after. I > was wondering if std::vector would be (a lot) slower than your current > solution. In terms of 'bookkeeping', STL vectors are definitely easier, > which is why I prefer to use them. I just don't know if they are much > slower in a program as optimised as OmicABELnoMM. > > About the 'bookkeeping': > Currently you use new to allocate memory on the heap and delete[] for > deallocation. Using std::vector removes that need. Moreover, if you use > new to allocate arrays you should actually check whether the allocation > succeeded. > As an example of how easy it is to make a mistake, check line 1908 of > src/AIOwrapper.cpp, where you use a delete that should have been a > delete[] (thanks to Jenkins' cppcheck for pointing this one out). > > As for the C++ standard to use (if that is what you mean with 'style'), > currently you have -std=c++11 in the default CXXFLAGs in configure.ac. > I'd stick with that. > > About avoiding warnings: Creating warning-free code is paramount IMO, > because it leads to code that is less prone to bugs and is easier to > maintain. > > > >> >> > Modified: pkg/OmicABELnoMM/src/main.cpp >> > =================================================================== >> > --- pkg/OmicABELnoMM/src/main.cpp 2014-10-17 14:57:34 UTC (rev 1836) >> > +++ pkg/OmicABELnoMM/src/main.cpp 2014-10-21 13:30:17 UTC (rev 1837) >> > @@ -18,39 +18,41 @@ >> > -d <0.0~1.0> -r <-10.0~1.0> -b -s <0.0~1.0> -e <-10.0~1.0> -i -f"; >> > >> > string helpcmd_expl = >> >> >> Note that you can use the information generated by autotools for version >> info. If you include the config.h file that is generated you can do it >> like we did in ProbABEL, for example in src/usage.cpp: >> >> void print_version(void) { >> cout << PACKAGE >> << " v. " << PACKAGE_VERSION >> << "\n(C) Yurii Aulchenko, Lennart C. Karssen, Maarten Kooyman, " >> << "Maksim Struchalin, The GenABEL team, EMC Rotterdam\n\n"; >> cout << "Using EIGEN version " << EIGEN_WORLD_VERSION >> << "." << EIGEN_MAJOR_VERSION << "." << EIGEN_MINOR_VERSION >> << " for matrix operations\n"; >> } >> >> The PACKAGE and PACKAGE_VERSION variables comes from config.h, and are >> generated by autotools. OmicABELnoMM's src/config.h contains them as >> well. >> >> >> I will try it >> > > > > Let me know if it doesn't work out. > > > Best, > > Lennart. > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Fri Oct 24 10:55:13 2014 From: lennart at karssen.org (L.C. Karssen) Date: Fri, 24 Oct 2014 10:55:13 +0200 Subject: [GenABEL-dev] OmicABELnoMM and OpenMPI problem Message-ID: <544A13F1.2060000@karssen.org> Hi Alvaro, When I ran 'make check' on OmicABELnoMM I got the following error message: FAIL: tests/test_omicabelnomm ============================= [barabas:25893] [[INVALID],INVALID] ORTE_ERROR_LOG: A system-required executable either could not be found or was not executable by this user in file ess_singleton_module.c at line 231 [barabas:25893] [[INVALID],INVALID] ORTE_ERROR_LOG: A system-required executable either could not be found or was not executable by this user in file ess_singleton_module.c at line 140 [barabas:25893] [[INVALID],INVALID] ORTE_ERROR_LOG: A system-required executable either could not be found or was not executable by this user in file runtime/orte_init.c at line 128 -------------------------------------------------------------------------- It looks like orte_init failed for some reason; your parallel process is likely to abort. There are many reasons that a parallel process can fail during orte_init; some of which are due to configuration or environment problems. This failure appears to be an internal failure; here's some additional information (which may only be relevant to an Open MPI developer): And some more (see attachment). Googling for the error message it seems that this happens when you have openMPI installed instead of MPICH2 [1]. After removing the openMPI packages from my Ubuntu 14.04 installation the tests work as expected. Do you have any idea why this is, or whether OAnMM can be made to accept both of the MPI implementations (e.g. by letting autoconf detect which library is present)? Is there an advantage in using MPICH vs openMPI? I tried to find more on the difference between the two implementations and there seem to be advantages in both... What is your opinion as an HPC guy? Best, Lennart. [1] http://stackoverflow.com/questions/7011519/mpiexec-fails-as-mpi-init-aborts -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: test-suite.log Type: text/x-log Size: 2845 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From l.c.karssen at polyomica.com Fri Oct 24 10:55:21 2014 From: l.c.karssen at polyomica.com (L.C. Karssen) Date: Fri, 24 Oct 2014 10:55:21 +0200 Subject: [GenABEL-dev] Building OmicABELnoMM without MPI Message-ID: <544A13F9.6020600@polyomica.com> Hi Alvaro, Here's a follow-up to my previous question about OpenMPI vs MICH: It turns out that if I don't have any MPI library installed, ./configure prints the following output: checking for mpic++... no checking for mpicxx... no but it continues. However, make subsequently fails: src/Definitions.h:31:17: fatal error: mpi.h: No such file or directory #include I think there are two solutions: 1) Make MPI libraries a requirement for OAnMM: so ./configure should abort with an error if AC_PROG_CXX([mpic++ mpicxx]) fails. 2) Write a bit of code using #ifdefs to disable parts that need MPI if the libs are not installed (or when the user explicitly runs ./configure --disable-mpi, for exmaple). I'd say the first one is rather drastic, the second one being nicer to the user. However, I didn't look into the code base to see whether it is possible to selectively disable MPI use. What do you think? Best, Lennart. -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Lennart C. Karssen PolyOmica Groningen The Netherlands l.c.karssen at polyomica.com GPG key ID: 1A15AF2A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Fri Oct 24 11:04:14 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Fri, 24 Oct 2014 09:04:14 +0000 Subject: [GenABEL-dev] Building OmicABELnoMM without MPI In-Reply-To: <544A13F9.6020600@polyomica.com> References: <544A13F9.6020600@polyomica.com> Message-ID: <244CF001646FF74FB34F372310A332C508408FD5@MBX-S2.rwth-ad.de> 2) Write a bit of code using #ifdefs to disable parts that need MPI if the libs are not installed (or when the user explicitly runs ./configure --disable-mpi, for exmaple). This one would be the best in terms of usage for non heavy users and it wont be much problem for me to change. I will add the pragmas and allow for it to be disabled. But if we want to be consistent with autoconf, I guess when someone DOES want to use mpi, there has to be a way for ./configure to detect it. The problem is also a way to determine both compilers inside of the makefile, there are two different compilations: g++ .... and mpicc/mpicxx/mpic++ on top of that there is your mentioned MPICH and OpenMPI variations. The user will have at some point to install the libraries and binaries. It is also worth noting that Boost is also required, and my system I have to specified manually. How are you handling that yourself? openblas also requires openmp which is why I ask the user to compile it himself with proper settings, which are not present on pckg distributed by debian or ubuntu. I am concerned about users who have NOTHING installed, not even latest gcc's. -Alvaro ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [l.c.karssen at polyomica.com] Sent: Friday, October 24, 2014 10:55 AM To: GenABEL Development list Subject: [GenABEL-dev] Building OmicABELnoMM without MPI Hi Alvaro, Here's a follow-up to my previous question about OpenMPI vs MICH: It turns out that if I don't have any MPI library installed, ./configure prints the following output: checking for mpic++... no checking for mpicxx... no but it continues. However, make subsequently fails: src/Definitions.h:31:17: fatal error: mpi.h: No such file or directory #include I think there are two solutions: 1) Make MPI libraries a requirement for OAnMM: so ./configure should abort with an error if AC_PROG_CXX([mpic++ mpicxx]) fails. 2) Write a bit of code using #ifdefs to disable parts that need MPI if the libs are not installed (or when the user explicitly runs ./configure --disable-mpi, for exmaple). I'd say the first one is rather drastic, the second one being nicer to the user. However, I didn't look into the code base to see whether it is possible to selectively disable MPI use. What do you think? Best, Lennart. -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Lennart C. Karssen PolyOmica Groningen The Netherlands l.c.karssen at polyomica.com GPG key ID: 1A15AF2A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Fri Oct 24 13:08:57 2014 From: lennart at karssen.org (L.C. Karssen) Date: Fri, 24 Oct 2014 13:08:57 +0200 Subject: [GenABEL-dev] Building OmicABELnoMM without MPI In-Reply-To: <244CF001646FF74FB34F372310A332C508408FD5@MBX-S2.rwth-ad.de> References: <544A13F9.6020600@polyomica.com> <244CF001646FF74FB34F372310A332C508408FD5@MBX-S2.rwth-ad.de> Message-ID: <544A3349.70106@karssen.org> Hi Alvaro, On 24-10-14 11:04, Frank, Alvaro Jesus wrote: > 2) Write a bit of code using #ifdefs to disable parts that need MPI > if the libs are not installed (or when the user explicitly runs > ./configure --disable-mpi, for exmaple). > > This one would be the best in terms of usage for non heavy users and > it wont be much problem for me to change. I will add the pragmas and > allow for it to be disabled. Great! > > But if we want to be consistent with autoconf, I guess when someone > DOES want to use mpi, there has to be a way for ./configure to detect > it. The problem is also a way to determine both compilers inside of > the makefile, there are two different compilations: > > g++ .... and mpicc/mpicxx/mpic++ on top of that there is your > mentioned MPICH and OpenMPI variations. I'll have a look and see what is out there on the internet (before starting building my own stuff :-)). > > The user will have at some point to install the libraries and > binaries. It is also worth noting that Boost is also required, and my > system I have to specified manually. How are you handling that > yourself? I'll include a test for the Boost libs into configure.ac, I've already have that for ProbABEL in trunk. > > openblas also requires openmp which is why I ask the user to compile > it himself with proper settings, which are not present on pckg > distributed by debian or ubuntu. I think it is, actually. I can compile and run OAnMM on my Ubuntu system with the packages from the default repos installed. 'make check' also seems to work (no errors produced). > > I am concerned about users who have NOTHING installed, not even > latest gcc's. In that case they won't have make installed either, I guess. ./configure will run, but with lots of errors. This is not a real problem, in my opinion. We should make sure the documentation is clear on the minimum software requirements: gcc (>= v 4.xx or something for c++11 support), (GNU) make, LAPACK and some form of OpenBLAS (either the non-optimal version of the repo's or a self-compiled one). By the way, did you know that Debian/Ubuntu's package for OpenBLAS contains instructions on how to compile a package on the user's own architecture? See /usr/share/doc/libopenblas-base/README.Debian or http://anonscm.debian.org/cgit/debian-science/packages/openblas.git/tree/debian/README.Debian I think that most distributions we are targeting with OAnMM will have packages for these requirements. Maybe some enterprise distros like RHEL/CentOS/Scientific Linux/Debian will be running a bit behind, but I don't feel that it's our concern to deal with that. It would really be beyond our scope. IIRC there are alternative repositories with more up-to-date version of tools like gcc. Best, Lenart. > > -Alvaro > > ________________________________________ From: > genabel-devel-bounces at lists.r-forge.r-project.org > [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. > Karssen [l.c.karssen at polyomica.com] Sent: Friday, October 24, 2014 > 10:55 AM To: GenABEL Development list Subject: [GenABEL-dev] Building > OmicABELnoMM without MPI > > Hi Alvaro, > > Here's a follow-up to my previous question about OpenMPI vs MICH: > > It turns out that if I don't have any MPI library installed, > ./configure prints the following output: > > checking for mpic++... no checking for mpicxx... no > > but it continues. However, make subsequently fails: > > src/Definitions.h:31:17: fatal error: mpi.h: No such file or > directory #include > > > I think there are two solutions: > > 1) Make MPI libraries a requirement for OAnMM: so ./configure should > abort with an error if AC_PROG_CXX([mpic++ mpicxx]) fails. > > 2) Write a bit of code using #ifdefs to disable parts that need MPI > if the libs are not installed (or when the user explicitly runs > ./configure --disable-mpi, for exmaple). > > > I'd say the first one is rather drastic, the second one being nicer > to the user. However, I didn't look into the code base to see whether > it is possible to selectively disable MPI use. > > What do you think? > > > Best, > > Lennart. > > > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Lennart C. > Karssen PolyOmica Groningen The Netherlands > > l.c.karssen at polyomica.com GPG key ID: 1A15AF2A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > > _______________________________________________ genabel-devel mailing > list genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Mon Oct 27 10:21:11 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 09:21:11 +0000 Subject: [GenABEL-dev] LATEX error on autoreconf Message-ID: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> Is there a reason for this to happen? (pure checkout from the repo) /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi Makefile.am:194: BUILD_latexdoc does not appear in AM_CONDITIONAL Makefile.am:195: HAVE_PDFLATEX does not appear in AM_CONDITIONAL autoreconf: automake failed with exit status: 1 Any help is appreciated, -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From alvaro.frank at rwth-aachen.de Mon Oct 27 10:30:08 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 09:30:08 +0000 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> Message-ID: <244CF001646FF74FB34F372310A332C508409598@MBX-S2.rwth-ad.de> There is another error on a different system with the same raw checkout: user at ubuntu:~/Desktop/omicabelnomm/mergeTest/OmicABELnoMM$ ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking whether to enable maintainer-specific portions of Makefiles... yes ./configure: line 3154: syntax error near unexpected token `test' ./configure: line 3154: `AX_PROG_CXX_MPI(test "x$with_mpi" != "xno",' Note that my system DOES have mpi and that it compiled without issues. It is difficult to solve problems if I wasn't the one introducing them. I appreciate any help on the matter. -Alvaro ________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] Sent: Monday, October 27, 2014 10:21 AM To: genabel-devel at lists.r-forge.r-project.org Subject: [GenABEL-dev] LATEX error on autoreconf Is there a reason for this to happen? (pure checkout from the repo) /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi Makefile.am:194: BUILD_latexdoc does not appear in AM_CONDITIONAL Makefile.am:195: HAVE_PDFLATEX does not appear in AM_CONDITIONAL autoreconf: automake failed with exit status: 1 Any help is appreciated, -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From lennart at karssen.org Mon Oct 27 12:17:28 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 12:17:28 +0100 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C508409598@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C508409598@MBX-S2.rwth-ad.de> Message-ID: <544E29C8.3030300@karssen.org> Hi Alvaro, On 27-10-14 10:30, Frank, Alvaro Jesus wrote: > There is another error on a different system with the same raw checkout: > > user at ubuntu:~/Desktop/omicabelnomm/mergeTest/OmicABELnoMM$ ./configure > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... /bin/mkdir -p > checking for gawk... no > checking for mawk... mawk > checking whether make sets $(MAKE)... yes > checking whether make supports nested variables... yes > checking whether make supports nested variables... (cached) yes > checking whether to enable maintainer-specific portions of Makefiles... yes > ./configure: line 3154: syntax error near unexpected token `test' > ./configure: line 3154: `AX_PROG_CXX_MPI(test "x$with_mpi" != "xno",' > > Note that my system DOES have mpi and that it compiled without issues. That's because the AX_PROG_CXX_MPI autoconf macro is not part of the default autoconf install. See the SVN log message of commit 1849 for pointers on how to solve this error. https://r-forge.r-project.org/scm/viewvc.php/pkg/OmicABELnoMM/configure.ac?root=genabel&view=log#rev1849 > > It is difficult to solve problems if I wasn't the one introducing them. Indeed. But it's a good idea to review log messages of the changes that were done by others ;-). > > I appreciate any help on the matter. Let me know if you keep having troubles with this. Lennart. > > > -Alvaro > > ------------------------------------------------------------------------ > *From:* genabel-devel-bounces at lists.r-forge.r-project.org > [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, > Alvaro Jesus [alvaro.frank at rwth-aachen.de] > *Sent:* Monday, October 27, 2014 10:21 AM > *To:* genabel-devel at lists.r-forge.r-project.org > *Subject:* [GenABEL-dev] LATEX error on autoreconf > > Is there a reason for this to happen? (pure checkout from the repo) > > /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi > Makefile.am:194: BUILD_latexdoc does not appear in AM_CONDITIONAL > Makefile.am:195: HAVE_PDFLATEX does not appear in AM_CONDITIONAL > autoreconf: automake failed with exit status: 1 > > > Any help is appreciated, > > -Alvaro > > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Mon Oct 27 12:23:05 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 11:23:05 +0000 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <544E29C8.3030300@karssen.org> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C508409598@MBX-S2.rwth-ad.de>, <544E29C8.3030300@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C5084095D1@MBX-S2.rwth-ad.de> Hi Lennart, My solution was simlier, check for mpicc/mpixx and done, no need for special scripts. For me as a developer it might not be a problem, but I am testing user environments and I cant ask users to do download those special features. Is there a way to revert it to a system where a conditional check is used for mpicc/mpixx and if not use normal g++? -Alvaro For the record, any request made to user gets escalated to sysadmins and then this is what happens: --------------------------------------- Daer Mr. Frank, i needed some time to get it compiled, each compiling one day. It comes out, that for installation gcc 4.6 and 4.9 conflicts in system libraries with same name. Due to the fact, that 223 packages depend on gcc 4.6 i can not update these libraries. Sorry, but gcc 4.6 is highest gcc version i can provide. Best regards, ----------------------- On Tuesday 23 September 2014 15:35:29 you wrote: > Dear Mr ----------, > > Thank you for your help with Autoconf. > I have managed to make advancements but I am in the need for a newer > version of GCC, would this also be possible? 4.9 would be ok. Thank > you in advance for any help on the matter! > > Best regards, > > Alvaro > > -----Urspr?ngliche Nachricht----- > > > Dear Mr. Frank, > > autoconf Version 2.69 is now installed under /opt/autoconf/2.69/bin. > > To use it in bash, use: > > export PATH=/opt/autoconf/2.69/bin:$PATH > > to see: > > autoconf --version > > Current standard version 2.63 could not be replaced for system stability. > ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 12:17 PM To: genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] LATEX error on autoreconf Hi Alvaro, On 27-10-14 10:30, Frank, Alvaro Jesus wrote: > There is another error on a different system with the same raw checkout: > > user at ubuntu:~/Desktop/omicabelnomm/mergeTest/OmicABELnoMM$ ./configure > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... /bin/mkdir -p > checking for gawk... no > checking for mawk... mawk > checking whether make sets $(MAKE)... yes > checking whether make supports nested variables... yes > checking whether make supports nested variables... (cached) yes > checking whether to enable maintainer-specific portions of Makefiles... yes > ./configure: line 3154: syntax error near unexpected token `test' > ./configure: line 3154: `AX_PROG_CXX_MPI(test "x$with_mpi" != "xno",' > > Note that my system DOES have mpi and that it compiled without issues. That's because the AX_PROG_CXX_MPI autoconf macro is not part of the default autoconf install. See the SVN log message of commit 1849 for pointers on how to solve this error. https://r-forge.r-project.org/scm/viewvc.php/pkg/OmicABELnoMM/configure.ac?root=genabel&view=log#rev1849 > > It is difficult to solve problems if I wasn't the one introducing them. Indeed. But it's a good idea to review log messages of the changes that were done by others ;-). > > I appreciate any help on the matter. Let me know if you keep having troubles with this. Lennart. > > > -Alvaro > > ------------------------------------------------------------------------ > *From:* genabel-devel-bounces at lists.r-forge.r-project.org > [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, > Alvaro Jesus [alvaro.frank at rwth-aachen.de] > *Sent:* Monday, October 27, 2014 10:21 AM > *To:* genabel-devel at lists.r-forge.r-project.org > *Subject:* [GenABEL-dev] LATEX error on autoreconf > > Is there a reason for this to happen? (pure checkout from the repo) > > /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi > Makefile.am:194: BUILD_latexdoc does not appear in AM_CONDITIONAL > Makefile.am:195: HAVE_PDFLATEX does not appear in AM_CONDITIONAL > autoreconf: automake failed with exit status: 1 > > > Any help is appreciated, > > -Alvaro > > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Mon Oct 27 12:27:26 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 12:27:26 +0100 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> Message-ID: <544E2C1E.7000402@karssen.org> Hi Alvaro, On 27-10-14 10:21, Frank, Alvaro Jesus wrote: > Is there a reason for this to happen? (pure checkout from the repo) > > /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi > Makefile.am:194: BUILD_latexdoc does not appear in AM_CONDITIONAL > Makefile.am:195: HAVE_PDFLATEX does not appear in AM_CONDITIONAL > autoreconf: automake failed with exit status: 1 Hmm, weird, I don't get that error on a fresh checkout. I'm using autoconf v2.69 (autoreconf -V). Strangely enough, configure.ac does define the AM_CONDITIONALs with HAVE_PDFLATEX and BUILD_latexdoc, in lines 162 and 163 respectively. Here's a link to the diff that introduced these lines (r1843): https://r-forge.r-project.org/scm/viewvc.php/pkg/OmicABELnoMM/configure.ac?root=genabel&r1=1837&r2=1843 Best, Lennart. > > > Any help is appreciated, > > -Alvaro > > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Mon Oct 27 12:31:13 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 11:31:13 +0000 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <544E2C1E.7000402@karssen.org> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de>, <544E2C1E.7000402@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> >From a pure checkout: user at ubuntu:~/OmicABELnoMM$ ./configure bash: ./configure: No such file or directory user at ubuntu:~/OmicABELnoMM$ ls AUTHORS compile COPYING examples libs NEWS README test-driver update.sh ChangeLog configure.ac doc INSTALL Makefile.am OmicOUT src tests user at ubuntu:~/OmicABELnoMM$ autoreconf configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE autoreconf: /usr/bin/autoconf failed with exit status: 1 user at ubuntu:~/OmicABELnoMM$ autoreconf -fi configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE autoreconf: /usr/bin/autoconf failed with exit status: 1 ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 12:27 PM To: genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] LATEX error on autoreconf Hi Alvaro, On 27-10-14 10:21, Frank, Alvaro Jesus wrote: > Is there a reason for this to happen? (pure checkout from the repo) > > /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi > Makefile.am:194: BUILD_latexdoc does not appear in AM_CONDITIONAL > Makefile.am:195: HAVE_PDFLATEX does not appear in AM_CONDITIONAL > autoreconf: automake failed with exit status: 1 Hmm, weird, I don't get that error on a fresh checkout. I'm using autoconf v2.69 (autoreconf -V). Strangely enough, configure.ac does define the AM_CONDITIONALs with HAVE_PDFLATEX and BUILD_latexdoc, in lines 162 and 163 respectively. Here's a link to the diff that introduced these lines (r1843): https://r-forge.r-project.org/scm/viewvc.php/pkg/OmicABELnoMM/configure.ac?root=genabel&r1=1837&r2=1843 Best, Lennart. > > > Any help is appreciated, > > -Alvaro > > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Mon Oct 27 12:32:12 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 12:32:12 +0100 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C5084095D1@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C508409598@MBX-S2.rwth-ad.de>, <544E29C8.3030300@karssen.org> <244CF001646FF74FB34F372310A332C5084095D1@MBX-S2.rwth-ad.de> Message-ID: <544E2D3C.6030102@karssen.org> Hi Alvaro, On 27-10-14 12:23, Frank, Alvaro Jesus wrote: > Hi Lennart, > > My solution was simlier, check for mpicc/mpixx and done, no need for > special scripts. For me as a developer it might not be a problem, but > I am testing user environments and I cant ask users to do download > those special features. Is there a way to revert it to a system where > a conditional check is used for mpicc/mpixx and if not use normal > g++? I agree with you that the average user shouldn't be bothered with unnecessary downloads. However, when we create a tar-ball for distribution (make dist), the required macros will be included (a user that untars the tar.gz file will not need to run autoreconf). In fact, neither automake, nor autoconf are required by the user. So there is no problem for the end user here. Of course, someone who does an SVN checkout must run autoreconf, so this person (which I consider to be a developer) should have autoconf, automake and the autoconf archives installed. Best regards, Lennart. > > -Alvaro > > For the record, any request made to user gets escalated to sysadmins > and then this is what happens: > > > --------------------------------------- Daer Mr. Frank, > > i needed some time to get it compiled, each compiling one day. > > It comes out, that for installation gcc 4.6 and 4.9 conflicts in > system libraries with same name. > > Due to the fact, that 223 packages depend on gcc 4.6 i can not update > these libraries. > > Sorry, but gcc 4.6 is highest gcc version i can provide. > > Best regards, > > ----------------------- > > On Tuesday 23 September 2014 15:35:29 you wrote: >> Dear Mr ----------, >> >> Thank you for your help with Autoconf. I have managed to make >> advancements but I am in the need for a newer version of GCC, would >> this also be possible? 4.9 would be ok. Thank you in advance for >> any help on the matter! >> >> Best regards, >> >> Alvaro >> >> -----Urspr?ngliche Nachricht----- >> >> >> Dear Mr. Frank, >> >> autoconf Version 2.69 is now installed under >> /opt/autoconf/2.69/bin. >> >> To use it in bash, use: >> >> export PATH=/opt/autoconf/2.69/bin:$PATH >> >> to see: >> >> autoconf --version >> >> Current standard version 2.63 could not be replaced for system >> stability. >> > > > > ________________________________________ From: > genabel-devel-bounces at lists.r-forge.r-project.org > [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. > Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 12:17 > PM To: genabel-devel at lists.r-forge.r-project.org Subject: Re: > [GenABEL-dev] LATEX error on autoreconf > > Hi Alvaro, > > On 27-10-14 10:30, Frank, Alvaro Jesus wrote: >> There is another error on a different system with the same raw >> checkout: >> >> user at ubuntu:~/Desktop/omicabelnomm/mergeTest/OmicABELnoMM$ >> ./configure checking for a BSD-compatible install... >> /usr/bin/install -c checking whether build environment is sane... >> yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking >> for gawk... no checking for mawk... mawk checking whether make sets >> $(MAKE)... yes checking whether make supports nested variables... >> yes checking whether make supports nested variables... (cached) >> yes checking whether to enable maintainer-specific portions of >> Makefiles... yes ./configure: line 3154: syntax error near >> unexpected token `test' ./configure: line 3154: >> `AX_PROG_CXX_MPI(test "x$with_mpi" != "xno",' >> >> Note that my system DOES have mpi and that it compiled without >> issues. > > That's because the AX_PROG_CXX_MPI autoconf macro is not part of the > default autoconf install. See the SVN log message of commit 1849 for > pointers on how to solve this error. > https://r-forge.r-project.org/scm/viewvc.php/pkg/OmicABELnoMM/configure.ac?root=genabel&view=log#rev1849 > > >> >> It is difficult to solve problems if I wasn't the one introducing >> them. > > Indeed. But it's a good idea to review log messages of the changes > that were done by others ;-). > > >> >> I appreciate any help on the matter. > > Let me know if you keep having troubles with this. > > > Lennart. > >> >> >> -Alvaro >> >> ------------------------------------------------------------------------ >> >> *From:* genabel-devel-bounces at lists.r-forge.r-project.org >> [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of >> Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] *Sent:* Monday, >> October 27, 2014 10:21 AM *To:* >> genabel-devel at lists.r-forge.r-project.org *Subject:* [GenABEL-dev] >> LATEX error on autoreconf >> >> Is there a reason for this to happen? (pure checkout from the >> repo) >> >> /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi Makefile.am:194: >> BUILD_latexdoc does not appear in AM_CONDITIONAL Makefile.am:195: >> HAVE_PDFLATEX does not appear in AM_CONDITIONAL autoreconf: >> automake failed with exit status: 1 >> >> >> Any help is appreciated, >> >> -Alvaro >> >> >> >> _______________________________________________ genabel-devel >> mailing list genabel-devel at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel >> > >> > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen > Utrecht The Netherlands > > lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Mon Oct 27 12:34:39 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 12:34:39 +0100 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de>, <544E2C1E.7000402@karssen.org> <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> Message-ID: <544E2DCF.1010100@karssen.org> Which version of Ubuntu/autconf/automake are you using? I'm using Ubuntu 14.04. I a fresh checkout I get (don't get confused by my two-line prompt): ??lennart at barabas /tmp/OmicABELnoMM ??$ autoreconf -i configure.ac:6: installing './install-sh' configure.ac:6: installing './missing' Makefile.am: installing './depcomp' ??lennart at barabas /tmp/OmicABELnoMM ??$ after which running ./configure just works. Lennart. On 27-10-14 12:31, Frank, Alvaro Jesus wrote: > From a pure checkout: > > > user at ubuntu:~/OmicABELnoMM$ ./configure > bash: ./configure: No such file or directory > user at ubuntu:~/OmicABELnoMM$ ls > AUTHORS compile COPYING examples libs NEWS README test-driver update.sh > ChangeLog configure.ac doc INSTALL Makefile.am OmicOUT src tests > user at ubuntu:~/OmicABELnoMM$ autoreconf > configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE > If this token and others are legitimate, please use m4_pattern_allow. > See the Autoconf documentation. > configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE > autoreconf: /usr/bin/autoconf failed with exit status: 1 > user at ubuntu:~/OmicABELnoMM$ autoreconf -fi > configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE > If this token and others are legitimate, please use m4_pattern_allow. > See the Autoconf documentation. > configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE > autoreconf: /usr/bin/autoconf failed with exit status: 1 > > > > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] > Sent: Monday, October 27, 2014 12:27 PM > To: genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > Hi Alvaro, > > On 27-10-14 10:21, Frank, Alvaro Jesus wrote: >> Is there a reason for this to happen? (pure checkout from the repo) >> >> /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi >> Makefile.am:194: BUILD_latexdoc does not appear in AM_CONDITIONAL >> Makefile.am:195: HAVE_PDFLATEX does not appear in AM_CONDITIONAL >> autoreconf: automake failed with exit status: 1 > > Hmm, weird, I don't get that error on a fresh checkout. I'm using > autoconf v2.69 (autoreconf -V). > > Strangely enough, configure.ac does define the AM_CONDITIONALs with > HAVE_PDFLATEX and BUILD_latexdoc, in lines 162 and 163 respectively. > Here's a link to the diff that introduced these lines (r1843): > > https://r-forge.r-project.org/scm/viewvc.php/pkg/OmicABELnoMM/configure.ac?root=genabel&r1=1837&r2=1843 > > > > Best, > > Lennart. >> >> >> Any help is appreciated, >> >> -Alvaro >> >> >> >> _______________________________________________ >> genabel-devel mailing list >> genabel-devel at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel >> > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Mon Oct 27 12:39:02 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 11:39:02 +0000 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <544E2D3C.6030102@karssen.org> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C508409598@MBX-S2.rwth-ad.de>, <544E29C8.3030300@karssen.org> <244CF001646FF74FB34F372310A332C5084095D1@MBX-S2.rwth-ad.de>, <544E2D3C.6030102@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C50840960C@MBX-S2.rwth-ad.de> If I understand correctly users can install omicabellnomm from somewhere else. Can I get info on how to do this? I will stop all installation and deployment of omicabelnomm at Helmholtz and the local sysadmin will be forwarded to that procedure. It will be a good test case. I propose a workflow change: One branch for me to develop on, and one branch with release code. /develop /release On the develop branch I wont have to deal with autoconf in the least and just focus on features + bug fixing. autoconf will no longer break my environments, and users will be forwarded to /release for installation. If their system gives them errors regarding source code, I will deal with it under develop, merging later to /release. If the users have problems with autoconf, they will be forwarded to the mailing list. Is this reasonable? -Alvaro ________________________________________ From: L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 12:32 PM To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] LATEX error on autoreconf Hi Alvaro, On 27-10-14 12:23, Frank, Alvaro Jesus wrote: > Hi Lennart, > > My solution was simlier, check for mpicc/mpixx and done, no need for > special scripts. For me as a developer it might not be a problem, but > I am testing user environments and I cant ask users to do download > those special features. Is there a way to revert it to a system where > a conditional check is used for mpicc/mpixx and if not use normal > g++? I agree with you that the average user shouldn't be bothered with unnecessary downloads. However, when we create a tar-ball for distribution (make dist), the required macros will be included (a user that untars the tar.gz file will not need to run autoreconf). In fact, neither automake, nor autoconf are required by the user. So there is no problem for the end user here. Of course, someone who does an SVN checkout must run autoreconf, so this person (which I consider to be a developer) should have autoconf, automake and the autoconf archives installed. Best regards, Lennart. > > -Alvaro > > For the record, any request made to user gets escalated to sysadmins > and then this is what happens: > > > --------------------------------------- Daer Mr. Frank, > > i needed some time to get it compiled, each compiling one day. > > It comes out, that for installation gcc 4.6 and 4.9 conflicts in > system libraries with same name. > > Due to the fact, that 223 packages depend on gcc 4.6 i can not update > these libraries. > > Sorry, but gcc 4.6 is highest gcc version i can provide. > > Best regards, > > ----------------------- > > On Tuesday 23 September 2014 15:35:29 you wrote: >> Dear Mr ----------, >> >> Thank you for your help with Autoconf. I have managed to make >> advancements but I am in the need for a newer version of GCC, would >> this also be possible? 4.9 would be ok. Thank you in advance for >> any help on the matter! >> >> Best regards, >> >> Alvaro >> >> -----Urspr?ngliche Nachricht----- >> >> >> Dear Mr. Frank, >> >> autoconf Version 2.69 is now installed under >> /opt/autoconf/2.69/bin. >> >> To use it in bash, use: >> >> export PATH=/opt/autoconf/2.69/bin:$PATH >> >> to see: >> >> autoconf --version >> >> Current standard version 2.63 could not be replaced for system >> stability. >> > > > > ________________________________________ From: > genabel-devel-bounces at lists.r-forge.r-project.org > [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. > Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 12:17 > PM To: genabel-devel at lists.r-forge.r-project.org Subject: Re: > [GenABEL-dev] LATEX error on autoreconf > > Hi Alvaro, > > On 27-10-14 10:30, Frank, Alvaro Jesus wrote: >> There is another error on a different system with the same raw >> checkout: >> >> user at ubuntu:~/Desktop/omicabelnomm/mergeTest/OmicABELnoMM$ >> ./configure checking for a BSD-compatible install... >> /usr/bin/install -c checking whether build environment is sane... >> yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking >> for gawk... no checking for mawk... mawk checking whether make sets >> $(MAKE)... yes checking whether make supports nested variables... >> yes checking whether make supports nested variables... (cached) >> yes checking whether to enable maintainer-specific portions of >> Makefiles... yes ./configure: line 3154: syntax error near >> unexpected token `test' ./configure: line 3154: >> `AX_PROG_CXX_MPI(test "x$with_mpi" != "xno",' >> >> Note that my system DOES have mpi and that it compiled without >> issues. > > That's because the AX_PROG_CXX_MPI autoconf macro is not part of the > default autoconf install. See the SVN log message of commit 1849 for > pointers on how to solve this error. > https://r-forge.r-project.org/scm/viewvc.php/pkg/OmicABELnoMM/configure.ac?root=genabel&view=log#rev1849 > > >> >> It is difficult to solve problems if I wasn't the one introducing >> them. > > Indeed. But it's a good idea to review log messages of the changes > that were done by others ;-). > > >> >> I appreciate any help on the matter. > > Let me know if you keep having troubles with this. > > > Lennart. > >> >> >> -Alvaro >> >> ------------------------------------------------------------------------ >> >> *From:* genabel-devel-bounces at lists.r-forge.r-project.org >> [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of >> Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] *Sent:* Monday, >> October 27, 2014 10:21 AM *To:* >> genabel-devel at lists.r-forge.r-project.org *Subject:* [GenABEL-dev] >> LATEX error on autoreconf >> >> Is there a reason for this to happen? (pure checkout from the >> repo) >> >> /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi Makefile.am:194: >> BUILD_latexdoc does not appear in AM_CONDITIONAL Makefile.am:195: >> HAVE_PDFLATEX does not appear in AM_CONDITIONAL autoreconf: >> automake failed with exit status: 1 >> >> >> Any help is appreciated, >> >> -Alvaro >> >> >> >> _______________________________________________ genabel-devel >> mailing list genabel-devel at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel >> > >> > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen > Utrecht The Netherlands > > lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Mon Oct 27 12:40:02 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 12:40:02 +0100 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <544E2DCF.1010100@karssen.org> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de>, <544E2C1E.7000402@karssen.org> <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> <544E2DCF.1010100@karssen.org> Message-ID: <544E2F12.9010300@karssen.org> When googling: On 27-10-14 12:34, L.C. Karssen wrote: > possibly undefined macro: AC_MSG_FAILURE >> If this token and others are legitimate, please use m4_pattern_allow. I got a link to a StackOverflow post [1] that says that you may not have pkg-config installed. However, I think that pkg-config is installed by default (because when trying to remove it I get lots of package dependencies). An other suggestion in that SO question is that it may be related to 32 bits architecture... Lennart. [1] http://stackoverflow.com/questions/8811381/possibly-undefined-macro-ac-msg-error -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Mon Oct 27 12:41:43 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 11:41:43 +0000 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <544E2F12.9010300@karssen.org> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de>, <544E2C1E.7000402@karssen.org> <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> <544E2DCF.1010100@karssen.org>,<544E2F12.9010300@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C508409622@MBX-S2.rwth-ad.de> I think the 32bit problem is the fault here. 32 bit architecture is a valid working environment for most, i.e: Here at helmoholtz. ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 12:40 PM To: genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] LATEX error on autoreconf When googling: On 27-10-14 12:34, L.C. Karssen wrote: > possibly undefined macro: AC_MSG_FAILURE >> If this token and others are legitimate, please use m4_pattern_allow. I got a link to a StackOverflow post [1] that says that you may not have pkg-config installed. However, I think that pkg-config is installed by default (because when trying to remove it I get lots of package dependencies). An other suggestion in that SO question is that it may be related to 32 bits architecture... Lennart. [1] http://stackoverflow.com/questions/8811381/possibly-undefined-macro-ac-msg-error -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From alvaro.frank at rwth-aachen.de Mon Oct 27 12:49:21 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 11:49:21 +0000 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C508409622@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de>, <544E2C1E.7000402@karssen.org> <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> <544E2DCF.1010100@karssen.org>, <544E2F12.9010300@karssen.org>, <244CF001646FF74FB34F372310A332C508409622@MBX-S2.rwth-ad.de> Message-ID: <244CF001646FF74FB34F372310A332C508409634@MBX-S2.rwth-ad.de> On a different NON 32bit system: alvaro.frank@:/opt/omicabelnomm> svn checkout svn://svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM/ A OmicABELnoMM/OmicOUT A OmicABELnoMM/OmicOUT/main.cpp A OmicABELnoMM/AUTHORS A OmicABELnoMM/ChangeLog A OmicABELnoMM/src A OmicABELnoMM/src/AIOwrapper.h A OmicABELnoMM/src/Definitions.h A OmicABELnoMM/src/Utility.cpp A OmicABELnoMM/src/main.cpp A OmicABELnoMM/src/Algorithm.cpp A OmicABELnoMM/src/Utility.h A OmicABELnoMM/src/AIOwrapper.cpp A OmicABELnoMM/src/Algorithm.h A OmicABELnoMM/compile A OmicABELnoMM/libs A OmicABELnoMM/libs/include A OmicABELnoMM/libs/lib A OmicABELnoMM/README A OmicABELnoMM/tests A OmicABELnoMM/tests/test.cpp A OmicABELnoMM/tests/Makefile.am A OmicABELnoMM/configure.ac A OmicABELnoMM/doc A OmicABELnoMM/doc/howtocompile.txt A OmicABELnoMM/doc/UserGuide.tex A OmicABELnoMM/INSTALL A OmicABELnoMM/COPYING A OmicABELnoMM/test-driver A OmicABELnoMM/Makefile.am A OmicABELnoMM/NEWS A OmicABELnoMM/examples A OmicABELnoMM/examples/XL.fvd A OmicABELnoMM/examples/results A OmicABELnoMM/examples/exclude_individuals.txt A OmicABELnoMM/examples/interactions A OmicABELnoMM/examples/interactions/INTR0.fvi A OmicABELnoMM/examples/interactions/INT11.fvi A OmicABELnoMM/examples/interactions/INTR1.fvi A OmicABELnoMM/examples/interactions/INTRR.fvi A OmicABELnoMM/examples/interactions/Y.fvd A OmicABELnoMM/examples/interactions/INT0.fvd A OmicABELnoMM/examples/interactions/INT1.fvd A OmicABELnoMM/examples/interactions/INTR.fvd A OmicABELnoMM/examples/interactions/INT011.fvd A OmicABELnoMM/examples/interactions/Y.fvi A OmicABELnoMM/examples/interactions/INT01R.fvd A OmicABELnoMM/examples/interactions/INT0.fvi A OmicABELnoMM/examples/interactions/INT1RR.fvd A OmicABELnoMM/examples/interactions/INT1.fvi A OmicABELnoMM/examples/interactions/INTR.fvi A OmicABELnoMM/examples/interactions/INT011.fvi A OmicABELnoMM/examples/interactions/INT01R.fvi A OmicABELnoMM/examples/interactions/XL.fvd A OmicABELnoMM/examples/interactions/INT1RR.fvi A OmicABELnoMM/examples/interactions/XL.fvi A OmicABELnoMM/examples/interactions/XR.fvd A OmicABELnoMM/examples/interactions/INT10.fvd A OmicABELnoMM/examples/interactions/INT01.fvd A OmicABELnoMM/examples/interactions/INT11.fvd A OmicABELnoMM/examples/interactions/INTR0.fvd A OmicABELnoMM/examples/interactions/INTR1.fvd A OmicABELnoMM/examples/interactions/INTRR.fvd A OmicABELnoMM/examples/interactions/XR.fvi A OmicABELnoMM/examples/interactions/INT10.fvi A OmicABELnoMM/examples/interactions/INT01.fvi A OmicABELnoMM/examples/dosages_1.txt A OmicABELnoMM/examples/dosages_2.txt A OmicABELnoMM/examples/XL.fvi A OmicABELnoMM/examples/Y.fvd A OmicABELnoMM/examples/XR.fvd A OmicABELnoMM/examples/Y.fvi A OmicABELnoMM/examples/XR.fvi A OmicABELnoMM/examples/CreateData.R U OmicABELnoMM Checked out revision 1849. alvaro.frank at rhein:/opt/omicabelnomm> cd OmicABELnoMM/ alvaro.frank at rhein:/opt/omicabelnomm/OmicABELnoMM> autoreconf -fi configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE autoreconf: /usr/bin/autoconf failed with exit status: 1 alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 48 On-line CPU(s) list: 0-47 Thread(s) per core: 1 Core(s) per socket: 12 CPU socket(s): 4 NUMA node(s): 8 Vendor ID: AuthenticAMD CPU family: 16 Model: 9 Stepping: 1 CPU MHz: 800.000 BogoMIPS: 4200.05 Virtualization: AMD-V L1d cache: 64K L1i cache: 64K L2 cache: 512K L3 cache: 5118K NUMA node0 CPU(s): 0-5 NUMA node1 CPU(s): 6-11 NUMA node2 CPU(s): 12-17 NUMA node3 CPU(s): 18-23 NUMA node4 CPU(s): 24-29 NUMA node5 CPU(s): 30-35 NUMA node6 CPU(s): 36-41 NUMA node7 CPU(s): 42-47 alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] Sent: Monday, October 27, 2014 12:41 PM To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] LATEX error on autoreconf I think the 32bit problem is the fault here. 32 bit architecture is a valid working environment for most, i.e: Here at helmoholtz. ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 12:40 PM To: genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] LATEX error on autoreconf When googling: On 27-10-14 12:34, L.C. Karssen wrote: > possibly undefined macro: AC_MSG_FAILURE >> If this token and others are legitimate, please use m4_pattern_allow. I got a link to a StackOverflow post [1] that says that you may not have pkg-config installed. However, I think that pkg-config is installed by default (because when trying to remove it I get lots of package dependencies). An other suggestion in that SO question is that it may be related to 32 bits architecture... Lennart. [1] http://stackoverflow.com/questions/8811381/possibly-undefined-macro-ac-msg-error -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- _______________________________________________ genabel-devel mailing list genabel-devel at lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel From alvaro.frank at rwth-aachen.de Mon Oct 27 13:03:47 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 12:03:47 +0000 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C508409634@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de>, <544E2C1E.7000402@karssen.org> <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> <544E2DCF.1010100@karssen.org>, <544E2F12.9010300@karssen.org>, <244CF001646FF74FB34F372310A332C508409622@MBX-S2.rwth-ad.de>, <244CF001646FF74FB34F372310A332C508409634@MBX-S2.rwth-ad.de> Message-ID: <244CF001646FF74FB34F372310A332C50840964B@MBX-S2.rwth-ad.de> More on the problem, If I use autoreconf -fi it wont work, if I use autoreconf -i : alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> autoreconf -i configure.ac:6: installing `./install-sh' configure.ac:6: installing `./missing' Makefile.am: installing `./depcomp' alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to disable maintainer-specific portions of Makefiles... yes ./configure: line 3045: syntax error near unexpected token `test' ./configure: line 3045: `AX_PROG_CXX_MPI(test "x$with_mpi" != "xno",' >From here I can install the MPI script I suppose. I will commit what I got so far from the documentation, because My instructions to install are all wrong now since users wont use svn to download and compile the code. Feel free to add your own installation procedure and modify the tex file. -Alvaro ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] Sent: Monday, October 27, 2014 12:49 PM To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] LATEX error on autoreconf On a different NON 32bit system: alvaro.frank@:/opt/omicabelnomm> svn checkout svn://svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM/ A OmicABELnoMM/OmicOUT A OmicABELnoMM/OmicOUT/main.cpp A OmicABELnoMM/AUTHORS A OmicABELnoMM/ChangeLog A OmicABELnoMM/src A OmicABELnoMM/src/AIOwrapper.h A OmicABELnoMM/src/Definitions.h A OmicABELnoMM/src/Utility.cpp A OmicABELnoMM/src/main.cpp A OmicABELnoMM/src/Algorithm.cpp A OmicABELnoMM/src/Utility.h A OmicABELnoMM/src/AIOwrapper.cpp A OmicABELnoMM/src/Algorithm.h A OmicABELnoMM/compile A OmicABELnoMM/libs A OmicABELnoMM/libs/include A OmicABELnoMM/libs/lib A OmicABELnoMM/README A OmicABELnoMM/tests A OmicABELnoMM/tests/test.cpp A OmicABELnoMM/tests/Makefile.am A OmicABELnoMM/configure.ac A OmicABELnoMM/doc A OmicABELnoMM/doc/howtocompile.txt A OmicABELnoMM/doc/UserGuide.tex A OmicABELnoMM/INSTALL A OmicABELnoMM/COPYING A OmicABELnoMM/test-driver A OmicABELnoMM/Makefile.am A OmicABELnoMM/NEWS A OmicABELnoMM/examples A OmicABELnoMM/examples/XL.fvd A OmicABELnoMM/examples/results A OmicABELnoMM/examples/exclude_individuals.txt A OmicABELnoMM/examples/interactions A OmicABELnoMM/examples/interactions/INTR0.fvi A OmicABELnoMM/examples/interactions/INT11.fvi A OmicABELnoMM/examples/interactions/INTR1.fvi A OmicABELnoMM/examples/interactions/INTRR.fvi A OmicABELnoMM/examples/interactions/Y.fvd A OmicABELnoMM/examples/interactions/INT0.fvd A OmicABELnoMM/examples/interactions/INT1.fvd A OmicABELnoMM/examples/interactions/INTR.fvd A OmicABELnoMM/examples/interactions/INT011.fvd A OmicABELnoMM/examples/interactions/Y.fvi A OmicABELnoMM/examples/interactions/INT01R.fvd A OmicABELnoMM/examples/interactions/INT0.fvi A OmicABELnoMM/examples/interactions/INT1RR.fvd A OmicABELnoMM/examples/interactions/INT1.fvi A OmicABELnoMM/examples/interactions/INTR.fvi A OmicABELnoMM/examples/interactions/INT011.fvi A OmicABELnoMM/examples/interactions/INT01R.fvi A OmicABELnoMM/examples/interactions/XL.fvd A OmicABELnoMM/examples/interactions/INT1RR.fvi A OmicABELnoMM/examples/interactions/XL.fvi A OmicABELnoMM/examples/interactions/XR.fvd A OmicABELnoMM/examples/interactions/INT10.fvd A OmicABELnoMM/examples/interactions/INT01.fvd A OmicABELnoMM/examples/interactions/INT11.fvd A OmicABELnoMM/examples/interactions/INTR0.fvd A OmicABELnoMM/examples/interactions/INTR1.fvd A OmicABELnoMM/examples/interactions/INTRR.fvd A OmicABELnoMM/examples/interactions/XR.fvi A OmicABELnoMM/examples/interactions/INT10.fvi A OmicABELnoMM/examples/interactions/INT01.fvi A OmicABELnoMM/examples/dosages_1.txt A OmicABELnoMM/examples/dosages_2.txt A OmicABELnoMM/examples/XL.fvi A OmicABELnoMM/examples/Y.fvd A OmicABELnoMM/examples/XR.fvd A OmicABELnoMM/examples/Y.fvi A OmicABELnoMM/examples/XR.fvi A OmicABELnoMM/examples/CreateData.R U OmicABELnoMM Checked out revision 1849. alvaro.frank at rhein:/opt/omicabelnomm> cd OmicABELnoMM/ alvaro.frank at rhein:/opt/omicabelnomm/OmicABELnoMM> autoreconf -fi configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE autoreconf: /usr/bin/autoconf failed with exit status: 1 alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 48 On-line CPU(s) list: 0-47 Thread(s) per core: 1 Core(s) per socket: 12 CPU socket(s): 4 NUMA node(s): 8 Vendor ID: AuthenticAMD CPU family: 16 Model: 9 Stepping: 1 CPU MHz: 800.000 BogoMIPS: 4200.05 Virtualization: AMD-V L1d cache: 64K L1i cache: 64K L2 cache: 512K L3 cache: 5118K NUMA node0 CPU(s): 0-5 NUMA node1 CPU(s): 6-11 NUMA node2 CPU(s): 12-17 NUMA node3 CPU(s): 18-23 NUMA node4 CPU(s): 24-29 NUMA node5 CPU(s): 30-35 NUMA node6 CPU(s): 36-41 NUMA node7 CPU(s): 42-47 alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] Sent: Monday, October 27, 2014 12:41 PM To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] LATEX error on autoreconf I think the 32bit problem is the fault here. 32 bit architecture is a valid working environment for most, i.e: Here at helmoholtz. ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 12:40 PM To: genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] LATEX error on autoreconf When googling: On 27-10-14 12:34, L.C. Karssen wrote: > possibly undefined macro: AC_MSG_FAILURE >> If this token and others are legitimate, please use m4_pattern_allow. I got a link to a StackOverflow post [1] that says that you may not have pkg-config installed. However, I think that pkg-config is installed by default (because when trying to remove it I get lots of package dependencies). An other suggestion in that SO question is that it may be related to 32 bits architecture... Lennart. [1] http://stackoverflow.com/questions/8811381/possibly-undefined-macro-ac-msg-error -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- _______________________________________________ genabel-devel mailing list genabel-devel at lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel _______________________________________________ genabel-devel mailing list genabel-devel at lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel From lennart at karssen.org Mon Oct 27 13:06:51 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 13:06:51 +0100 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C50840960C@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C508409598@MBX-S2.rwth-ad.de>, <544E29C8.3030300@karssen.org> <244CF001646FF74FB34F372310A332C5084095D1@MBX-S2.rwth-ad.de>, <544E2D3C.6030102@karssen.org> <244CF001646FF74FB34F372310A332C50840960C@MBX-S2.rwth-ad.de> Message-ID: <544E355B.90005@karssen.org> Hi Alvaro, On 27-10-14 12:39, Frank, Alvaro Jesus wrote: > If I understand correctly users can install omicabellnomm from > somewhere else. Yes, indeed. > Can I get info on how to do this? I will stop all > installation and deployment of omicabelnomm at Helmholtz and the > local sysadmin will be forwarded to that procedure. It will be a > good test case. The idea of autotools is not only that it makes life for the developer easier (which it sometimes doesn't ;-)), but also that programs can be more easily distributed, also to other UNIX platforms. So the proper workflow is the following: - Developer writes code, and creates configure.ac/Makefile.am files. - Before a new version is released, (s)he runs 'make check' for all functional tests, followed by 'make distcheck' to check whether installation actually works even when the source location is read-only (a so-called VPATH build). This really makes sure that the autoconf/automake code was written well. NOTE: currently 'make distcheck' fails for OmicABELnoMM because of the LaTeX documentation part. I still need to fix that. - Next, the developer runs 'make dist', which creates a tar.gz file that is the official released source code. This is the file you will post on the website. You can decide to sign it using your GPG key as well, if you want to allow people to ascertain that they have a legitimate tar.gz file. - A user/sysadmin will download the tar.gz file from the Downloads section of the project's website and untars it. - Next it's a matter of running the ./configure, make, make install sequence to get stuff installed. The whole idea of autoconf and automake is that they generate the files 'configure' (a large shell script that checks whether the user has the requirements needed to build the project) and 'Makefile' (which streamlines the compilation and installation steps). Because the 'make dist' step adds these two files to the tar.gz file you distribute, the user doesn't need to have autoconf/automake installed, but of course (s)he needs to have the proper compiler(s), libraries, etc. installed. Additionally, package maintainers for Linux distros (those who create .deb/.rpm files) love packages that use autotools because their package building systems are tuned to those kind of package, allowing them to easily and uniformly insert their own compiler flags (e.g. for hardening) and install the files where they want (instead of the default /usr/local/.../ directories). > > I propose a workflow change: One branch for me to develop on, and one > branch with release code. /develop /release That would indeed be the best. Ideally 'trunk' (in which we are working now) should always contain 'releasable' code and any development should be done in branches which are merged with trunk whenever ready. We currently don't adhere to that policy. For some larger projects in ProbABEL I did create branches, e.g. the one in which I fixed problems with the Cox regression module, or the one I used for the implementation of p-value calculation. Since you are the maintainer of OmicABELnoMM I leave it up to you to define the rules for OmicABELnoMM. If you'd like to create a OmicABELnoMM main development branch: go ahead! See http://genabel.r-forge.r-project.org/tutHowToMakeTags.html for a brief intro on how to make branches. Be sure to also read the SVN docs on merging branches into trunk (if you haven't already done so). > > On the develop branch I wont have to deal with autoconf in the least > and just focus on features + bug fixing. autoconf will no longer > break my environments, and users will be forwarded to /release for > installation. If their system gives them errors regarding source > code, I will deal with it under develop, merging later to /release. This part I don't get. I'd say that whatever you develop should also take autotools into account. For example, using the Boost libraries is great, but without a proper check in configure.ac (and possibly some compiler flags etc. in Makefile.am) the other developers would not know they are missing a library. Moreover, for a correctly working ./configure && make && make install run (by the user or other developers) you need to have proper autotools checks in place. Otherwise everybody needs to hunt for the required libraries/compiler flags/header files themselves. Of course, while working in a given development branch you can focus on the functionality and only when you are satisfied with the results add whatever autotools magic is needed (that's the way I usually do it). And when you're satisfied that 'make distcheck' works for all options/possibilities, you merge the development branch into trunk and you are ready for a new release. > If the users have problems with autoconf, they will be forwarded to > the mailing list. Yes. Because apart from small bugs, the users should only have to run ./configure Or, if they don't have root permissions: ./configure --prefix=/home/username/my_compiled_programs/OmicABELnoMM/ Or if they don't need MPI, for example: ./configure --without-mpi Or if they don't need MPI and don't have LaTeX installed: ./configure --without-mpi --disable-latex-doc See ./configure --help for all options. Followed by make make check # (not really required, usually) make install I hope this explanation makes things clearer. Please let me know if something is still unclear. Lennart. > > Is this reasonable? > > -Alvaro ________________________________________ From: L.C. Karssen > [lennart at karssen.org] Sent: Monday, October 27, 2014 12:32 PM To: > Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > Hi Alvaro, > > On 27-10-14 12:23, Frank, Alvaro Jesus wrote: >> Hi Lennart, >> >> My solution was simlier, check for mpicc/mpixx and done, no need >> for special scripts. For me as a developer it might not be a >> problem, but I am testing user environments and I cant ask users to >> do download those special features. Is there a way to revert it to >> a system where a conditional check is used for mpicc/mpixx and if >> not use normal g++? > > I agree with you that the average user shouldn't be bothered with > unnecessary downloads. However, when we create a tar-ball for > distribution (make dist), the required macros will be included (a > user that untars the tar.gz file will not need to run autoreconf). In > fact, neither automake, nor autoconf are required by the user. So > there is no problem for the end user here. > > Of course, someone who does an SVN checkout must run autoreconf, so > this person (which I consider to be a developer) should have > autoconf, automake and the autoconf archives installed. > > > Best regards, > > Lennart. > >> >> -Alvaro >> >> For the record, any request made to user gets escalated to >> sysadmins and then this is what happens: >> >> >> --------------------------------------- Daer Mr. Frank, >> >> i needed some time to get it compiled, each compiling one day. >> >> It comes out, that for installation gcc 4.6 and 4.9 conflicts in >> system libraries with same name. >> >> Due to the fact, that 223 packages depend on gcc 4.6 i can not >> update these libraries. >> >> Sorry, but gcc 4.6 is highest gcc version i can provide. >> >> Best regards, >> >> ----------------------- >> >> On Tuesday 23 September 2014 15:35:29 you wrote: >>> Dear Mr ----------, >>> >>> Thank you for your help with Autoconf. I have managed to make >>> advancements but I am in the need for a newer version of GCC, >>> would this also be possible? 4.9 would be ok. Thank you in >>> advance for any help on the matter! >>> >>> Best regards, >>> >>> Alvaro >>> >>> -----Urspr?ngliche Nachricht----- >>> >>> >>> Dear Mr. Frank, >>> >>> autoconf Version 2.69 is now installed under >>> /opt/autoconf/2.69/bin. >>> >>> To use it in bash, use: >>> >>> export PATH=/opt/autoconf/2.69/bin:$PATH >>> >>> to see: >>> >>> autoconf --version >>> >>> Current standard version 2.63 could not be replaced for system >>> stability. >>> >> >> >> >> ________________________________________ From: >> genabel-devel-bounces at lists.r-forge.r-project.org >> [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of >> L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 >> 12:17 PM To: genabel-devel at lists.r-forge.r-project.org Subject: >> Re: [GenABEL-dev] LATEX error on autoreconf >> >> Hi Alvaro, >> >> On 27-10-14 10:30, Frank, Alvaro Jesus wrote: >>> There is another error on a different system with the same raw >>> checkout: >>> >>> user at ubuntu:~/Desktop/omicabelnomm/mergeTest/OmicABELnoMM$ >>> ./configure checking for a BSD-compatible install... >>> /usr/bin/install -c checking whether build environment is >>> sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p >>> checking for gawk... no checking for mawk... mawk checking >>> whether make sets $(MAKE)... yes checking whether make supports >>> nested variables... yes checking whether make supports nested >>> variables... (cached) yes checking whether to enable >>> maintainer-specific portions of Makefiles... yes ./configure: >>> line 3154: syntax error near unexpected token `test' ./configure: >>> line 3154: `AX_PROG_CXX_MPI(test "x$with_mpi" != "xno",' >>> >>> Note that my system DOES have mpi and that it compiled without >>> issues. >> >> That's because the AX_PROG_CXX_MPI autoconf macro is not part of >> the default autoconf install. See the SVN log message of commit >> 1849 for pointers on how to solve this error. >> https://r-forge.r-project.org/scm/viewvc.php/pkg/OmicABELnoMM/configure.ac?root=genabel&view=log#rev1849 >> >> >>> >>> >> It is difficult to solve problems if I wasn't the one introducing >>> them. >> >> Indeed. But it's a good idea to review log messages of the changes >> that were done by others ;-). >> >> >>> >>> I appreciate any help on the matter. >> >> Let me know if you keep having troubles with this. >> >> >> Lennart. >> >>> >>> >>> -Alvaro >>> >>> ------------------------------------------------------------------------ >>> >>> > >>> *From:* genabel-devel-bounces at lists.r-forge.r-project.org >>> [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of >>> Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] *Sent:* >>> Monday, October 27, 2014 10:21 AM *To:* >>> genabel-devel at lists.r-forge.r-project.org *Subject:* >>> [GenABEL-dev] LATEX error on autoreconf >>> >>> Is there a reason for this to happen? (pure checkout from the >>> repo) >>> >>> /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi Makefile.am:194: >>> BUILD_latexdoc does not appear in AM_CONDITIONAL >>> Makefile.am:195: HAVE_PDFLATEX does not appear in AM_CONDITIONAL >>> autoreconf: automake failed with exit status: 1 >>> >>> >>> Any help is appreciated, >>> >>> -Alvaro >>> >>> >>> >>> _______________________________________________ genabel-devel >>> mailing list genabel-devel at lists.r-forge.r-project.org >>> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel >>> >> >>> >> >>> -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen >> Utrecht The Netherlands >> >> lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A >> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >> > > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen > Utrecht The Netherlands > > lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Mon Oct 27 13:13:33 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 13:13:33 +0100 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C50840964B@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de>, <544E2C1E.7000402@karssen.org> <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> <544E2DCF.1010100@karssen.org>, <544E2F12.9010300@karssen.org>, <244CF001646FF74FB34F372310A332C508409622@MBX-S2.rwth-ad.de>, <244CF001646FF74FB34F372310A332C508409634@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C50840964B@MBX-S2.rwth-ad.de> Message-ID: <544E36ED.8040606@karssen.org> Hi Alvaro, On 27-10-14 13:03, Frank, Alvaro Jesus wrote: > More on the problem, If I use autoreconf -fi it wont work, if I use autoreconf -i : > > > alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> autoreconf -i > configure.ac:6: installing `./install-sh' > configure.ac:6: installing `./missing' > Makefile.am: installing `./depcomp' > alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> ./configure > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... /bin/mkdir -p > checking for gawk... gawk > checking whether make sets $(MAKE)... yes > checking whether to disable maintainer-specific portions of Makefiles... yes > ./configure: line 3045: syntax error near unexpected token `test' > ./configure: line 3045: `AX_PROG_CXX_MPI(test "x$with_mpi" != "xno",' > That's weird... Indeed I didn't use the -f flag... But if I do (on a fresh checkout), it works without problems (I do have a 64 bit kernel): lennart at barabas /tmp ??$ svn checkout svn+ssh://lckarssen at svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM A OmicABELnoMM/OmicOUT A OmicABELnoMM/OmicOUT/main.cpp A OmicABELnoMM/AUTHORS A OmicABELnoMM/ChangeLog A OmicABELnoMM/src A OmicABELnoMM/src/AIOwrapper.h A OmicABELnoMM/src/Definitions.h A OmicABELnoMM/src/Utility.cpp A OmicABELnoMM/src/main.cpp A OmicABELnoMM/src/Algorithm.cpp A OmicABELnoMM/src/Utility.h A OmicABELnoMM/src/AIOwrapper.cpp A OmicABELnoMM/src/Algorithm.h A OmicABELnoMM/compile A OmicABELnoMM/libs A OmicABELnoMM/libs/include A OmicABELnoMM/libs/lib A OmicABELnoMM/README A OmicABELnoMM/tests A OmicABELnoMM/tests/test.cpp A OmicABELnoMM/tests/Makefile.am A OmicABELnoMM/configure.ac A OmicABELnoMM/doc A OmicABELnoMM/doc/howtocompile.txt A OmicABELnoMM/doc/UserGuide.tex A OmicABELnoMM/INSTALL A OmicABELnoMM/COPYING A OmicABELnoMM/test-driver A OmicABELnoMM/Makefile.am A OmicABELnoMM/NEWS A OmicABELnoMM/examples A OmicABELnoMM/examples/XL.fvd A OmicABELnoMM/examples/results A OmicABELnoMM/examples/exclude_individuals.txt A OmicABELnoMM/examples/interactions A OmicABELnoMM/examples/interactions/INTR0.fvi A OmicABELnoMM/examples/interactions/INT11.fvi A OmicABELnoMM/examples/interactions/INTR1.fvi A OmicABELnoMM/examples/interactions/INTRR.fvi A OmicABELnoMM/examples/interactions/Y.fvd A OmicABELnoMM/examples/interactions/INT0.fvd A OmicABELnoMM/examples/interactions/INT1.fvd A OmicABELnoMM/examples/interactions/INTR.fvd A OmicABELnoMM/examples/interactions/INT011.fvd A OmicABELnoMM/examples/interactions/Y.fvi A OmicABELnoMM/examples/interactions/INT01R.fvd A OmicABELnoMM/examples/interactions/INT0.fvi A OmicABELnoMM/examples/interactions/INT1RR.fvd A OmicABELnoMM/examples/interactions/INT1.fvi A OmicABELnoMM/examples/interactions/INTR.fvi A OmicABELnoMM/examples/interactions/INT011.fvi A OmicABELnoMM/examples/interactions/INT01R.fvi A OmicABELnoMM/examples/interactions/XL.fvd A OmicABELnoMM/examples/interactions/INT1RR.fvi A OmicABELnoMM/examples/interactions/XL.fvi A OmicABELnoMM/examples/interactions/XR.fvd A OmicABELnoMM/examples/interactions/INT10.fvd A OmicABELnoMM/examples/interactions/INT01.fvd A OmicABELnoMM/examples/interactions/INT11.fvd A OmicABELnoMM/examples/interactions/INTR0.fvd A OmicABELnoMM/examples/interactions/INTR1.fvd A OmicABELnoMM/examples/interactions/INTRR.fvd A OmicABELnoMM/examples/interactions/XR.fvi A OmicABELnoMM/examples/interactions/INT10.fvi A OmicABELnoMM/examples/interactions/INT01.fvi A OmicABELnoMM/examples/dosages_1.txt A OmicABELnoMM/examples/dosages_2.txt A OmicABELnoMM/examples/XL.fvi A OmicABELnoMM/examples/Y.fvd A OmicABELnoMM/examples/XR.fvd A OmicABELnoMM/examples/Y.fvi A OmicABELnoMM/examples/XR.fvi A OmicABELnoMM/examples/CreateData.R U OmicABELnoMM Checked out revision 1849. ??lennart at barabas /tmp ??$ cd OmicABELnoMM ??lennart at barabas /tmp/OmicABELnoMM ??$ autoreconf -fi configure.ac:6: installing './install-sh' configure.ac:6: installing './missing' Makefile.am: installing './depcomp' ??lennart at barabas /tmp/OmicABELnoMM ??$ > From here I can install the MPI script I suppose. Indeed. > > I will commit what I got so far from the documentation, because My > instructions to install are all wrong now since users wont use svn to > download and compile the code. Feel free to add your own installation > procedure and modify the tex file. Sure, I'll do that. It will mostly be a copy/paste from the ProbABEL manual. Lennart. > > -Alvaro > > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] > Sent: Monday, October 27, 2014 12:49 PM > To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > On a different NON 32bit system: > alvaro.frank@:/opt/omicabelnomm> svn checkout svn://svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM/ > A OmicABELnoMM/OmicOUT > A OmicABELnoMM/OmicOUT/main.cpp > A OmicABELnoMM/AUTHORS > A OmicABELnoMM/ChangeLog > A OmicABELnoMM/src > A OmicABELnoMM/src/AIOwrapper.h > A OmicABELnoMM/src/Definitions.h > A OmicABELnoMM/src/Utility.cpp > A OmicABELnoMM/src/main.cpp > A OmicABELnoMM/src/Algorithm.cpp > A OmicABELnoMM/src/Utility.h > A OmicABELnoMM/src/AIOwrapper.cpp > A OmicABELnoMM/src/Algorithm.h > A OmicABELnoMM/compile > A OmicABELnoMM/libs > A OmicABELnoMM/libs/include > A OmicABELnoMM/libs/lib > A OmicABELnoMM/README > A OmicABELnoMM/tests > A OmicABELnoMM/tests/test.cpp > A OmicABELnoMM/tests/Makefile.am > A OmicABELnoMM/configure.ac > A OmicABELnoMM/doc > A OmicABELnoMM/doc/howtocompile.txt > A OmicABELnoMM/doc/UserGuide.tex > A OmicABELnoMM/INSTALL > A OmicABELnoMM/COPYING > A OmicABELnoMM/test-driver > A OmicABELnoMM/Makefile.am > A OmicABELnoMM/NEWS > A OmicABELnoMM/examples > A OmicABELnoMM/examples/XL.fvd > A OmicABELnoMM/examples/results > A OmicABELnoMM/examples/exclude_individuals.txt > A OmicABELnoMM/examples/interactions > A OmicABELnoMM/examples/interactions/INTR0.fvi > A OmicABELnoMM/examples/interactions/INT11.fvi > A OmicABELnoMM/examples/interactions/INTR1.fvi > A OmicABELnoMM/examples/interactions/INTRR.fvi > A OmicABELnoMM/examples/interactions/Y.fvd > A OmicABELnoMM/examples/interactions/INT0.fvd > A OmicABELnoMM/examples/interactions/INT1.fvd > A OmicABELnoMM/examples/interactions/INTR.fvd > A OmicABELnoMM/examples/interactions/INT011.fvd > A OmicABELnoMM/examples/interactions/Y.fvi > A OmicABELnoMM/examples/interactions/INT01R.fvd > A OmicABELnoMM/examples/interactions/INT0.fvi > A OmicABELnoMM/examples/interactions/INT1RR.fvd > A OmicABELnoMM/examples/interactions/INT1.fvi > A OmicABELnoMM/examples/interactions/INTR.fvi > A OmicABELnoMM/examples/interactions/INT011.fvi > A OmicABELnoMM/examples/interactions/INT01R.fvi > A OmicABELnoMM/examples/interactions/XL.fvd > A OmicABELnoMM/examples/interactions/INT1RR.fvi > A OmicABELnoMM/examples/interactions/XL.fvi > A OmicABELnoMM/examples/interactions/XR.fvd > A OmicABELnoMM/examples/interactions/INT10.fvd > A OmicABELnoMM/examples/interactions/INT01.fvd > A OmicABELnoMM/examples/interactions/INT11.fvd > A OmicABELnoMM/examples/interactions/INTR0.fvd > A OmicABELnoMM/examples/interactions/INTR1.fvd > A OmicABELnoMM/examples/interactions/INTRR.fvd > A OmicABELnoMM/examples/interactions/XR.fvi > A OmicABELnoMM/examples/interactions/INT10.fvi > A OmicABELnoMM/examples/interactions/INT01.fvi > A OmicABELnoMM/examples/dosages_1.txt > A OmicABELnoMM/examples/dosages_2.txt > A OmicABELnoMM/examples/XL.fvi > A OmicABELnoMM/examples/Y.fvd > A OmicABELnoMM/examples/XR.fvd > A OmicABELnoMM/examples/Y.fvi > A OmicABELnoMM/examples/XR.fvi > A OmicABELnoMM/examples/CreateData.R > U OmicABELnoMM > Checked out revision 1849. > alvaro.frank at rhein:/opt/omicabelnomm> cd OmicABELnoMM/ > alvaro.frank at rhein:/opt/omicabelnomm/OmicABELnoMM> autoreconf -fi > configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE > If this token and others are legitimate, please use m4_pattern_allow. > See the Autoconf documentation. > configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE > autoreconf: /usr/bin/autoconf failed with exit status: 1 > alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> lscpu > Architecture: x86_64 > CPU op-mode(s): 32-bit, 64-bit > Byte Order: Little Endian > CPU(s): 48 > On-line CPU(s) list: 0-47 > Thread(s) per core: 1 > Core(s) per socket: 12 > CPU socket(s): 4 > NUMA node(s): 8 > Vendor ID: AuthenticAMD > CPU family: 16 > Model: 9 > Stepping: 1 > CPU MHz: 800.000 > BogoMIPS: 4200.05 > Virtualization: AMD-V > L1d cache: 64K > L1i cache: 64K > L2 cache: 512K > L3 cache: 5118K > NUMA node0 CPU(s): 0-5 > NUMA node1 CPU(s): 6-11 > NUMA node2 CPU(s): 12-17 > NUMA node3 CPU(s): 18-23 > NUMA node4 CPU(s): 24-29 > NUMA node5 CPU(s): 30-35 > NUMA node6 CPU(s): 36-41 > NUMA node7 CPU(s): 42-47 > alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> > > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] > Sent: Monday, October 27, 2014 12:41 PM > To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > I think the 32bit problem is the fault here. > 32 bit architecture is a valid working environment for most, i.e: Here at helmoholtz. > > > > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] > Sent: Monday, October 27, 2014 12:40 PM > To: genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > When googling: > > On 27-10-14 12:34, L.C. Karssen wrote: >> possibly undefined macro: AC_MSG_FAILURE >>> If this token and others are legitimate, please use m4_pattern_allow. > > I got a link to a StackOverflow post [1] that says that you may not have > pkg-config installed. However, I think that pkg-config is installed by > default (because when trying to remove it I get lots of package > dependencies). An other suggestion in that SO question is that it may be > related to 32 bits architecture... > > > Lennart. > > > [1] > http://stackoverflow.com/questions/8811381/possibly-undefined-macro-ac-msg-error > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Mon Oct 27 13:24:30 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 12:24:30 +0000 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <544E36ED.8040606@karssen.org> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de>, <544E2C1E.7000402@karssen.org> <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> <544E2DCF.1010100@karssen.org>, <544E2F12.9010300@karssen.org>, <244CF001646FF74FB34F372310A332C508409622@MBX-S2.rwth-ad.de>, <244CF001646FF74FB34F372310A332C508409634@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C50840964B@MBX-S2.rwth-ad.de>, <544E36ED.8040606@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C50840967D@MBX-S2.rwth-ad.de> How do I add the MPI .m4 file to autoconf without modifying the configure.ac? http://stackoverflow.com/questions/5298830/how-to-include-m4-files-in-autoconf -Alvaro ________________________________________ From: L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 1:13 PM To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] LATEX error on autoreconf Hi Alvaro, On 27-10-14 13:03, Frank, Alvaro Jesus wrote: > More on the problem, If I use autoreconf -fi it wont work, if I use autoreconf -i : > > > alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> autoreconf -i > configure.ac:6: installing `./install-sh' > configure.ac:6: installing `./missing' > Makefile.am: installing `./depcomp' > alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> ./configure > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... /bin/mkdir -p > checking for gawk... gawk > checking whether make sets $(MAKE)... yes > checking whether to disable maintainer-specific portions of Makefiles... yes > ./configure: line 3045: syntax error near unexpected token `test' > ./configure: line 3045: `AX_PROG_CXX_MPI(test "x$with_mpi" != "xno",' > That's weird... Indeed I didn't use the -f flag... But if I do (on a fresh checkout), it works without problems (I do have a 64 bit kernel): lennart at barabas /tmp ??$ svn checkout svn+ssh://lckarssen at svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM A OmicABELnoMM/OmicOUT A OmicABELnoMM/OmicOUT/main.cpp A OmicABELnoMM/AUTHORS A OmicABELnoMM/ChangeLog A OmicABELnoMM/src A OmicABELnoMM/src/AIOwrapper.h A OmicABELnoMM/src/Definitions.h A OmicABELnoMM/src/Utility.cpp A OmicABELnoMM/src/main.cpp A OmicABELnoMM/src/Algorithm.cpp A OmicABELnoMM/src/Utility.h A OmicABELnoMM/src/AIOwrapper.cpp A OmicABELnoMM/src/Algorithm.h A OmicABELnoMM/compile A OmicABELnoMM/libs A OmicABELnoMM/libs/include A OmicABELnoMM/libs/lib A OmicABELnoMM/README A OmicABELnoMM/tests A OmicABELnoMM/tests/test.cpp A OmicABELnoMM/tests/Makefile.am A OmicABELnoMM/configure.ac A OmicABELnoMM/doc A OmicABELnoMM/doc/howtocompile.txt A OmicABELnoMM/doc/UserGuide.tex A OmicABELnoMM/INSTALL A OmicABELnoMM/COPYING A OmicABELnoMM/test-driver A OmicABELnoMM/Makefile.am A OmicABELnoMM/NEWS A OmicABELnoMM/examples A OmicABELnoMM/examples/XL.fvd A OmicABELnoMM/examples/results A OmicABELnoMM/examples/exclude_individuals.txt A OmicABELnoMM/examples/interactions A OmicABELnoMM/examples/interactions/INTR0.fvi A OmicABELnoMM/examples/interactions/INT11.fvi A OmicABELnoMM/examples/interactions/INTR1.fvi A OmicABELnoMM/examples/interactions/INTRR.fvi A OmicABELnoMM/examples/interactions/Y.fvd A OmicABELnoMM/examples/interactions/INT0.fvd A OmicABELnoMM/examples/interactions/INT1.fvd A OmicABELnoMM/examples/interactions/INTR.fvd A OmicABELnoMM/examples/interactions/INT011.fvd A OmicABELnoMM/examples/interactions/Y.fvi A OmicABELnoMM/examples/interactions/INT01R.fvd A OmicABELnoMM/examples/interactions/INT0.fvi A OmicABELnoMM/examples/interactions/INT1RR.fvd A OmicABELnoMM/examples/interactions/INT1.fvi A OmicABELnoMM/examples/interactions/INTR.fvi A OmicABELnoMM/examples/interactions/INT011.fvi A OmicABELnoMM/examples/interactions/INT01R.fvi A OmicABELnoMM/examples/interactions/XL.fvd A OmicABELnoMM/examples/interactions/INT1RR.fvi A OmicABELnoMM/examples/interactions/XL.fvi A OmicABELnoMM/examples/interactions/XR.fvd A OmicABELnoMM/examples/interactions/INT10.fvd A OmicABELnoMM/examples/interactions/INT01.fvd A OmicABELnoMM/examples/interactions/INT11.fvd A OmicABELnoMM/examples/interactions/INTR0.fvd A OmicABELnoMM/examples/interactions/INTR1.fvd A OmicABELnoMM/examples/interactions/INTRR.fvd A OmicABELnoMM/examples/interactions/XR.fvi A OmicABELnoMM/examples/interactions/INT10.fvi A OmicABELnoMM/examples/interactions/INT01.fvi A OmicABELnoMM/examples/dosages_1.txt A OmicABELnoMM/examples/dosages_2.txt A OmicABELnoMM/examples/XL.fvi A OmicABELnoMM/examples/Y.fvd A OmicABELnoMM/examples/XR.fvd A OmicABELnoMM/examples/Y.fvi A OmicABELnoMM/examples/XR.fvi A OmicABELnoMM/examples/CreateData.R U OmicABELnoMM Checked out revision 1849. ??lennart at barabas /tmp ??$ cd OmicABELnoMM ??lennart at barabas /tmp/OmicABELnoMM ??$ autoreconf -fi configure.ac:6: installing './install-sh' configure.ac:6: installing './missing' Makefile.am: installing './depcomp' ??lennart at barabas /tmp/OmicABELnoMM ??$ > From here I can install the MPI script I suppose. Indeed. > > I will commit what I got so far from the documentation, because My > instructions to install are all wrong now since users wont use svn to > download and compile the code. Feel free to add your own installation > procedure and modify the tex file. Sure, I'll do that. It will mostly be a copy/paste from the ProbABEL manual. Lennart. > > -Alvaro > > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] > Sent: Monday, October 27, 2014 12:49 PM > To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > On a different NON 32bit system: > alvaro.frank@:/opt/omicabelnomm> svn checkout svn://svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM/ > A OmicABELnoMM/OmicOUT > A OmicABELnoMM/OmicOUT/main.cpp > A OmicABELnoMM/AUTHORS > A OmicABELnoMM/ChangeLog > A OmicABELnoMM/src > A OmicABELnoMM/src/AIOwrapper.h > A OmicABELnoMM/src/Definitions.h > A OmicABELnoMM/src/Utility.cpp > A OmicABELnoMM/src/main.cpp > A OmicABELnoMM/src/Algorithm.cpp > A OmicABELnoMM/src/Utility.h > A OmicABELnoMM/src/AIOwrapper.cpp > A OmicABELnoMM/src/Algorithm.h > A OmicABELnoMM/compile > A OmicABELnoMM/libs > A OmicABELnoMM/libs/include > A OmicABELnoMM/libs/lib > A OmicABELnoMM/README > A OmicABELnoMM/tests > A OmicABELnoMM/tests/test.cpp > A OmicABELnoMM/tests/Makefile.am > A OmicABELnoMM/configure.ac > A OmicABELnoMM/doc > A OmicABELnoMM/doc/howtocompile.txt > A OmicABELnoMM/doc/UserGuide.tex > A OmicABELnoMM/INSTALL > A OmicABELnoMM/COPYING > A OmicABELnoMM/test-driver > A OmicABELnoMM/Makefile.am > A OmicABELnoMM/NEWS > A OmicABELnoMM/examples > A OmicABELnoMM/examples/XL.fvd > A OmicABELnoMM/examples/results > A OmicABELnoMM/examples/exclude_individuals.txt > A OmicABELnoMM/examples/interactions > A OmicABELnoMM/examples/interactions/INTR0.fvi > A OmicABELnoMM/examples/interactions/INT11.fvi > A OmicABELnoMM/examples/interactions/INTR1.fvi > A OmicABELnoMM/examples/interactions/INTRR.fvi > A OmicABELnoMM/examples/interactions/Y.fvd > A OmicABELnoMM/examples/interactions/INT0.fvd > A OmicABELnoMM/examples/interactions/INT1.fvd > A OmicABELnoMM/examples/interactions/INTR.fvd > A OmicABELnoMM/examples/interactions/INT011.fvd > A OmicABELnoMM/examples/interactions/Y.fvi > A OmicABELnoMM/examples/interactions/INT01R.fvd > A OmicABELnoMM/examples/interactions/INT0.fvi > A OmicABELnoMM/examples/interactions/INT1RR.fvd > A OmicABELnoMM/examples/interactions/INT1.fvi > A OmicABELnoMM/examples/interactions/INTR.fvi > A OmicABELnoMM/examples/interactions/INT011.fvi > A OmicABELnoMM/examples/interactions/INT01R.fvi > A OmicABELnoMM/examples/interactions/XL.fvd > A OmicABELnoMM/examples/interactions/INT1RR.fvi > A OmicABELnoMM/examples/interactions/XL.fvi > A OmicABELnoMM/examples/interactions/XR.fvd > A OmicABELnoMM/examples/interactions/INT10.fvd > A OmicABELnoMM/examples/interactions/INT01.fvd > A OmicABELnoMM/examples/interactions/INT11.fvd > A OmicABELnoMM/examples/interactions/INTR0.fvd > A OmicABELnoMM/examples/interactions/INTR1.fvd > A OmicABELnoMM/examples/interactions/INTRR.fvd > A OmicABELnoMM/examples/interactions/XR.fvi > A OmicABELnoMM/examples/interactions/INT10.fvi > A OmicABELnoMM/examples/interactions/INT01.fvi > A OmicABELnoMM/examples/dosages_1.txt > A OmicABELnoMM/examples/dosages_2.txt > A OmicABELnoMM/examples/XL.fvi > A OmicABELnoMM/examples/Y.fvd > A OmicABELnoMM/examples/XR.fvd > A OmicABELnoMM/examples/Y.fvi > A OmicABELnoMM/examples/XR.fvi > A OmicABELnoMM/examples/CreateData.R > U OmicABELnoMM > Checked out revision 1849. > alvaro.frank at rhein:/opt/omicabelnomm> cd OmicABELnoMM/ > alvaro.frank at rhein:/opt/omicabelnomm/OmicABELnoMM> autoreconf -fi > configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE > If this token and others are legitimate, please use m4_pattern_allow. > See the Autoconf documentation. > configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE > autoreconf: /usr/bin/autoconf failed with exit status: 1 > alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> lscpu > Architecture: x86_64 > CPU op-mode(s): 32-bit, 64-bit > Byte Order: Little Endian > CPU(s): 48 > On-line CPU(s) list: 0-47 > Thread(s) per core: 1 > Core(s) per socket: 12 > CPU socket(s): 4 > NUMA node(s): 8 > Vendor ID: AuthenticAMD > CPU family: 16 > Model: 9 > Stepping: 1 > CPU MHz: 800.000 > BogoMIPS: 4200.05 > Virtualization: AMD-V > L1d cache: 64K > L1i cache: 64K > L2 cache: 512K > L3 cache: 5118K > NUMA node0 CPU(s): 0-5 > NUMA node1 CPU(s): 6-11 > NUMA node2 CPU(s): 12-17 > NUMA node3 CPU(s): 18-23 > NUMA node4 CPU(s): 24-29 > NUMA node5 CPU(s): 30-35 > NUMA node6 CPU(s): 36-41 > NUMA node7 CPU(s): 42-47 > alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> > > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] > Sent: Monday, October 27, 2014 12:41 PM > To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > I think the 32bit problem is the fault here. > 32 bit architecture is a valid working environment for most, i.e: Here at helmoholtz. > > > > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] > Sent: Monday, October 27, 2014 12:40 PM > To: genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > When googling: > > On 27-10-14 12:34, L.C. Karssen wrote: >> possibly undefined macro: AC_MSG_FAILURE >>> If this token and others are legitimate, please use m4_pattern_allow. > > I got a link to a StackOverflow post [1] that says that you may not have > pkg-config installed. However, I think that pkg-config is installed by > default (because when trying to remove it I get lots of package > dependencies). An other suggestion in that SO question is that it may be > related to 32 bits architecture... > > > Lennart. > > > [1] > http://stackoverflow.com/questions/8811381/possibly-undefined-macro-ac-msg-error > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Mon Oct 27 14:16:04 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 14:16:04 +0100 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de>, <544E2C1E.7000402@karssen.org> <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> Message-ID: <544E4594.7090503@karssen.org> Hi Alvaro, I just found out that if I remove the autoconf-archives packages (which contains the AC_PROG_CXX_MPI macro) I get the same errors as you do. So I guess this is a typical case of having a misleading error message. Lennart. On 27-10-14 12:31, Frank, Alvaro Jesus wrote: > From a pure checkout: > > > user at ubuntu:~/OmicABELnoMM$ ./configure > bash: ./configure: No such file or directory > user at ubuntu:~/OmicABELnoMM$ ls > AUTHORS compile COPYING examples libs NEWS README test-driver update.sh > ChangeLog configure.ac doc INSTALL Makefile.am OmicOUT src tests > user at ubuntu:~/OmicABELnoMM$ autoreconf > configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE > If this token and others are legitimate, please use m4_pattern_allow. > See the Autoconf documentation. > configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE > autoreconf: /usr/bin/autoconf failed with exit status: 1 > user at ubuntu:~/OmicABELnoMM$ autoreconf -fi > configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE > If this token and others are legitimate, please use m4_pattern_allow. > See the Autoconf documentation. > configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE > autoreconf: /usr/bin/autoconf failed with exit status: 1 > > > > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] > Sent: Monday, October 27, 2014 12:27 PM > To: genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > Hi Alvaro, > > On 27-10-14 10:21, Frank, Alvaro Jesus wrote: >> Is there a reason for this to happen? (pure checkout from the repo) >> >> /opt/omicabelnomm/OmicABELnoMM> autoreconf -fi >> Makefile.am:194: BUILD_latexdoc does not appear in AM_CONDITIONAL >> Makefile.am:195: HAVE_PDFLATEX does not appear in AM_CONDITIONAL >> autoreconf: automake failed with exit status: 1 > > Hmm, weird, I don't get that error on a fresh checkout. I'm using > autoconf v2.69 (autoreconf -V). > > Strangely enough, configure.ac does define the AM_CONDITIONALs with > HAVE_PDFLATEX and BUILD_latexdoc, in lines 162 and 163 respectively. > Here's a link to the diff that introduced these lines (r1843): > > https://r-forge.r-project.org/scm/viewvc.php/pkg/OmicABELnoMM/configure.ac?root=genabel&r1=1837&r2=1843 > > > > Best, > > Lennart. >> >> >> Any help is appreciated, >> >> -Alvaro >> >> >> >> _______________________________________________ >> genabel-devel mailing list >> genabel-devel at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel >> > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Mon Oct 27 14:20:04 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 14:20:04 +0100 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <244CF001646FF74FB34F372310A332C50840967D@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de>, <544E2C1E.7000402@karssen.org> <244CF001646FF74FB34F372310A332C5084095ED@MBX-S2.rwth-ad.de> <544E2DCF.1010100@karssen.org>, <544E2F12.9010300@karssen.org>, <244CF001646FF74FB34F372310A332C508409622@MBX-S2.rwth-ad.de>, <244CF001646FF74FB34F372310A332C508409634@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C50840964B@MBX-S2.rwth-ad.de>, <544E36ED.8040606@karssen.org> <244CF001646FF74FB34F372310A332C50840967D@MBX-S2.rwth-ad.de> Message-ID: <544E4684.3030602@karssen.org> On 27-10-14 13:24, Frank, Alvaro Jesus wrote: > How do I add the MPI .m4 file to autoconf without modifying the configure.ac? If you installed the macros from the Debian/Ubuntu package no further work is needed (at least it worked out of the box for me, Ubuntu 14.04). The package installs the ax_* scripts in /usr/share/aclocal. Alternatively, assuming the path to ax_prog_cxx_mpi.m4 is /my/m4/path, you can run autoreconf like this: autoreconf -i -I/my/m4/path Lennart. > > http://stackoverflow.com/questions/5298830/how-to-include-m4-files-in-autoconf > > -Alvaro > ________________________________________ > From: L.C. Karssen [lennart at karssen.org] > Sent: Monday, October 27, 2014 1:13 PM > To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > Hi Alvaro, > > On 27-10-14 13:03, Frank, Alvaro Jesus wrote: >> More on the problem, If I use autoreconf -fi it wont work, if I use autoreconf -i : >> >> >> alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> autoreconf -i >> configure.ac:6: installing `./install-sh' >> configure.ac:6: installing `./missing' >> Makefile.am: installing `./depcomp' >> alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> ./configure >> checking for a BSD-compatible install... /usr/bin/install -c >> checking whether build environment is sane... yes >> checking for a thread-safe mkdir -p... /bin/mkdir -p >> checking for gawk... gawk >> checking whether make sets $(MAKE)... yes >> checking whether to disable maintainer-specific portions of Makefiles... yes >> ./configure: line 3045: syntax error near unexpected token `test' >> ./configure: line 3045: `AX_PROG_CXX_MPI(test "x$with_mpi" != "xno",' >> > > That's weird... Indeed I didn't use the -f flag... But if I do (on a > fresh checkout), it works without problems (I do have a 64 bit kernel): > > lennart at barabas /tmp > ??$ svn checkout > svn+ssh://lckarssen at svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM > > A OmicABELnoMM/OmicOUT > A OmicABELnoMM/OmicOUT/main.cpp > A OmicABELnoMM/AUTHORS > A OmicABELnoMM/ChangeLog > A OmicABELnoMM/src > A OmicABELnoMM/src/AIOwrapper.h > A OmicABELnoMM/src/Definitions.h > A OmicABELnoMM/src/Utility.cpp > A OmicABELnoMM/src/main.cpp > A OmicABELnoMM/src/Algorithm.cpp > A OmicABELnoMM/src/Utility.h > A OmicABELnoMM/src/AIOwrapper.cpp > A OmicABELnoMM/src/Algorithm.h > A OmicABELnoMM/compile > A OmicABELnoMM/libs > A OmicABELnoMM/libs/include > A OmicABELnoMM/libs/lib > A OmicABELnoMM/README > A OmicABELnoMM/tests > A OmicABELnoMM/tests/test.cpp > A OmicABELnoMM/tests/Makefile.am > A OmicABELnoMM/configure.ac > A OmicABELnoMM/doc > A OmicABELnoMM/doc/howtocompile.txt > A OmicABELnoMM/doc/UserGuide.tex > A OmicABELnoMM/INSTALL > A OmicABELnoMM/COPYING > A OmicABELnoMM/test-driver > A OmicABELnoMM/Makefile.am > A OmicABELnoMM/NEWS > A OmicABELnoMM/examples > A OmicABELnoMM/examples/XL.fvd > A OmicABELnoMM/examples/results > A OmicABELnoMM/examples/exclude_individuals.txt > A OmicABELnoMM/examples/interactions > A OmicABELnoMM/examples/interactions/INTR0.fvi > A OmicABELnoMM/examples/interactions/INT11.fvi > A OmicABELnoMM/examples/interactions/INTR1.fvi > A OmicABELnoMM/examples/interactions/INTRR.fvi > A OmicABELnoMM/examples/interactions/Y.fvd > A OmicABELnoMM/examples/interactions/INT0.fvd > A OmicABELnoMM/examples/interactions/INT1.fvd > A OmicABELnoMM/examples/interactions/INTR.fvd > A OmicABELnoMM/examples/interactions/INT011.fvd > A OmicABELnoMM/examples/interactions/Y.fvi > A OmicABELnoMM/examples/interactions/INT01R.fvd > A OmicABELnoMM/examples/interactions/INT0.fvi > A OmicABELnoMM/examples/interactions/INT1RR.fvd > A OmicABELnoMM/examples/interactions/INT1.fvi > A OmicABELnoMM/examples/interactions/INTR.fvi > A OmicABELnoMM/examples/interactions/INT011.fvi > A OmicABELnoMM/examples/interactions/INT01R.fvi > A OmicABELnoMM/examples/interactions/XL.fvd > A OmicABELnoMM/examples/interactions/INT1RR.fvi > A OmicABELnoMM/examples/interactions/XL.fvi > A OmicABELnoMM/examples/interactions/XR.fvd > A OmicABELnoMM/examples/interactions/INT10.fvd > A OmicABELnoMM/examples/interactions/INT01.fvd > A OmicABELnoMM/examples/interactions/INT11.fvd > A OmicABELnoMM/examples/interactions/INTR0.fvd > A OmicABELnoMM/examples/interactions/INTR1.fvd > A OmicABELnoMM/examples/interactions/INTRR.fvd > A OmicABELnoMM/examples/interactions/XR.fvi > A OmicABELnoMM/examples/interactions/INT10.fvi > A OmicABELnoMM/examples/interactions/INT01.fvi > A OmicABELnoMM/examples/dosages_1.txt > A OmicABELnoMM/examples/dosages_2.txt > A OmicABELnoMM/examples/XL.fvi > A OmicABELnoMM/examples/Y.fvd > A OmicABELnoMM/examples/XR.fvd > A OmicABELnoMM/examples/Y.fvi > A OmicABELnoMM/examples/XR.fvi > A OmicABELnoMM/examples/CreateData.R > U OmicABELnoMM > Checked out revision 1849. > ??lennart at barabas /tmp > ??$ cd OmicABELnoMM > ??lennart at barabas /tmp/OmicABELnoMM > ??$ autoreconf -fi > configure.ac:6: installing './install-sh' > configure.ac:6: installing './missing' > Makefile.am: installing './depcomp' > ??lennart at barabas /tmp/OmicABELnoMM > ??$ > > >> From here I can install the MPI script I suppose. > > Indeed. > >> >> I will commit what I got so far from the documentation, because My >> instructions to install are all wrong now since users wont use svn to >> download and compile the code. Feel free to add your own installation >> procedure and modify the tex file. > > Sure, I'll do that. It will mostly be a copy/paste from the ProbABEL manual. > > > Lennart. > > > >> >> -Alvaro >> >> ________________________________________ >> From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] >> Sent: Monday, October 27, 2014 12:49 PM >> To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org >> Subject: Re: [GenABEL-dev] LATEX error on autoreconf >> >> On a different NON 32bit system: >> alvaro.frank@:/opt/omicabelnomm> svn checkout svn://svn.r-forge.r-project.org/svnroot/genabel/pkg/OmicABELnoMM/ >> A OmicABELnoMM/OmicOUT >> A OmicABELnoMM/OmicOUT/main.cpp >> A OmicABELnoMM/AUTHORS >> A OmicABELnoMM/ChangeLog >> A OmicABELnoMM/src >> A OmicABELnoMM/src/AIOwrapper.h >> A OmicABELnoMM/src/Definitions.h >> A OmicABELnoMM/src/Utility.cpp >> A OmicABELnoMM/src/main.cpp >> A OmicABELnoMM/src/Algorithm.cpp >> A OmicABELnoMM/src/Utility.h >> A OmicABELnoMM/src/AIOwrapper.cpp >> A OmicABELnoMM/src/Algorithm.h >> A OmicABELnoMM/compile >> A OmicABELnoMM/libs >> A OmicABELnoMM/libs/include >> A OmicABELnoMM/libs/lib >> A OmicABELnoMM/README >> A OmicABELnoMM/tests >> A OmicABELnoMM/tests/test.cpp >> A OmicABELnoMM/tests/Makefile.am >> A OmicABELnoMM/configure.ac >> A OmicABELnoMM/doc >> A OmicABELnoMM/doc/howtocompile.txt >> A OmicABELnoMM/doc/UserGuide.tex >> A OmicABELnoMM/INSTALL >> A OmicABELnoMM/COPYING >> A OmicABELnoMM/test-driver >> A OmicABELnoMM/Makefile.am >> A OmicABELnoMM/NEWS >> A OmicABELnoMM/examples >> A OmicABELnoMM/examples/XL.fvd >> A OmicABELnoMM/examples/results >> A OmicABELnoMM/examples/exclude_individuals.txt >> A OmicABELnoMM/examples/interactions >> A OmicABELnoMM/examples/interactions/INTR0.fvi >> A OmicABELnoMM/examples/interactions/INT11.fvi >> A OmicABELnoMM/examples/interactions/INTR1.fvi >> A OmicABELnoMM/examples/interactions/INTRR.fvi >> A OmicABELnoMM/examples/interactions/Y.fvd >> A OmicABELnoMM/examples/interactions/INT0.fvd >> A OmicABELnoMM/examples/interactions/INT1.fvd >> A OmicABELnoMM/examples/interactions/INTR.fvd >> A OmicABELnoMM/examples/interactions/INT011.fvd >> A OmicABELnoMM/examples/interactions/Y.fvi >> A OmicABELnoMM/examples/interactions/INT01R.fvd >> A OmicABELnoMM/examples/interactions/INT0.fvi >> A OmicABELnoMM/examples/interactions/INT1RR.fvd >> A OmicABELnoMM/examples/interactions/INT1.fvi >> A OmicABELnoMM/examples/interactions/INTR.fvi >> A OmicABELnoMM/examples/interactions/INT011.fvi >> A OmicABELnoMM/examples/interactions/INT01R.fvi >> A OmicABELnoMM/examples/interactions/XL.fvd >> A OmicABELnoMM/examples/interactions/INT1RR.fvi >> A OmicABELnoMM/examples/interactions/XL.fvi >> A OmicABELnoMM/examples/interactions/XR.fvd >> A OmicABELnoMM/examples/interactions/INT10.fvd >> A OmicABELnoMM/examples/interactions/INT01.fvd >> A OmicABELnoMM/examples/interactions/INT11.fvd >> A OmicABELnoMM/examples/interactions/INTR0.fvd >> A OmicABELnoMM/examples/interactions/INTR1.fvd >> A OmicABELnoMM/examples/interactions/INTRR.fvd >> A OmicABELnoMM/examples/interactions/XR.fvi >> A OmicABELnoMM/examples/interactions/INT10.fvi >> A OmicABELnoMM/examples/interactions/INT01.fvi >> A OmicABELnoMM/examples/dosages_1.txt >> A OmicABELnoMM/examples/dosages_2.txt >> A OmicABELnoMM/examples/XL.fvi >> A OmicABELnoMM/examples/Y.fvd >> A OmicABELnoMM/examples/XR.fvd >> A OmicABELnoMM/examples/Y.fvi >> A OmicABELnoMM/examples/XR.fvi >> A OmicABELnoMM/examples/CreateData.R >> U OmicABELnoMM >> Checked out revision 1849. >> alvaro.frank at rhein:/opt/omicabelnomm> cd OmicABELnoMM/ >> alvaro.frank at rhein:/opt/omicabelnomm/OmicABELnoMM> autoreconf -fi >> configure.ac:53: error: possibly undefined macro: AC_MSG_FAILURE >> If this token and others are legitimate, please use m4_pattern_allow. >> See the Autoconf documentation. >> configure.ac:55: error: possibly undefined macro: AC_MSG_NOTICE >> autoreconf: /usr/bin/autoconf failed with exit status: 1 >> alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> lscpu >> Architecture: x86_64 >> CPU op-mode(s): 32-bit, 64-bit >> Byte Order: Little Endian >> CPU(s): 48 >> On-line CPU(s) list: 0-47 >> Thread(s) per core: 1 >> Core(s) per socket: 12 >> CPU socket(s): 4 >> NUMA node(s): 8 >> Vendor ID: AuthenticAMD >> CPU family: 16 >> Model: 9 >> Stepping: 1 >> CPU MHz: 800.000 >> BogoMIPS: 4200.05 >> Virtualization: AMD-V >> L1d cache: 64K >> L1i cache: 64K >> L2 cache: 512K >> L3 cache: 5118K >> NUMA node0 CPU(s): 0-5 >> NUMA node1 CPU(s): 6-11 >> NUMA node2 CPU(s): 12-17 >> NUMA node3 CPU(s): 18-23 >> NUMA node4 CPU(s): 24-29 >> NUMA node5 CPU(s): 30-35 >> NUMA node6 CPU(s): 36-41 >> NUMA node7 CPU(s): 42-47 >> alvaro.frank@:/opt/omicabelnomm/OmicABELnoMM> >> >> ________________________________________ >> From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] >> Sent: Monday, October 27, 2014 12:41 PM >> To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org >> Subject: Re: [GenABEL-dev] LATEX error on autoreconf >> >> I think the 32bit problem is the fault here. >> 32 bit architecture is a valid working environment for most, i.e: Here at helmoholtz. >> >> >> >> ________________________________________ >> From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] >> Sent: Monday, October 27, 2014 12:40 PM >> To: genabel-devel at lists.r-forge.r-project.org >> Subject: Re: [GenABEL-dev] LATEX error on autoreconf >> >> When googling: >> >> On 27-10-14 12:34, L.C. Karssen wrote: >>> possibly undefined macro: AC_MSG_FAILURE >>>> If this token and others are legitimate, please use m4_pattern_allow. >> >> I got a link to a StackOverflow post [1] that says that you may not have >> pkg-config installed. However, I think that pkg-config is installed by >> default (because when trying to remove it I get lots of package >> dependencies). An other suggestion in that SO question is that it may be >> related to 32 bits architecture... >> >> >> Lennart. >> >> >> [1] >> http://stackoverflow.com/questions/8811381/possibly-undefined-macro-ac-msg-error >> >> -- >> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* >> L.C. Karssen >> Utrecht >> The Netherlands >> >> lennart at karssen.org >> http://blog.karssen.org >> GPG key ID: A88F554A >> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >> >> _______________________________________________ >> genabel-devel mailing list >> genabel-devel at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel >> _______________________________________________ >> genabel-devel mailing list >> genabel-devel at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel >> > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From juergen.riegel at helmholtz-muenchen.de Mon Oct 27 13:59:02 2014 From: juergen.riegel at helmholtz-muenchen.de (=?iso-8859-1?Q?=22Riegel=2C_J=FCrgen=22?=) Date: Mon, 27 Oct 2014 13:59:02 +0100 Subject: [GenABEL-dev] omicabelnomm Instalation In-Reply-To: References: Message-ID: Dear list, Alvaro asked me to install the latest omicabelnomm on our local compute server, but it seems you have changed the way of installation. Is there any package / binary / RPM / repository where I can get the latest stable version for installation, or what is the preferred / suggested way of installation now? Thanks in advance, J?rgen Best regards, J?rgen Riegel --- J?rgen Riegel, Dipl.-Inf. (FH) IT Admin for IGE + AME institute for genetic epidemiology (IGE) division for molecular epidemiology (AME) Von: Frank Ramirez, Alvaro Jesus Gesendet: Montag, 27. Oktober 2014 13:29 An: Riegel, J?rgen Betreff: omicabelnomm Instalation Hi J?rgen, The GenABEL people (Yurii's group) inform me that omicabelnomm will be installed in a different way (compared to how I have been doing it untilnow). The latest build broke my installation procedure. Could you contact genabel-devel at lists.r-forge.r-project.org to obtain a proper installation rocedure for omicabelnomm? It should be a very simple Linux package for distributions. Email: genabel-devel at lists.r-forge.r-project.org Best, Alvaro ________________________________ Helmholtz Zentrum M?nchen Deutsches Forschungszentrum f?r Gesundheit und Umwelt (GmbH) Ingolst?dter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir?in B?rbel Brumme-Bothe Gesch?ftsf?hrer: Prof. Dr. G?nther Wess, Dr. Nikolaus Blum, Dr. Alfons Enhsen Registergericht: Amtsgericht M?nchen HRB 6466 USt-IdNr: DE 129521671 -------------- next part -------------- An HTML attachment was scrubbed... URL: From lennart at karssen.org Mon Oct 27 14:42:22 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 14:42:22 +0100 Subject: [GenABEL-dev] omicabelnomm Instalation In-Reply-To: References: Message-ID: <544E4BBE.201@karssen.org> Dear J?rgen, On 27-10-14 13:59, "Riegel, J?rgen" wrote: > Dear list, > > > > Alvaro asked me to install the latest omicabelnomm on our local compute > server, but it seems you have changed the way of installation. Actually, we didn't :-). It is just that for the current development version (as of this weekend) does an extended check for MPI compilers. This check was added because Alvaro will allow users to compile OmicABELnoMM without MPI support as well, if the user so desires. The new Autoconf check (an autoconf macro called AX_PROG_CXX_MPI) is not part of the standard autoconf install, but part of the Autoconf Archives [1]. Most distributions have the Archives packaged as well [2]. So, the question is how you compiled/installed OmicABELnoMM before. If you did an SVN checkout and ran autoreconf -i, ./configure, make and make install than nothing will have changed if you install the autoconf-archives package. If you can't or don't want to install that package, you can download the macro from [1], save it in the directory where you checked out OmicABELnoMM and run autoconf -i -I. instead, followed by the other commands. > Is there > any package / binary / RPM / repository where I can get the latest > stable version for installation, or what is the preferred / suggested > way of installation now? We don't provide RPMs (yet), for several reasons: 1) we don't have the man power currently to create spec files (contributions are more than welcome!), 2) the current developers work on Debian derivatives, and 3) because the code is best compiled on the machines that will run OmicABELnoMM themselves in order to make most out of the hardware of each individual server, since Alvaro's algorithms are programmed very 'close' to the hardware/CPU. Once OmicABELnoMM is declared 'ready for release' we will set up a page for it on www.genabel.org, where you will be able to download official releases of the source code. Hope this helps, Lennart. [1] http://www.gnu.org/software/autoconf-archive/ax_prog_cxx_mpi.html#ax_prog_cxx_mpi [2] http://pkgs.org/download/autoconf-archive > > > > Thanks in advance, > > J?rgen > > > > > > > > > > Best regards, > > J?rgen Riegel > > > > --- > > J?rgen Riegel, Dipl.-Inf. (FH) > > IT Admin for IGE + AME > > > > institute for genetic epidemiology (IGE) > > division for molecular epidemiology (AME) > > > > > > > > > > *Von:*Frank Ramirez, Alvaro Jesus > *Gesendet:* Montag, 27. Oktober 2014 13:29 > *An:* Riegel, J?rgen > *Betreff:* omicabelnomm Instalation > > > > Hi J?rgen, > > > > The GenABEL people (Yurii?s group) inform me that omicabelnomm will be > installed in a different way (compared to how I have been doing it > untilnow). > > The latest build broke my installation procedure. Could you contact > genabel-devel at lists.r-forge.r-project.org > to obtain a proper > installation rocedure foromicabelnomm? > > It should be a very simple Linux package for distributions. > > Email: > > genabel-devel at lists.r-forge.r-project.org > > > > > > > Best, > > Alvaro > > > ------------------------------------------------------------------------ > Helmholtz Zentrum M?nchen > Deutsches Forschungszentrum f?r Gesundheit und Umwelt (GmbH) > Ingolst?dter Landstr. 1 > 85764 Neuherberg > www.helmholtz-muenchen.de > Aufsichtsratsvorsitzende: MinDir?in B?rbel Brumme-Bothe > Gesch?ftsf?hrer: Prof. Dr. G?nther Wess, Dr. Nikolaus Blum, Dr. Alfons > Enhsen > Registergericht: Amtsgericht M?nchen HRB 6466 > USt-IdNr: DE 129521671 > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Mon Oct 27 21:42:33 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 21:42:33 +0100 Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp Message-ID: <544EAE39.3030307@karssen.org> Hi Alvaro, When I looked into the checks for OmicABELnoMM I noticed that the paths to input and output files are hardcoded in the cpp file. While this is (probably) OK for the file names, the fact that directories are hardcoded also results in problems when running 'make distcheck'. What would be the easiest way to enable the user to specify a path for input and output files? 'make distcheck' sets an environment variable [1], so we could check for that. But since it also sets the path as a make variable, I guess it's easiest to add this path to the source code when compiling. Or, maybe a bit nicer: add a command line option and wrap the check in a shell script that provides the path. What do you think? Lennart. [1] http://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Mon Oct 27 22:11:06 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 21:11:06 +0000 Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp In-Reply-To: <544EAE39.3030307@karssen.org> References: <544EAE39.3030307@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C50840982C@MBX-S2.rwth-ad.de> Which files? what do you mean hardcoded? the user already specifies the paths. ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 9:42 PM To: GenABEL Development list Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp Hi Alvaro, When I looked into the checks for OmicABELnoMM I noticed that the paths to input and output files are hardcoded in the cpp file. While this is (probably) OK for the file names, the fact that directories are hardcoded also results in problems when running 'make distcheck'. What would be the easiest way to enable the user to specify a path for input and output files? 'make distcheck' sets an environment variable [1], so we could check for that. But since it also sets the path as a make variable, I guess it's easiest to add this path to the source code when compiling. Or, maybe a bit nicer: add a command line option and wrap the check in a shell script that provides the path. What do you think? Lennart. [1] http://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Mon Oct 27 22:16:27 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 22:16:27 +0100 Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp In-Reply-To: <244CF001646FF74FB34F372310A332C50840982C@MBX-S2.rwth-ad.de> References: <544EAE39.3030307@karssen.org> <244CF001646FF74FB34F372310A332C50840982C@MBX-S2.rwth-ad.de> Message-ID: <544EB62B.9030201@karssen.org> On 27-10-14 22:11, Frank, Alvaro Jesus wrote: > Which files? what do you mean hardcoded? the user already specifies the paths. in checks/test.cpp, for example on lines 188--201: params.fnameOutFiles = "examples/results/normal"; params.fnameAL = "examples/interactions/XL"; params.fnameAR = "examples/interactions/XR"; params.fnameY = "examples/interactions/Y"; params.use_interactions = true; params.r = 2; params.limit_t = 50; params.limit_m = params.limit_t * params.r; // params.limit_n = 1000; params.fname_excludelist = "examples/exclude_individuals.txt"; string source_path = "examples/interactions/INT"; string out_path[] = {"examples/results/single_inter_", "examples/results/multi_inter_"}; The way I understand this is that the path examples/interactions, examples/results, etc. are fixed. Lennart. > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] > Sent: Monday, October 27, 2014 9:42 PM > To: GenABEL Development list > Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp > > Hi Alvaro, > > When I looked into the checks for OmicABELnoMM I noticed that the paths > to input and output files are hardcoded in the cpp file. While this is > (probably) OK for the file names, the fact that directories are > hardcoded also results in problems when running 'make distcheck'. > > What would be the easiest way to enable the user to specify a path for > input and output files? > 'make distcheck' sets an environment variable [1], so we could check for > that. But since it also sets the path as a make variable, I guess it's > easiest to add this path to the source code when compiling. > Or, maybe a bit nicer: add a command line option and wrap the check in a > shell script that provides the path. > > > What do you think? > > Lennart. > > [1] > http://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Mon Oct 27 22:17:26 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 21:17:26 +0000 Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp In-Reply-To: <544EB62B.9030201@karssen.org> References: <544EAE39.3030307@karssen.org> <244CF001646FF74FB34F372310A332C50840982C@MBX-S2.rwth-ad.de>, <544EB62B.9030201@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C508409845@MBX-S2.rwth-ad.de> Yea that is ok, that is not the program but the test program. That is make test. -Alvaro ________________________________________ From: L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 10:16 PM To: Frank, Alvaro Jesus; GenABEL Development list Subject: Re: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp On 27-10-14 22:11, Frank, Alvaro Jesus wrote: > Which files? what do you mean hardcoded? the user already specifies the paths. in checks/test.cpp, for example on lines 188--201: params.fnameOutFiles = "examples/results/normal"; params.fnameAL = "examples/interactions/XL"; params.fnameAR = "examples/interactions/XR"; params.fnameY = "examples/interactions/Y"; params.use_interactions = true; params.r = 2; params.limit_t = 50; params.limit_m = params.limit_t * params.r; // params.limit_n = 1000; params.fname_excludelist = "examples/exclude_individuals.txt"; string source_path = "examples/interactions/INT"; string out_path[] = {"examples/results/single_inter_", "examples/results/multi_inter_"}; The way I understand this is that the path examples/interactions, examples/results, etc. are fixed. Lennart. > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] > Sent: Monday, October 27, 2014 9:42 PM > To: GenABEL Development list > Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp > > Hi Alvaro, > > When I looked into the checks for OmicABELnoMM I noticed that the paths > to input and output files are hardcoded in the cpp file. While this is > (probably) OK for the file names, the fact that directories are > hardcoded also results in problems when running 'make distcheck'. > > What would be the easiest way to enable the user to specify a path for > input and output files? > 'make distcheck' sets an environment variable [1], so we could check for > that. But since it also sets the path as a make variable, I guess it's > easiest to add this path to the source code when compiling. > Or, maybe a bit nicer: add a command line option and wrap the check in a > shell script that provides the path. > > > What do you think? > > Lennart. > > [1] > http://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Mon Oct 27 22:23:30 2014 From: lennart at karssen.org (L.C. Karssen) Date: Mon, 27 Oct 2014 22:23:30 +0100 Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp In-Reply-To: <244CF001646FF74FB34F372310A332C508409845@MBX-S2.rwth-ad.de> References: <544EAE39.3030307@karssen.org> <244CF001646FF74FB34F372310A332C50840982C@MBX-S2.rwth-ad.de>, <544EB62B.9030201@karssen.org> <244CF001646FF74FB34F372310A332C508409845@MBX-S2.rwth-ad.de> Message-ID: <544EB7D2.8080000@karssen.org> On 27-10-14 22:17, Frank, Alvaro Jesus wrote: > Yea that is ok, that is not the program but the test program. > > That is make test. I know, but because it uses hardcoded paths 'make distcheck' fails, because of the way it attempts a VPATH build. When you run 'make distcheck' two things are done: an environment variable is set to the correct source location and a make variable is set. So that's why I proposed to use this make variable to add the actual path used by 'make distcheck' to the test.cpp file when compiling. I think that is the cleanest/easiest solution. Lennart. > > -Alvaro > ________________________________________ > From: L.C. Karssen [lennart at karssen.org] > Sent: Monday, October 27, 2014 10:16 PM > To: Frank, Alvaro Jesus; GenABEL Development list > Subject: Re: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp > > On 27-10-14 22:11, Frank, Alvaro Jesus wrote: >> Which files? what do you mean hardcoded? the user already specifies the paths. > > in checks/test.cpp, for example on lines 188--201: > > params.fnameOutFiles = "examples/results/normal"; > params.fnameAL = "examples/interactions/XL"; > params.fnameAR = "examples/interactions/XR"; > params.fnameY = "examples/interactions/Y"; > > params.use_interactions = true; > params.r = 2; > params.limit_t = 50; > params.limit_m = params.limit_t * params.r; > // params.limit_n = 1000; > params.fname_excludelist = "examples/exclude_individuals.txt"; > string source_path = "examples/interactions/INT"; > string out_path[] = {"examples/results/single_inter_", > "examples/results/multi_inter_"}; > > The way I understand this is that the path examples/interactions, > examples/results, etc. are fixed. > > > Lennart. > >> ________________________________________ >> From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] >> Sent: Monday, October 27, 2014 9:42 PM >> To: GenABEL Development list >> Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp >> >> Hi Alvaro, >> >> When I looked into the checks for OmicABELnoMM I noticed that the paths >> to input and output files are hardcoded in the cpp file. While this is >> (probably) OK for the file names, the fact that directories are >> hardcoded also results in problems when running 'make distcheck'. >> >> What would be the easiest way to enable the user to specify a path for >> input and output files? >> 'make distcheck' sets an environment variable [1], so we could check for >> that. But since it also sets the path as a make variable, I guess it's >> easiest to add this path to the source code when compiling. >> Or, maybe a bit nicer: add a command line option and wrap the check in a >> shell script that provides the path. >> >> >> What do you think? >> >> Lennart. >> >> [1] >> http://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html >> >> -- >> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* >> L.C. Karssen >> Utrecht >> The Netherlands >> >> lennart at karssen.org >> http://blog.karssen.org >> GPG key ID: A88F554A >> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >> > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Mon Oct 27 22:59:12 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Mon, 27 Oct 2014 21:59:12 +0000 Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp In-Reply-To: <544EB7D2.8080000@karssen.org> References: <544EAE39.3030307@karssen.org> <244CF001646FF74FB34F372310A332C50840982C@MBX-S2.rwth-ad.de>, <544EB62B.9030201@karssen.org> <244CF001646FF74FB34F372310A332C508409845@MBX-S2.rwth-ad.de>, <544EB7D2.8080000@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C508409868@MBX-S2.rwth-ad.de> That should stay hard-coded. But do as you think it is best. -Alvaro ________________________________________ From: L.C. Karssen [lennart at karssen.org] Sent: Monday, October 27, 2014 10:23 PM To: Frank, Alvaro Jesus; GenABEL Development list Subject: Re: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp On 27-10-14 22:17, Frank, Alvaro Jesus wrote: > Yea that is ok, that is not the program but the test program. > > That is make test. I know, but because it uses hardcoded paths 'make distcheck' fails, because of the way it attempts a VPATH build. When you run 'make distcheck' two things are done: an environment variable is set to the correct source location and a make variable is set. So that's why I proposed to use this make variable to add the actual path used by 'make distcheck' to the test.cpp file when compiling. I think that is the cleanest/easiest solution. Lennart. > > -Alvaro > ________________________________________ > From: L.C. Karssen [lennart at karssen.org] > Sent: Monday, October 27, 2014 10:16 PM > To: Frank, Alvaro Jesus; GenABEL Development list > Subject: Re: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp > > On 27-10-14 22:11, Frank, Alvaro Jesus wrote: >> Which files? what do you mean hardcoded? the user already specifies the paths. > > in checks/test.cpp, for example on lines 188--201: > > params.fnameOutFiles = "examples/results/normal"; > params.fnameAL = "examples/interactions/XL"; > params.fnameAR = "examples/interactions/XR"; > params.fnameY = "examples/interactions/Y"; > > params.use_interactions = true; > params.r = 2; > params.limit_t = 50; > params.limit_m = params.limit_t * params.r; > // params.limit_n = 1000; > params.fname_excludelist = "examples/exclude_individuals.txt"; > string source_path = "examples/interactions/INT"; > string out_path[] = {"examples/results/single_inter_", > "examples/results/multi_inter_"}; > > The way I understand this is that the path examples/interactions, > examples/results, etc. are fixed. > > > Lennart. > >> ________________________________________ >> From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] >> Sent: Monday, October 27, 2014 9:42 PM >> To: GenABEL Development list >> Subject: [GenABEL-dev] Hardcoded paths in OmicABELnoMM's test.cpp >> >> Hi Alvaro, >> >> When I looked into the checks for OmicABELnoMM I noticed that the paths >> to input and output files are hardcoded in the cpp file. While this is >> (probably) OK for the file names, the fact that directories are >> hardcoded also results in problems when running 'make distcheck'. >> >> What would be the easiest way to enable the user to specify a path for >> input and output files? >> 'make distcheck' sets an environment variable [1], so we could check for >> that. But since it also sets the path as a make variable, I guess it's >> easiest to add this path to the source code when compiling. >> Or, maybe a bit nicer: add a command line option and wrap the check in a >> shell script that provides the path. >> >> >> What do you think? >> >> Lennart. >> >> [1] >> http://www.gnu.org/software/automake/manual/html_node/Scripts_002dbased-Testsuites.html >> >> -- >> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* >> L.C. Karssen >> Utrecht >> The Netherlands >> >> lennart at karssen.org >> http://blog.karssen.org >> GPG key ID: A88F554A >> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >> > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From alvaro.frank at rwth-aachen.de Tue Oct 28 12:13:25 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Tue, 28 Oct 2014 11:13:25 +0000 Subject: [GenABEL-dev] Doxygen Message-ID: <244CF001646FF74FB34F372310A332C508409963@MBX-S2.rwth-ad.de> Hi Lennart, I am about to generate doxygen template documentation. How should/is this handled from the side of svn and autotools. -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From alvaro.frank at rwth-aachen.de Tue Oct 28 12:30:20 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Tue, 28 Oct 2014 11:30:20 +0000 Subject: [GenABEL-dev] MPI -D define Message-ID: <244CF001646FF74FB34F372310A332C508409981@MBX-S2.rwth-ad.de> Hi Lennart, I am trying to enable/disable the dynamic mpi support through the pragma define of MPI. I just cant figure out which Define (at a preprocessor level) does the AX_PROG_CXX_MPI set. -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From alvaro.frank at rwth-aachen.de Tue Oct 28 12:31:17 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Tue, 28 Oct 2014 11:31:17 +0000 Subject: [GenABEL-dev] MPI -D define In-Reply-To: <244CF001646FF74FB34F372310A332C508409981@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409981@MBX-S2.rwth-ad.de> Message-ID: <244CF001646FF74FB34F372310A332C508409996@MBX-S2.rwth-ad.de> Is it HAVE_MPI? -Alvaro ________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] Sent: Tuesday, October 28, 2014 12:30 PM To: genabel-devel at lists.r-forge.r-project.org Subject: [GenABEL-dev] MPI -D define Hi Lennart, I am trying to enable/disable the dynamic mpi support through the pragma define of MPI. I just cant figure out which Define (at a preprocessor level) does the AX_PROG_CXX_MPI set. -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From lennart at karssen.org Tue Oct 28 12:33:43 2014 From: lennart at karssen.org (L.C. Karssen) Date: Tue, 28 Oct 2014 12:33:43 +0100 Subject: [GenABEL-dev] Doxygen In-Reply-To: <244CF001646FF74FB34F372310A332C508409963@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409963@MBX-S2.rwth-ad.de> Message-ID: <544F7F17.1020306@karssen.org> Hi Alvaro, On 28-10-14 12:13, Frank, Alvaro Jesus wrote: > Hi Lennart, > > I am about to generate doxygen template documentation. That's fantastic news! > How should/is this handled from the side of svn and autotools. Take a look at ProbABEL trunk. There's a test in configure.ac: # Check for the presence of Doxygen AC_CHECK_PROGS([DOXYGEN], doxygen) if test -z "$DOXYGEN"; then AC_MSG_NOTICE([Doxygen not found - Not generating code documentation]) fi AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"]) AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([doc/Doxyfile])]) If doxygen is found, the Automake variable HAVE_DOXYGEN is set. It also generates the file doc/Doxyfile based on the template in doc/Doxyfile.in. Note the use of the Autoconf variables @PACKAGE_NAME@ and @PACKAGE_VERSION@ for the Doxygen variables PROJECT_NAME and PROJECT_NUMBER, respectively. This way the correct name and version number are automatically added to the Doxygen documentation when your run ./configure (assuming you have set the correct version in the configure.ac AC_INIT line) In doc/Makefile.am I then use it to generate the doxygen documentation: if HAVE_DOXYGEN doxygen.stamp: Doxyfile $(DOXYGEN) $< echo Timestamp > $@ CLEANFILES += doxygen.stamp all-local: doxygen.stamp # CLEANFILES is only for files, so add an entry for the doxygen directory clean-local: -rm -rf doxygen-docs endif I'm starting to wonder about one thing: In ProbABEL I'm using recursive Automake files, i.e. each subdirectory has it's own Makefile.am. Nice and clean. However, recursive make is considered harmful [1,2], so that's why I change to non-recursive make for OmicABELnoMM. However, I get the idea that this creates more problems than it solves. For example, in ProbABEL I have no problems with my pdflatex code in doc/Makefile.am, whereas I can't seem to get it to work with OmicABELnoMM's Makefile.am. Another thing is that the single Makefile.am of OAnMM is becoming quite large. Of course we could split it up in the various subdirectories and include those in the main Makefile.am, at least that will keep things clean. However, if it turns out that your efforts of adding Doxygen lead to non-recursive Automake problems also, I'll switch back to recursive make. Best, Lennart. [1] http://aegis.sourceforge.net/auug97.pdf [2] https://autotools.io/automake/nonrecursive.html > > -Alvaro > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Tue Oct 28 12:38:00 2014 From: lennart at karssen.org (L.C. Karssen) Date: Tue, 28 Oct 2014 12:38:00 +0100 Subject: [GenABEL-dev] MPI -D define In-Reply-To: <244CF001646FF74FB34F372310A332C508409996@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409981@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C508409996@MBX-S2.rwth-ad.de> Message-ID: <544F8018.307@karssen.org> See line 61 of configure.ac: AM_CONDITIONAL([USE_MPI], test "x$use_mpi" = "xyes") This sets USE_MPI. I decided to not use HAVE_MPI, because it maybe that MPI is found, but still disabled by the user (using ./configure --without-mpi). Lennart. On 28-10-14 12:31, Frank, Alvaro Jesus wrote: > Is it HAVE_MPI? > > -Alvaro > ------------------------------------------------------------------------ > *From:* genabel-devel-bounces at lists.r-forge.r-project.org > [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, > Alvaro Jesus [alvaro.frank at rwth-aachen.de] > *Sent:* Tuesday, October 28, 2014 12:30 PM > *To:* genabel-devel at lists.r-forge.r-project.org > *Subject:* [GenABEL-dev] MPI -D define > > Hi Lennart, > > I am trying to enable/disable the dynamic mpi support through the pragma > define of MPI. > I just cant figure out which Define (at a preprocessor level) does the > AX_PROG_CXX_MPI set. > > -Alvaro > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Tue Oct 28 12:41:02 2014 From: lennart at karssen.org (L.C. Karssen) Date: Tue, 28 Oct 2014 12:41:02 +0100 Subject: [GenABEL-dev] [Genabel-commits] r1861 - in pkg/OmicABELnoMM: examples src In-Reply-To: <20141028102035.D9C1A1873ED@r-forge.r-project.org> References: <20141028102035.D9C1A1873ED@r-forge.r-project.org> Message-ID: <544F80CE.3020606@karssen.org> Hi Alvaro, On 28-10-14 11:20, noreply at r-forge.r-project.org wrote: > Author: afrank > Date: 2014-10-28 11:20:35 +0100 (Tue, 28 Oct 2014) > New Revision: 1861 > > Modified: > pkg/OmicABELnoMM/examples/exclude_individuals.txt > pkg/OmicABELnoMM/src/AIOwrapper.cpp > pkg/OmicABELnoMM/src/Utility.cpp > pkg/OmicABELnoMM/src/Utility.h > Log: > More code cleanup around unused fakefile feature. Great work! I love removal of unused code :-). The cleaner the code base, the easier maintenance will be. Thanks! Lennart. > > Modified: pkg/OmicABELnoMM/examples/exclude_individuals.txt > =================================================================== > --- pkg/OmicABELnoMM/examples/exclude_individuals.txt 2014-10-28 09:59:23 UTC (rev 1860) > +++ pkg/OmicABELnoMM/examples/exclude_individuals.txt 2014-10-28 10:20:35 UTC (rev 1861) > @@ -2,4 +2,4 @@ > 5 > 7 > 9 11 > -10 > \ No newline at end of file > +13 > \ No newline at end of file > > Modified: pkg/OmicABELnoMM/src/AIOwrapper.cpp > =================================================================== > --- pkg/OmicABELnoMM/src/AIOwrapper.cpp 2014-10-28 09:59:23 UTC (rev 1860) > +++ pkg/OmicABELnoMM/src/AIOwrapper.cpp 2014-10-28 10:20:35 UTC (rev 1861) > @@ -200,7 +200,7 @@ > } > else > { > - //other params come from outside > + //no longer used > } > > params.mb = min(params.m,params.mb); > @@ -791,7 +791,7 @@ > { > //cout << "async_io\n" << flush; > type_fileh* Fhandler = (type_fileh *)ptr; > - int size_buff,tmp_y_blockSize,tmp_ar_blockSize; > + int tmp_y_blockSize,tmp_ar_blockSize; > > struct timespec timeToWait; > FILE* fp_Y; > @@ -967,7 +967,6 @@ > tmp_y_blockSize = Fhandler->y_to_readSize; > > Fhandler->y_to_readSize -= tmp_y_blockSize; > - size_buff = Fhandler->n * tmp_y_blockSize; > > > > @@ -983,14 +982,7 @@ > > if(Fhandler->fakefiles) > { > - fseek ( fp_Y , 0 , SEEK_SET ); > - size_t result = fread (tobeFilled->buff,sizeof(type_precision),size_buff,fp_Y); > - result++; > - int old_seed = Fhandler->seed; > - srand (old_seed); > - re_random_vec(tobeFilled->buff, size_buff ); > - re_random_vec_nan(tobeFilled->buff, size_buff ); > - Fhandler->seed += 75; > + //no longer used > } > else > { > @@ -1052,7 +1044,6 @@ > #endif > > Fhandler->Ar_to_readSize -= tmp_ar_blockSize; > - size_buff = Fhandler->n * tmp_ar_blockSize*Fhandler->r; > > pthread_mutex_lock(&(Fhandler->m_buff_upd)); > type_buffElement* tobeFilled = Fhandler->ar_empty_buffers.front(); > @@ -1066,12 +1057,7 @@ > > if(Fhandler->fakefiles) > { > -// fp_Ar.seekg ( 0 , ios::beg ); > -// fp_Ar.read ((char*)tobeFilled->buff,sizeof(type_precision)*size_buff); > -// > -// re_random_vec(tobeFilled->buff , Fhandler->n * tmp_ar_blockSize*Fhandler->r ); > -// re_random_vec_nan(tobeFilled->buff , Fhandler->n * tmp_ar_blockSize*Fhandler->r ); > - > + //no longer used > } > else > { > @@ -1292,11 +1278,7 @@ > Fhandler->write_full_buffers.pop(); > > > - if(Fhandler->fakefiles) > - { > > - } > - > if(!Fhandler->fakefiles && !tobeWritten->empty()) > { > > @@ -2001,62 +1983,39 @@ > void AIOwrapper::load_AL(type_precision** AL) > { > > - if(Fhandler->fakefiles) > - { > - FILE *fp; > - fp = fopen("tempAL.bin", "rb"); > - if(fp == 0) > - { > - cout << "Error Reading File tempAL.bin" << endl; > - exit(1); > - } > > - size_t result = fread (Fhandler->AL,sizeof(type_precision),Fhandler->l*Fhandler->n,fp); > - result++; > - fclose(fp); > - srand(22); > - re_random_vec(Fhandler->AL,Fhandler->n*Fhandler->l); > - re_random_vec_nan(Fhandler->AL,Fhandler->n*Fhandler->l); > - (*AL) = Fhandler->AL; > - } > - else > + FILE *fp; > + fp = fopen((Fhandler->fnameAL+".fvd").c_str(), "rb"); > + if(fp == 0) > { > - FILE *fp; > - fp = fopen((Fhandler->fnameAL+".fvd").c_str(), "rb"); > - if(fp == 0) > - { > - cout << "Error Reading File " << Fhandler->fnameAL << endl; > - exit(1); > - } > + cout << "Error Reading File " << Fhandler->fnameAL << endl; > + exit(1); > + } > > - list< pair >* excl_List = Fhandler->excl_List; > + list< pair >* excl_List = Fhandler->excl_List; > > - int chunk_size_buff; > - int buff_pos=0; > - int file_pos; > + int chunk_size_buff; > + int buff_pos=0; > + int file_pos; > > - for (int i=0; i < Fhandler->l; i++) > + for (int i=0; i < Fhandler->l; i++) > + { > + for (list< pair >::iterator it=excl_List->begin(); it != excl_List->end(); ++it) > { > - for (list< pair >::iterator it=excl_List->begin(); it != excl_List->end(); ++it) > - { > > - file_pos = i*Fhandler->fileN+ it->first; > - fseek ( fp , file_pos*sizeof(type_precision) , SEEK_SET ); > - chunk_size_buff = it->second; > + file_pos = i*Fhandler->fileN+ it->first; > + fseek ( fp , file_pos*sizeof(type_precision) , SEEK_SET ); > + chunk_size_buff = it->second; > > - size_t result = fread (&(Fhandler->AL[buff_pos]),sizeof(type_precision),chunk_size_buff,fp); result++; > - buff_pos += chunk_size_buff; > - } > + size_t result = fread (&(Fhandler->AL[buff_pos]),sizeof(type_precision),chunk_size_buff,fp); result++; > + buff_pos += chunk_size_buff; > } > + } > > - //cout << Fhandler->n; > + //cout << Fhandler->n; > > + fclose(fp); > > -// size_t result = fread (Fhandler->AL,sizeof(type_precision),Fhandler->l*Fhandler->n,fp); > -// > -// result++; > - fclose(fp); > - } > > > > @@ -2070,17 +2029,6 @@ > > Fhandler->AL = new type_precision[columnsAL*n]; > Fhandler->l=columnsAL; > - if(Fhandler->fakefiles) > - { > - FILE* fp_AL = fopen("tempAL.bin", "w+b"); > - if(fp_AL == 0) > - { > - cout << "Error creating temp File AL "<< endl; > - exit(1); > - } > - fwrite(Fhandler->AL, sizeof(type_precision), n*columnsAL, fp_AL); > - fclose(fp_AL); > - } > } > > void AIOwrapper::finalize_AL() > > Modified: pkg/OmicABELnoMM/src/Utility.cpp > =================================================================== > --- pkg/OmicABELnoMM/src/Utility.cpp 2014-10-28 09:59:23 UTC (rev 1860) > +++ pkg/OmicABELnoMM/src/Utility.cpp 2014-10-28 10:20:35 UTC (rev 1861) > @@ -28,28 +28,9 @@ > } > > > -type_precision* random_vec(int size) > -{ > > - type_precision* vec = > - (type_precision*)malloc(size * sizeof(type_precision)); > > - if (vec == 0) > - { > - cout << "\nNot enough RAM! " > - << (int)(size*sizeof(type_precision)/1024/1024) << "MB\n"; > - //system("pause"); > - exit(1); > - } > > - for (int i = 0; i < size; i++) > - { > - vec[i] = (type_precision)rand() / (type_precision)RAND_MAX; > - } > - return vec; > -} > - > - > void re_random_vec(type_precision* vec, int size) > { > for (int i = 0; i < size; i++) > @@ -59,25 +40,9 @@ > } > > > -void re_random_vec_nan(type_precision* vec, int size) > -{ > - //int i; > > -// for ( i = 0; i < size; i++) > -// { > -// if ((type_precision)rand() / (type_precision)RAND_MAX > 0.5) > -// vec[i] = nanf(""); > -// } > -} > > > -//no allocation! > -//inline void inlinecopy_vec(type_precision*old, type_precision* new_vec, int size) > -//{ > -// memcpy( (type_precision*)new_vec, (type_precision*)old, size * sizeof(type_precision) ); > -//} > - > - > type_precision* replicate_vec(type_precision* old, int size) > { > type_precision* vec = > @@ -240,46 +205,6 @@ > } > } > > - > -void cpu_benchmark(int n, int samples, double &duration, double &GFLOPS) > -{ > - type_precision* A = new type_precision[n * n]; > - type_precision* B = new type_precision[n * n]; > - type_precision* C = new type_precision[n * n]; > - > - cputime_type start_tick, end_tick; > - duration = 9999999999.0; > - int b = 0; > - > - for (int i = 0; i < samples; i++) > - { > - re_random_vec(A, n*n); > - re_random_vec(B, n*n); > - re_random_vec(C, n*n); > - > - get_ticks(start_tick); > - cblas_sgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, n, n, n, > - 1.0, A, n, B, n, 1.0, C, n); > - get_ticks(end_tick); > - duration = min(duration, (double)(ticks2sec(end_tick, start_tick))); > - int a = 0; > - for (int j = 0; j < n * n ; j++) > - { > - a += A[j] + B[j] + C[j]; > - } > - b += a; > - } > - //!2nnn - nn + 2nn (from+c) > - GFLOPS = gemm_flops(n, n, n, 0); > - > - cout << b; > - > - delete []A; > - delete []B; > - delete []C; > -} > - > - > float getTvalue(float pval) > { > // cout << pval << endl; > > Modified: pkg/OmicABELnoMM/src/Utility.h > =================================================================== > --- pkg/OmicABELnoMM/src/Utility.h 2014-10-28 09:59:23 UTC (rev 1860) > +++ pkg/OmicABELnoMM/src/Utility.h 2014-10-28 10:20:35 UTC (rev 1861) > @@ -25,10 +25,7 @@ > > type_precision* replicate_vec(type_precision*old, int size); > void matlab_print_matrix(string name, int m, int n, type_precision* A); > -void cpu_benchmark(int n, int samples, double &duration, double &gflops); > > -void re_random_vec_nan(type_precision* vec, int size); > - > void replace_with_zeros(list* indexs, type_precision* vec, > int n, int r, int block_count); > > > _______________________________________________ > Genabel-commits mailing list > Genabel-commits at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-commits > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Tue Oct 28 12:42:16 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Tue, 28 Oct 2014 11:42:16 +0000 Subject: [GenABEL-dev] Error in Message-ID: <244CF001646FF74FB34F372310A332C5084099CA@MBX-S2.rwth-ad.de> Hi Lennart, in the command ./configure --help Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-mpi compile with MPI (shared memory parallelization) support. Ifnone is found, MPI is not used. Default: auto Should be "Distributed memory ? parallelization" -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From alvaro.frank at rwth-aachen.de Tue Oct 28 12:45:53 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Tue, 28 Oct 2014 11:45:53 +0000 Subject: [GenABEL-dev] Error in In-Reply-To: <244CF001646FF74FB34F372310A332C5084099CA@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C5084099CA@MBX-S2.rwth-ad.de> Message-ID: <244CF001646FF74FB34F372310A332C5084099E3@MBX-S2.rwth-ad.de> Another small thing. What is --disable-openmp do not use OpenMP suppose to do? (I know what it says, but what is the expected behaivior from the program with this option?) I dont think it does what you think it does. Or do we know what it does at all? -Alvaro ________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] Sent: Tuesday, October 28, 2014 12:42 PM To: genabel-devel at lists.r-forge.r-project.org Subject: [GenABEL-dev] Error in Hi Lennart, in the command ./configure --help Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-mpi compile with MPI (shared memory parallelization) support. Ifnone is found, MPI is not used. Default: auto Should be "Distributed memory ? parallelization" -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From alvaro.frank at rwth-aachen.de Tue Oct 28 12:56:24 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Tue, 28 Oct 2014 11:56:24 +0000 Subject: [GenABEL-dev] MPI -D define In-Reply-To: <544F8018.307@karssen.org> References: <244CF001646FF74FB34F372310A332C508409981@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C508409996@MBX-S2.rwth-ad.de>, <544F8018.307@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C5084099FD@MBX-S2.rwth-ad.de> The macro does not seem to work. I am not getting USE_MPI defined or HAVE_MPI. -Alvaro ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] Sent: Tuesday, October 28, 2014 12:38 PM To: genabel-devel at lists.r-forge.r-project.org Subject: Re: [GenABEL-dev] MPI -D define See line 61 of configure.ac: AM_CONDITIONAL([USE_MPI], test "x$use_mpi" = "xyes") This sets USE_MPI. I decided to not use HAVE_MPI, because it maybe that MPI is found, but still disabled by the user (using ./configure --without-mpi). Lennart. On 28-10-14 12:31, Frank, Alvaro Jesus wrote: > Is it HAVE_MPI? > > -Alvaro > ------------------------------------------------------------------------ > *From:* genabel-devel-bounces at lists.r-forge.r-project.org > [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, > Alvaro Jesus [alvaro.frank at rwth-aachen.de] > *Sent:* Tuesday, October 28, 2014 12:30 PM > *To:* genabel-devel at lists.r-forge.r-project.org > *Subject:* [GenABEL-dev] MPI -D define > > Hi Lennart, > > I am trying to enable/disable the dynamic mpi support through the pragma > define of MPI. > I just cant figure out which Define (at a preprocessor level) does the > AX_PROG_CXX_MPI set. > > -Alvaro > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Tue Oct 28 13:19:53 2014 From: lennart at karssen.org (L.C. Karssen) Date: Tue, 28 Oct 2014 13:19:53 +0100 Subject: [GenABEL-dev] Error in In-Reply-To: <244CF001646FF74FB34F372310A332C5084099CA@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C5084099CA@MBX-S2.rwth-ad.de> Message-ID: <544F89E9.2000302@karssen.org> On 28-10-14 12:42, Frank, Alvaro Jesus wrote: > Hi Lennart, > > in the command ./configure --help > > Optional Packages: > --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] > --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) > --with-mpi compile with MPI (shared memory parallelization) > support. Ifnone is found, MPI is not used. > Default: > auto > > > Should be "Distributed memory ? parallelization" Good point! Fixed in r1863. Lennart. > > > -Alvaro > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Tue Oct 28 13:24:10 2014 From: lennart at karssen.org (L.C. Karssen) Date: Tue, 28 Oct 2014 13:24:10 +0100 Subject: [GenABEL-dev] Error in In-Reply-To: <244CF001646FF74FB34F372310A332C5084099E3@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C5084099CA@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C5084099E3@MBX-S2.rwth-ad.de> Message-ID: <544F8AEA.5060101@karssen.org> On 28-10-14 12:45, Frank, Alvaro Jesus wrote: > Another small thing. > > What is > > --disable-openmp do not use OpenMP > > suppose to do? (I know what it says, but what is the expected behaivior > from the program with this option?) > I dont think it does what you think it does. Or do we know what it does > at all? It's automatically added by the AC_OPENMP Autoconf macro. If haven't tested it, but IIRC using --disable-openmp means that the -fopenmp compiler flag will not be added to CFLAGS/CXXFLAGS, thus disabling openMP support. Lennart. > > > -Alvaro > > > ------------------------------------------------------------------------ > *From:* genabel-devel-bounces at lists.r-forge.r-project.org > [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, > Alvaro Jesus [alvaro.frank at rwth-aachen.de] > *Sent:* Tuesday, October 28, 2014 12:42 PM > *To:* genabel-devel at lists.r-forge.r-project.org > *Subject:* [GenABEL-dev] Error in > > Hi Lennart, > > in the command ./configure --help > > Optional Packages: > --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] > --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) > --with-mpi compile with MPI (shared memory parallelization) > support. Ifnone is found, MPI is not used. > Default: > auto > > > Should be "Distributed memory ? parallelization" > > > -Alvaro > > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Tue Oct 28 14:32:53 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Tue, 28 Oct 2014 13:32:53 +0000 Subject: [GenABEL-dev] LATEX error on autoreconf In-Reply-To: <544F81E7.5070102@karssen.org> References: <244CF001646FF74FB34F372310A332C508409581@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C508409598@MBX-S2.rwth-ad.de>, <544E29C8.3030300@karssen.org> <244CF001646FF74FB34F372310A332C5084095D1@MBX-S2.rwth-ad.de>, <544E2D3C.6030102@karssen.org> <244CF001646FF74FB34F372310A332C50840960C@MBX-S2.rwth-ad.de>, <544E355B.90005@karssen.org> <244CF001646FF74FB34F372310A332C508409670@MBX-S2.rwth-ad.de>, <544E4707.2020100@karssen.org> <244CF001646FF74FB34F372310A332C508409701@MBX-S2.rwth-ad.de>, <544E4EBC.5090404@karssen.org> <244CF001646FF74FB34F372310A332C508409889@MBX-S2.rwth-ad.de>, <544F4EA7.2030103@karssen.org> <244CF001646FF74FB34F372310A332C50840995D@MBX-S2.rwth-ad.de>, <544F7FA7.5070000@karssen.org> <244CF001646FF74FB34F372310A332C5084099BD@MBX-S2.rwth-ad.de>, <544F81E7.5070102@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C508409A6A@MBX-S2.rwth-ad.de> Hi Lennart, Sorry If I am mistaken, but I was under the impression that installation and distribution was no longer under my control. I am being asked for omicabelnomm from previous users and MPI support has been broken. Is there a way to set up a pipeline between you and J?rgen? Or an automated installable/updatable version for him to obtain from somewhere(svn/jenkins repo?)? Best, Alvaro ________________________________________ From: L.C. Karssen [lennart at karssen.org] Sent: Tuesday, October 28, 2014 12:45 PM To: Frank, Alvaro Jesus Subject: Re: [GenABEL-dev] LATEX error on autoreconf On 28-10-14 12:39, Frank, Alvaro Jesus wrote: > Wait, this creates binaries? no, it creates a tar.gz file with the source files. Automake looks for the variables that end in _SOURCES, _DIST, _DATA and a few others to determine what needs to be added to the tar.gz file. That's why a 'make distcheck' run shouldn't fail. It may indicate you didn't add all required files to Makefile.am (and thus not to the tar.gz file). Lennart. > ________________________________________ > From: L.C. Karssen [lennart at karssen.org] > Sent: Tuesday, October 28, 2014 12:36 PM > To: Frank, Alvaro Jesus > Subject: Re: [GenABEL-dev] LATEX error on autoreconf > > On 28-10-14 12:12, Frank, Alvaro Jesus wrote: >> Sorry, but I do not know the process for the tar. > > set proper version number in the AC_INIT line of configure.ac, then run: > > ./configure > make dist > > > Lennart. > >> >> -Alvaro >> ________________________________________ >> From: L.C. Karssen [lennart at karssen.org] >> Sent: Tuesday, October 28, 2014 9:07 AM >> To: Frank, Alvaro Jesus >> Subject: Re: [GenABEL-dev] LATEX error on autoreconf >> >> On 27-10-14 23:12, Frank, Alvaro Jesus wrote: >>> >>> I just replied to it. Since we decided to keep things small and only for >>> Helmholtz, I think you sending him regular source.tar.gz files is the >>> best solution for now, while we prepare for a proper release of >>> OAnMM 1.0. >>> >>> Can we inform him of this? >> >> Sure! Go ahead. >> >> >> Lennart. >> >> >>> >>> -Alvaro >>> ________________________________________ >>> From: L.C. Karssen [lennart at karssen.org] >>> Sent: Monday, October 27, 2014 2:55 PM >>> To: Frank, Alvaro Jesus >>> Subject: Re: [GenABEL-dev] LATEX error on autoreconf >>> >>> Hi Alvaro, >>> >>> On 27-10-14 14:41, Frank, Alvaro Jesus wrote: >>>> >>>> ________________________________________ >>>> From: L.C. Karssen [lennart at karssen.org] >>>> Sent: Monday, October 27, 2014 2:22 PM >>>> To: Frank, Alvaro Jesus >>>> Subject: Re: [GenABEL-dev] LATEX error on autoreconf >>>> >>>> Hi Alvaro, >>>> >>>> >>>> That would be the OmicABELnoMM section on www.genabel.org, which is not >>>> created yet. Do you already have an account for that web site? >>>> >>>> >>>> I have the one that lets me use svn and other related services. >>> >>> That's for R-forge.org. I'll send you login details for www.genabel.org >>> as well. >>> >>>> >>>> From this I understand that you consider OmicABELnoMM good enough for >>>> world-wide production use? >>>> >>>> >>>> I am not the one to make this call, >>> >>> I think this is a call made by you, me and Yurii. Given the current >>> state of things, I would suggest to start on the OAnoMM page on >>> www.genabel.org (maybe without making it publicly visible yet), while we >>> work on ironing out the documentation and add the last few small >>> features (e.g. possibility to compile without MPI). >>> >>> >>>> but Helmholtz is using it and >>>> helping me to fix problems, add features and run test analisys to >>>> corroborate its working condition. They and I need to have a working >>>> installable version, which I had Friday but not anymore. With regards to >>>> them it can be considered an excetion and not "world-wide production >>>> use" do to mutual work benefits. >>> >>> Great! Let's consider the current status 'v1.0 beta' then. Only >>> 'officially' available to Helmholtz. I say 'officially' because >>> obviously every one could do an SVN checkout. >>> >>>> >>>> If so, we should start working on the section >>>> of www.genabel.org. >>>> If you're not ready for worldwide deployment, you can send the (beta) >>>> users the tar.gz file generated by running 'make dist'. >>>> >>>> This could help J?rgen. See his email. >>> >>> I just replied to it. Since we decided to keep things small and only for >>> Helmholtz, I think you sending him regular source.tar.gz files is the >>> best solution for now, while we prepare for a proper release of OAnMM 1.0. >>> >>>> >>>> I wouldn't give an e-mail. We have forum.genabel.org for that. For now >>>> questions should be asked in the general "GenABEL" section. If the >>>> number of questions becomes large we can consider to split them off in a >>>> separate forum, like we did for ProbABEL. >>>> >>>> >>>> My bad, I already gave out our devlist email (it is open and recommended >>>> on the site to use it anyway). It has been Helmholtz only anyway. >>> >>> No problem. Given that we're still in the pre-release phase I'd say it >>> is fine on the dev list. >>> >>>> >>>> I do feel important that someone gets in contact with Christian >>>> regarding the status of OmicABELnoMM, It seems to me that noone besides >>>> me and a few of Christians workers know the status of OmicABELnoMM. It >>>> is hard for me to get a hold of him and it is imperative that all >>>> parties involved are up to date with the status. >>> >>> Good point. I have heard that Yurii, Yakov and Sodbo will come to >>> M?nchen in the week of November 10. Paolo will be there on Thursday >>> evening and Friday IIRC. Unfortunately I have to teach on Thu and Fri, >>> but I can come on Monday early and leave on Tuesday evening. Will you be >>> there in that week as well? That would be a good time to discuss the >>> 'management' side of things: >>> - what to do before v1.0 (my suggestions: documentation and no-MPI >>> option, possible also openMPI and MPICH2 compatibility if not too much >>> work for you) >>> - publication strategy (1 paper or 2?) >>> - maintenance strategy (who will do support and maintenance and for how >>> long) >>> >>> >>> Best, >>> >>> Lennart. >>> >>>> >>>> best, >>>> >>>> Alvaro >>>> >>> >>> -- >>> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* >>> L.C. Karssen >>> Utrecht >>> The Netherlands >>> >>> lennart at karssen.org >>> http://blog.karssen.org >>> GPG key ID: A88F554A >>> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >>> >> >> -- >> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* >> L.C. Karssen >> Utrecht >> The Netherlands >> >> lennart at karssen.org >> http://blog.karssen.org >> GPG key ID: A88F554A >> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >> > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Tue Oct 28 14:41:52 2014 From: lennart at karssen.org (L.C. Karssen) Date: Tue, 28 Oct 2014 14:41:52 +0100 Subject: [GenABEL-dev] MPI -D define In-Reply-To: <244CF001646FF74FB34F372310A332C5084099FD@MBX-S2.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C508409981@MBX-S2.rwth-ad.de> <244CF001646FF74FB34F372310A332C508409996@MBX-S2.rwth-ad.de>, <544F8018.307@karssen.org> <244CF001646FF74FB34F372310A332C5084099FD@MBX-S2.rwth-ad.de> Message-ID: <544F9D20.4020702@karssen.org> On 28-10-14 12:56, Frank, Alvaro Jesus wrote: > The macro does not seem to work. > I am not getting USE_MPI defined or HAVE_MPI. You're right, I forgot to add the required lines to the Automake file. Fixed that in r1865 (also changed HAVE_MPI in Definitions.h to USE_MPI). Now OAnMM compiles correctly when specifying either of the following: ./configure ./configure --with-mpi ./configure --without-mpi Lennart. > > -Alvaro > > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] > Sent: Tuesday, October 28, 2014 12:38 PM > To: genabel-devel at lists.r-forge.r-project.org > Subject: Re: [GenABEL-dev] MPI -D define > > See line 61 of configure.ac: > AM_CONDITIONAL([USE_MPI], test "x$use_mpi" = "xyes") > This sets USE_MPI. I decided to not use HAVE_MPI, because it maybe that > MPI is found, but still disabled by the user (using ./configure > --without-mpi). > > > Lennart. > > > On 28-10-14 12:31, Frank, Alvaro Jesus wrote: >> Is it HAVE_MPI? >> >> -Alvaro >> ------------------------------------------------------------------------ >> *From:* genabel-devel-bounces at lists.r-forge.r-project.org >> [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, >> Alvaro Jesus [alvaro.frank at rwth-aachen.de] >> *Sent:* Tuesday, October 28, 2014 12:30 PM >> *To:* genabel-devel at lists.r-forge.r-project.org >> *Subject:* [GenABEL-dev] MPI -D define >> >> Hi Lennart, >> >> I am trying to enable/disable the dynamic mpi support through the pragma >> define of MPI. >> I just cant figure out which Define (at a preprocessor level) does the >> AX_PROG_CXX_MPI set. >> >> -Alvaro >> >> >> _______________________________________________ >> genabel-devel mailing list >> genabel-devel at lists.r-forge.r-project.org >> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel >> > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Tue Oct 28 17:06:17 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Tue, 28 Oct 2014 16:06:17 +0000 Subject: [GenABEL-dev] Note to fix later. Message-ID: <244CF001646FF74FB34F372310A332C508409A93@MBX-S2.rwth-ad.de> Hi Lennart, your change of: Replaced 'cout' with 'cerr' for error message in OmicABELnoMM's main.cpp is based on the fact that there is a exit(1); right? Note that I need to go through the entire code again to make sure those exits do not exist as such. Proper release of memory has to be done and your changed reminded me of that. There are a few positions whee the abrupt exists will lead to uninitialized sections. (only in the case of error, but still bad) -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From lennart at karssen.org Thu Oct 30 13:34:25 2014 From: lennart at karssen.org (L.C. Karssen) Date: Thu, 30 Oct 2014 13:34:25 +0100 Subject: [GenABEL-dev] Introducing Xia Shen Message-ID: <54523051.4060502@karssen.org> Dear list, With this e-mail I'd like to introduce Xia Shen as a "new" member of our community. Some of you may know Xia from his contributions to the devel list or his work on GenABEL's polygenic_hglm. In the past, both Yurii and I have worked with Xia in the past and now Xia has asked whether he could join the GenABEL project as well. Xia has a background in statistical genetics and has already worked on several R packages, notably bigRR [1] and hglm [2], which are both in the Suggests list of the GenABEL package. Xia has been working on a new package he'd like to include in the GenABEL suite. I'm sure you will here more on that in the near future. In order to set up the package Xia has been given commit access to the SVN repo. Xia, I wish you a warm welcome and look forward to your contributions. Best, Lennart. [1] http://cran.r-project.org/web/packages/bigRR/index.html [2] http://cran.r-project.org/web/packages/hglm/index.html -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Thu Oct 30 15:16:51 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Thu, 30 Oct 2014 14:16:51 +0000 Subject: [GenABEL-dev] m4_ax_prog_cxx_mpi.m4 Message-ID: <244CF001646FF74FB34F372310A332C51CF3B5BF@MBX-W1.rwth-ad.de> Hi Lennart, Can we include m4_ax_prog_cxx_mpi.m4 on the root directory with our svn? Best, -Alvaro -------------- next part -------------- An HTML attachment was scrubbed... URL: From lennart at karssen.org Thu Oct 30 15:23:12 2014 From: lennart at karssen.org (L.C. Karssen) Date: Thu, 30 Oct 2014 15:23:12 +0100 Subject: [GenABEL-dev] m4_ax_prog_cxx_mpi.m4 In-Reply-To: <244CF001646FF74FB34F372310A332C51CF3B5BF@MBX-W1.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C51CF3B5BF@MBX-W1.rwth-ad.de> Message-ID: <545249D0.3050007@karssen.org> Hi Alvaro, On 30-10-14 15:16, Frank, Alvaro Jesus wrote: > Hi Lennart, > > Can we include m4_ax_prog_cxx_mpi.m4 on the root directory with our svn? We can. I'm not too much a fan of including code that is maintained elsewhere and packaged properly by Linux distributions, but if you think it might otherwise deter people from contributing, be my guest. But keep in mind that a user shouldn't need to have that file (because autoreconf will include it in the ./configure script, which is packaged in the tar.gz file). Only a developer/someone who checks out from SVN/a user who runs autoreconf after unpacking the source tar.gz file needs that file. As to the location: what do you mean with root directory? If you mean the root of the OAnoMM package (pkg/OmicABELnoMM/) than it's fine with me. Lennart. > > Best, > > -Alvaro -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Thu Oct 30 15:31:29 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Thu, 30 Oct 2014 14:31:29 +0000 Subject: [GenABEL-dev] m4_ax_prog_cxx_mpi.m4 In-Reply-To: <545249D0.3050007@karssen.org> References: <244CF001646FF74FB34F372310A332C51CF3B5BF@MBX-W1.rwth-ad.de>, <545249D0.3050007@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C51CF3B5DE@MBX-W1.rwth-ad.de> I am really not an autoconf user, but I am failing to do the make distcheck. I do have openblas. I am struggling as I am not the sysadmin. The end user IS the sysadmin. I am having trouble grasping this: They will choose the openblas,boost ,gcc,mpi,etc, path right? So cant they just checkout the src and compile and obtain the binary normally? My error: make distcheck { test ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; }; } test -d "omicabelnomm-0.1.0" || mkdir "omicabelnomm-0.1.0" test -n "" \ || find "omicabelnomm-0.1.0" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/install-sh -c -m a+r {} {} \; \ || chmod -R a+r "omicabelnomm-0.1.0" tardir=omicabelnomm-0.1.0 && /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar chof - "$tardir" | GZIP=--best gzip -c >omicabelnomm-0.1.0.tar.gz { test ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; }; } case 'omicabelnomm-0.1.0.tar.gz' in \ *.tar.gz*) \ GZIP=--best gzip -dc omicabelnomm-0.1.0.tar.gz | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ *.tar.bz2*) \ bzip2 -dc omicabelnomm-0.1.0.tar.bz2 | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ *.tar.lzma*) \ lzma -dc omicabelnomm-0.1.0.tar.lzma | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ *.tar.xz*) \ xz -dc omicabelnomm-0.1.0.tar.xz | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ *.tar.Z*) \ uncompress -c omicabelnomm-0.1.0.tar.Z | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ *.shar.gz*) \ GZIP=--best gzip -dc omicabelnomm-0.1.0.shar.gz | unshar ;;\ *.zip*) \ unzip omicabelnomm-0.1.0.zip ;;\ esac chmod -R a-w omicabelnomm-0.1.0; chmod a+w omicabelnomm-0.1.0 mkdir omicabelnomm-0.1.0/_build mkdir omicabelnomm-0.1.0/_inst chmod a-w omicabelnomm-0.1.0 test -d omicabelnomm-0.1.0/_build || exit 0; \ dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \ && am__cwd=`pwd` \ && CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_build \ && ../configure --srcdir=.. --prefix="$dc_install_base" \ \ && make \ && make dvi \ && make check \ && make install \ && make installcheck \ && make uninstall \ && make distuninstallcheck_dir="$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$dc_destdir") \ && make DESTDIR="$dc_destdir" install \ && make DESTDIR="$dc_destdir" uninstall \ && make DESTDIR="$dc_destdir" \ distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \ } || { rm -rf "$dc_destdir"; exit 1; }) \ && rm -rf "$dc_destdir" \ && make dist \ && rm -rf omicabelnomm-0.1.0.tar.gz \ && make distcleancheck \ && cd "$am__cwd" \ || exit 1 checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to disable maintainer-specific portions of Makefiles... yes checking for mpic++... mpic++ checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether mpic++ accepts -g... yes checking for style of include used by make... GNU checking dependency style of mpic++... gcc3 checking dependency style of mpic++... (cached) gcc3 checking for gcc... gcc checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking dependency style of gcc... (cached) gcc3 checking for gcc option to support OpenMP... -fopenmp checking for library containing pthread_mutex_init... none required checking for library containing __iso_c_binding_c_f_pointer_l4... -lgfortran checking for library containing cblas_sgemm... no configure: error: OpenBLAS library NOT found make: *** [distcheck] Error 1 ________________________________________ From: L.C. Karssen [lennart at karssen.org] Sent: Thursday, October 30, 2014 3:23 PM To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org Subject: Re: m4_ax_prog_cxx_mpi.m4 Hi Alvaro, On 30-10-14 15:16, Frank, Alvaro Jesus wrote: > Hi Lennart, > > Can we include m4_ax_prog_cxx_mpi.m4 on the root directory with our svn? We can. I'm not too much a fan of including code that is maintained elsewhere and packaged properly by Linux distributions, but if you think it might otherwise deter people from contributing, be my guest. But keep in mind that a user shouldn't need to have that file (because autoreconf will include it in the ./configure script, which is packaged in the tar.gz file). Only a developer/someone who checks out from SVN/a user who runs autoreconf after unpacking the source tar.gz file needs that file. As to the location: what do you mean with root directory? If you mean the root of the OAnoMM package (pkg/OmicABELnoMM/) than it's fine with me. Lennart. > > Best, > > -Alvaro -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From alvaro.frank at rwth-aachen.de Thu Oct 30 16:43:16 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Thu, 30 Oct 2014 15:43:16 +0000 Subject: [GenABEL-dev] m4_ax_prog_cxx_mpi.m4 In-Reply-To: <244CF001646FF74FB34F372310A332C51CF3B5DE@MBX-W1.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C51CF3B5BF@MBX-W1.rwth-ad.de>, <545249D0.3050007@karssen.org>, <244CF001646FF74FB34F372310A332C51CF3B5DE@MBX-W1.rwth-ad.de> Message-ID: <244CF001646FF74FB34F372310A332C51CF3B800@MBX-W1.rwth-ad.de> What I seem to understand is that distcheck includes openblas in the distribution tar file? So that is why I needed when creating it? I thought that users of the program had to specify their own BLAS to use. -Alvaro ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] Sent: Thursday, October 30, 2014 3:31 PM To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org Cc: juergen.riegel at helmholtz-muenchen.de Subject: Re: [GenABEL-dev] m4_ax_prog_cxx_mpi.m4 I am really not an autoconf user, but I am failing to do the make distcheck. I do have openblas. I am struggling as I am not the sysadmin. The end user IS the sysadmin. I am having trouble grasping this: They will choose the openblas,boost ,gcc,mpi,etc, path right? So cant they just checkout the src and compile and obtain the binary normally? My error: make distcheck { test ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; }; } test -d "omicabelnomm-0.1.0" || mkdir "omicabelnomm-0.1.0" test -n "" \ || find "omicabelnomm-0.1.0" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/install-sh -c -m a+r {} {} \; \ || chmod -R a+r "omicabelnomm-0.1.0" tardir=omicabelnomm-0.1.0 && /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar chof - "$tardir" | GZIP=--best gzip -c >omicabelnomm-0.1.0.tar.gz { test ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; }; } case 'omicabelnomm-0.1.0.tar.gz' in \ *.tar.gz*) \ GZIP=--best gzip -dc omicabelnomm-0.1.0.tar.gz | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ *.tar.bz2*) \ bzip2 -dc omicabelnomm-0.1.0.tar.bz2 | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ *.tar.lzma*) \ lzma -dc omicabelnomm-0.1.0.tar.lzma | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ *.tar.xz*) \ xz -dc omicabelnomm-0.1.0.tar.xz | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ *.tar.Z*) \ uncompress -c omicabelnomm-0.1.0.tar.Z | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ *.shar.gz*) \ GZIP=--best gzip -dc omicabelnomm-0.1.0.shar.gz | unshar ;;\ *.zip*) \ unzip omicabelnomm-0.1.0.zip ;;\ esac chmod -R a-w omicabelnomm-0.1.0; chmod a+w omicabelnomm-0.1.0 mkdir omicabelnomm-0.1.0/_build mkdir omicabelnomm-0.1.0/_inst chmod a-w omicabelnomm-0.1.0 test -d omicabelnomm-0.1.0/_build || exit 0; \ dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \ && am__cwd=`pwd` \ && CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_build \ && ../configure --srcdir=.. --prefix="$dc_install_base" \ \ && make \ && make dvi \ && make check \ && make install \ && make installcheck \ && make uninstall \ && make distuninstallcheck_dir="$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$dc_destdir") \ && make DESTDIR="$dc_destdir" install \ && make DESTDIR="$dc_destdir" uninstall \ && make DESTDIR="$dc_destdir" \ distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \ } || { rm -rf "$dc_destdir"; exit 1; }) \ && rm -rf "$dc_destdir" \ && make dist \ && rm -rf omicabelnomm-0.1.0.tar.gz \ && make distcleancheck \ && cd "$am__cwd" \ || exit 1 checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to disable maintainer-specific portions of Makefiles... yes checking for mpic++... mpic++ checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether mpic++ accepts -g... yes checking for style of include used by make... GNU checking dependency style of mpic++... gcc3 checking dependency style of mpic++... (cached) gcc3 checking for gcc... gcc checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking dependency style of gcc... (cached) gcc3 checking for gcc option to support OpenMP... -fopenmp checking for library containing pthread_mutex_init... none required checking for library containing __iso_c_binding_c_f_pointer_l4... -lgfortran checking for library containing cblas_sgemm... no configure: error: OpenBLAS library NOT found make: *** [distcheck] Error 1 ________________________________________ From: L.C. Karssen [lennart at karssen.org] Sent: Thursday, October 30, 2014 3:23 PM To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org Subject: Re: m4_ax_prog_cxx_mpi.m4 Hi Alvaro, On 30-10-14 15:16, Frank, Alvaro Jesus wrote: > Hi Lennart, > > Can we include m4_ax_prog_cxx_mpi.m4 on the root directory with our svn? We can. I'm not too much a fan of including code that is maintained elsewhere and packaged properly by Linux distributions, but if you think it might otherwise deter people from contributing, be my guest. But keep in mind that a user shouldn't need to have that file (because autoreconf will include it in the ./configure script, which is packaged in the tar.gz file). Only a developer/someone who checks out from SVN/a user who runs autoreconf after unpacking the source tar.gz file needs that file. As to the location: what do you mean with root directory? If you mean the root of the OAnoMM package (pkg/OmicABELnoMM/) than it's fine with me. Lennart. > > Best, > > -Alvaro -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- _______________________________________________ genabel-devel mailing list genabel-devel at lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel From lennart at karssen.org Thu Oct 30 20:41:42 2014 From: lennart at karssen.org (L.C. Karssen) Date: Thu, 30 Oct 2014 20:41:42 +0100 Subject: [GenABEL-dev] m4_ax_prog_cxx_mpi.m4 In-Reply-To: <244CF001646FF74FB34F372310A332C51CF3B800@MBX-W1.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C51CF3B5BF@MBX-W1.rwth-ad.de>, <545249D0.3050007@karssen.org>, <244CF001646FF74FB34F372310A332C51CF3B5DE@MBX-W1.rwth-ad.de> <244CF001646FF74FB34F372310A332C51CF3B800@MBX-W1.rwth-ad.de> Message-ID: <54529476.5010508@karssen.org> Hi Alvaro, I'm sorry that the whole Autotools concept makes life difficult for you. Let me try to explain it and feel free to ask more questions if they arise. If you'd like we can also schedule a call (with J?rgen if he is interested) where I can explain it some more. Let me first answer the question in this e-mail before diving into your questions of the previous one. On 30-10-14 16:43, Frank, Alvaro Jesus wrote: > What I seem to understand is that distcheck includes openblas in the > distribution tar file? So that is why I needed when creating it? No, that is not the case. 'make dist' (which is also run when running 'make distcheck') creates a PACKAGENAME-VERSION.tar.gz file (where PACKAGENAME and VERSION are defined in the AC_INIT command in configure.ac The idea is that the tar.gz file contains all the code/files/documents you wrote that are needed by a user/sysadmin to compile and install the tool. The idea is that it is packaged in such a way that it works on any POSIX or POSIX-like system (Linux, Solaris, OS X, etc). Since we don't have any BLAS included in the OAnoMM source tree in SVN it won't be packaged in the tar.gz file either. We also don't package e.g. the stdlib, Boost, etc. We leave it up to the user to provide these libraries. Since these are all well known libraries that are packaged by most if not all Linux distro's this should not be a problem. In fact, it is good design. If you want to know why, please ask. Moreover, in the case of OAnoMM the code is written so close to the hardware that you have always been a proponent of compilation of BLAS libs by the user/sysadmin himself to make sure of the proper architecture-dependent options. Basically in our tar.gz file we only include code for which we are responsible. Note: the files to be included in the tar.gz file are not simply all the files in SVN. Every file that needs to be included should be explicitly mentioned in the Automake files (Makefile.am). See the variables ending in _SOURCES and those starting with dist_. This does mean the user should have a BLAS lib installed in a standard location (e.g. /usr/include). This way ./configure can detect whatever we need. In configure.ac we have a check that looks for an MPI compiler, one to see if Boost's distribution.hpp can be found, but also whether tools like mkdir -p function as expected, whether Lapack can be found, etc. If one of these cannot be found some action is taken. In the case of MPI we continue without it. In the case of Boost we allow the user to specify an alternate location of the include files via the --with-boost-include-path= option of ./configure. We do check for Lapack or a BLAS lib, but haven't added the autoconf logic (configure.ac) to specify an alternative path. I think we should (see the CPPFLAGS discussion below), moreover, the Autoconf Archive has a macro for BLAS and Lapack [5,6], so it shouldn't be too hard. If all is in the default locations, like it is on my Ubuntu system (Lapack, Boost, OpenBLAS installed via the package manager) it is enough to run ./configure make sudo make install to compile and install OAnoMM. I don't even have to look at the howToCompile.txt file. That's how I like my software :-). If libraries like BLAS are not in the default location the user can add LDFLAGS options to the compiler like this: ./configure LDFLAGS=-L$HOME/path/to/my/own/boost/copy A path for including headers can be specified in the same way, there is one catch though: In lines 19-30 of configure.ac we fill in some default CPPFLAGS and CXXFLAGS. These are only taken into account if these variables don't already exist (e.g. by specifying them like above). So it is important to understand that if the user runs ./configure CXXFLAGS=-I../some/path our defaults (-O3 -std=c++11 etc.) will be overwritten! This is by design, because an experienced user should be allowed to set all the options as he sees best. See also the last few lines of ./configure --help. More info at [1,2,3]. For example, this allows me to cross-compile ProbABEL for Windows like this: ./configure --host=i686-w64-mingw32 --build=i686-linux-gnu make CFLAGS+="-O2 -static-libgcc -static-libstdc++" \ CXXFLAGS+="-O2 -static-libgcc -static-libstdc++" As a side note: there is a case where I don't want the user to be able to override one part of the CPPFLAGS. That's in tests/Makefile.am where I add the -DDATADIR macro to the CPPFLAGS specific to the test binary (line 11). This should always be there (and has no effect on optimisation or things like that). The same holds for the addition of -DUSE_MPI to the filename_CPPFLAGS, as the user can disable that by running ./configure --without-mpi. By the way, I did notice now that in line 69 of configure.ac you added the -I../libs/include -I./libs/include options to the CXXFLAGS. I guess this has to do with your own setup where you have a specific BLAS in on of those directories. These should be removed as they can only create problems in case a user has other stuff in those directories. An experienced user doesn't expect specific stuff like that in the default compiler options. I removed them in r1879. Moreover, in that line you also specified -std=c++11 and -O3 again (they are already specified in line 22). I have removed them in r1878. Thanks for asking this question! I've learned a lot again from rereading the documentation, searching the web and testing a few things :-). For example the change in r1880 [4]. [1] http://stackoverflow.com/questions/3116645/default-compiler-flags-with-autotools [2] http://www.gnu.org/software/automake/manual/html_node/Flag-Variables-Ordering.html [3] http://stackoverflow.com/questions/7467910/with-autoconf-automake-how-do-i-specify-include-file-paths [4] http://stackoverflow.com/questions/20230827/how-to-set-include-paths-with-autotools [5] http://www.gnu.org/software/autoconf-archive/ax_blas.html [6] http://www.gnu.org/software/autoconf-archive/ax_lapack.html > > I thought that users of the program had to specify their own BLAS to use. > > -Alvaro > > ________________________________________ > From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of Frank, Alvaro Jesus [alvaro.frank at rwth-aachen.de] > Sent: Thursday, October 30, 2014 3:31 PM > To: L.C. Karssen; genabel-devel at lists.r-forge.r-project.org > Cc: juergen.riegel at helmholtz-muenchen.de > Subject: Re: [GenABEL-dev] m4_ax_prog_cxx_mpi.m4 > > I am really not an autoconf user, but I am failing to do the make distcheck. I do have openblas. > I am struggling as I am not the sysadmin. The end user IS the sysadmin. > > I am having trouble grasping this: > They will choose the openblas,boost ,gcc,mpi,etc, path right? > > So cant they just checkout the src and compile and obtain the binary normally? > > My error: > > make distcheck > { test ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; }; } > test -d "omicabelnomm-0.1.0" || mkdir "omicabelnomm-0.1.0" > test -n "" \ > || find "omicabelnomm-0.1.0" -type d ! -perm -755 \ > -exec chmod u+rwx,go+rx {} \; -o \ > ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ > ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ > ! -type d ! -perm -444 -exec /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/install-sh -c -m a+r {} {} \; \ > || chmod -R a+r "omicabelnomm-0.1.0" > tardir=omicabelnomm-0.1.0 && /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar chof - "$tardir" | GZIP=--best gzip -c >omicabelnomm-0.1.0.tar.gz > { test ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; }; } > case 'omicabelnomm-0.1.0.tar.gz' in \ > *.tar.gz*) \ > GZIP=--best gzip -dc omicabelnomm-0.1.0.tar.gz | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.bz2*) \ > bzip2 -dc omicabelnomm-0.1.0.tar.bz2 | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.lzma*) \ > lzma -dc omicabelnomm-0.1.0.tar.lzma | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.xz*) \ > xz -dc omicabelnomm-0.1.0.tar.xz | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.Z*) \ > uncompress -c omicabelnomm-0.1.0.tar.Z | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.shar.gz*) \ > GZIP=--best gzip -dc omicabelnomm-0.1.0.shar.gz | unshar ;;\ > *.zip*) \ > unzip omicabelnomm-0.1.0.zip ;;\ > esac > chmod -R a-w omicabelnomm-0.1.0; chmod a+w omicabelnomm-0.1.0 > mkdir omicabelnomm-0.1.0/_build > mkdir omicabelnomm-0.1.0/_inst > chmod a-w omicabelnomm-0.1.0 > test -d omicabelnomm-0.1.0/_build || exit 0; \ > dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ > && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \ > && am__cwd=`pwd` \ > && CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_build \ > && ../configure --srcdir=.. --prefix="$dc_install_base" \ > \ > && make \ > && make dvi \ > && make check \ > && make install \ > && make installcheck \ > && make uninstall \ > && make distuninstallcheck_dir="$dc_install_base" \ > distuninstallcheck \ > && chmod -R a-w "$dc_install_base" \ > && ({ \ > (cd ../.. && umask 077 && mkdir "$dc_destdir") \ > && make DESTDIR="$dc_destdir" install \ > && make DESTDIR="$dc_destdir" uninstall \ > && make DESTDIR="$dc_destdir" \ > distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \ > } || { rm -rf "$dc_destdir"; exit 1; }) \ > && rm -rf "$dc_destdir" \ > && make dist \ > && rm -rf omicabelnomm-0.1.0.tar.gz \ > && make distcleancheck \ > && cd "$am__cwd" \ > || exit 1 > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... /bin/mkdir -p > checking for gawk... gawk > checking whether make sets $(MAKE)... yes > checking whether to disable maintainer-specific portions of Makefiles... yes > checking for mpic++... mpic++ > checking whether the C++ compiler works... yes > checking for C++ compiler default output file name... a.out > checking for suffix of executables... > checking whether we are cross compiling... no > checking for suffix of object files... o > checking whether we are using the GNU C++ compiler... yes > checking whether mpic++ accepts -g... yes > checking for style of include used by make... GNU > checking dependency style of mpic++... gcc3 > checking dependency style of mpic++... (cached) gcc3 > checking for gcc... gcc > checking whether we are using the GNU C compiler... yes > checking whether gcc accepts -g... yes > checking for gcc option to accept ISO C89... none needed > checking dependency style of gcc... gcc3 > checking dependency style of gcc... (cached) gcc3 > checking for gcc option to support OpenMP... -fopenmp > checking for library containing pthread_mutex_init... none required > checking for library containing __iso_c_binding_c_f_pointer_l4... -lgfortran > checking for library containing cblas_sgemm... no > configure: error: OpenBLAS library NOT found > make: *** [distcheck] Error 1 > > ________________________________________ > From: L.C. Karssen [lennart at karssen.org] > Sent: Thursday, October 30, 2014 3:23 PM > To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org > Subject: Re: m4_ax_prog_cxx_mpi.m4 > > Hi Alvaro, > > On 30-10-14 15:16, Frank, Alvaro Jesus wrote: >> Hi Lennart, >> >> Can we include m4_ax_prog_cxx_mpi.m4 on the root directory with our svn? > > We can. I'm not too much a fan of including code that is maintained > elsewhere and packaged properly by Linux distributions, but if you think > it might otherwise deter people from contributing, be my guest. > > But keep in mind that a user shouldn't need to have that file (because > autoreconf will include it in the ./configure script, which is packaged > in the tar.gz file). Only a developer/someone who checks out from SVN/a > user who runs autoreconf after unpacking the source tar.gz file needs > that file. > > As to the location: what do you mean with root directory? If you mean > the root of the OAnoMM package (pkg/OmicABELnoMM/) than it's fine with me. > > > Lennart. > >> >> Best, >> >> -Alvaro > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > > _______________________________________________ > genabel-devel mailing list > genabel-devel at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/genabel-devel > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Thu Oct 30 20:46:21 2014 From: lennart at karssen.org (L.C. Karssen) Date: Thu, 30 Oct 2014 20:46:21 +0100 Subject: [GenABEL-dev] m4_ax_prog_cxx_mpi.m4 In-Reply-To: <244CF001646FF74FB34F372310A332C51CF3B5DE@MBX-W1.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C51CF3B5BF@MBX-W1.rwth-ad.de>, <545249D0.3050007@karssen.org> <244CF001646FF74FB34F372310A332C51CF3B5DE@MBX-W1.rwth-ad.de> Message-ID: <5452958D.6080106@karssen.org> Hi Alvaro, On 30-10-14 15:31, Frank, Alvaro Jesus wrote: > I am really not an autoconf user, but I am failing to do the make distcheck. I do have openblas. > I am struggling as I am not the sysadmin. The end user IS the sysadmin. Not always. From my experience with ProbABEL I know many aren't. That's another reason to be happy with Autotools, it allows people not only to specify where to find libraries, but also where to install: ./configure --prefix=$HOME/myprograms/AOnoMM/ or, with even more detail: ./configure --prefix=/my/install/path --sysconfdir=/my/install/path/ \ --datarootdir=/my/install/path --docdir=/my/install/path/doc > > I am having trouble grasping this: > They will choose the openblas,boost ,gcc,mpi,etc, path right? The don't have to, but they can, see my other e-mail. > > So cant they just checkout the src and compile and obtain the binary normally? Experienced people can do that too. There shouldn't be much difference. However, I wouldn't call that 'normally'. I'd say that this is the way people install software on their Linux system, most commonly used first: 1) via distro package manager from default repositories 2) via distro package manager from alternative repositories 3) by downloading the released source.tar.gz file and running ./configure && make && sudo make install (actually, this is what is listed in the INSTALL file) 4) using 3, but with their own ./configure options 5) checkout from a VCS (either the latest/trunk or a tagged release) > > My error: > > make distcheck > { test ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; }; } > test -d "omicabelnomm-0.1.0" || mkdir "omicabelnomm-0.1.0" > test -n "" \ > || find "omicabelnomm-0.1.0" -type d ! -perm -755 \ > -exec chmod u+rwx,go+rx {} \; -o \ > ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ > ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ > ! -type d ! -perm -444 -exec /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/install-sh -c -m a+r {} {} \; \ > || chmod -R a+r "omicabelnomm-0.1.0" > tardir=omicabelnomm-0.1.0 && /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar chof - "$tardir" | GZIP=--best gzip -c >omicabelnomm-0.1.0.tar.gz > { test ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; }; } > case 'omicabelnomm-0.1.0.tar.gz' in \ > *.tar.gz*) \ > GZIP=--best gzip -dc omicabelnomm-0.1.0.tar.gz | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.bz2*) \ > bzip2 -dc omicabelnomm-0.1.0.tar.bz2 | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.lzma*) \ > lzma -dc omicabelnomm-0.1.0.tar.lzma | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.xz*) \ > xz -dc omicabelnomm-0.1.0.tar.xz | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.Z*) \ > uncompress -c omicabelnomm-0.1.0.tar.Z | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.shar.gz*) \ > GZIP=--best gzip -dc omicabelnomm-0.1.0.shar.gz | unshar ;;\ > *.zip*) \ > unzip omicabelnomm-0.1.0.zip ;;\ > esac > chmod -R a-w omicabelnomm-0.1.0; chmod a+w omicabelnomm-0.1.0 > mkdir omicabelnomm-0.1.0/_build > mkdir omicabelnomm-0.1.0/_inst > chmod a-w omicabelnomm-0.1.0 > test -d omicabelnomm-0.1.0/_build || exit 0; \ > dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ > && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \ > && am__cwd=`pwd` \ > && CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_build \ > && ../configure --srcdir=.. --prefix="$dc_install_base" \ > \ > && make \ > && make dvi \ > && make check \ > && make install \ > && make installcheck \ > && make uninstall \ > && make distuninstallcheck_dir="$dc_install_base" \ > distuninstallcheck \ > && chmod -R a-w "$dc_install_base" \ > && ({ \ > (cd ../.. && umask 077 && mkdir "$dc_destdir") \ > && make DESTDIR="$dc_destdir" install \ > && make DESTDIR="$dc_destdir" uninstall \ > && make DESTDIR="$dc_destdir" \ > distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \ > } || { rm -rf "$dc_destdir"; exit 1; }) \ > && rm -rf "$dc_destdir" \ > && make dist \ > && rm -rf omicabelnomm-0.1.0.tar.gz \ > && make distcleancheck \ > && cd "$am__cwd" \ > || exit 1 > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... /bin/mkdir -p > checking for gawk... gawk > checking whether make sets $(MAKE)... yes > checking whether to disable maintainer-specific portions of Makefiles... yes > checking for mpic++... mpic++ > checking whether the C++ compiler works... yes > checking for C++ compiler default output file name... a.out > checking for suffix of executables... > checking whether we are cross compiling... no > checking for suffix of object files... o > checking whether we are using the GNU C++ compiler... yes > checking whether mpic++ accepts -g... yes > checking for style of include used by make... GNU > checking dependency style of mpic++... gcc3 > checking dependency style of mpic++... (cached) gcc3 > checking for gcc... gcc > checking whether we are using the GNU C compiler... yes > checking whether gcc accepts -g... yes > checking for gcc option to accept ISO C89... none needed > checking dependency style of gcc... gcc3 > checking dependency style of gcc... (cached) gcc3 > checking for gcc option to support OpenMP... -fopenmp > checking for library containing pthread_mutex_init... none required > checking for library containing __iso_c_binding_c_f_pointer_l4... -lgfortran > checking for library containing cblas_sgemm... no > configure: error: OpenBLAS library NOT found > make: *** [distcheck] Error 1 > I assume you have your own BLAS compiled somewhere. Now the thing is that you somehow have to influence how './configure' is run by 'make distcheck'. This can be done as follows: DISTCHECK_CONFIGURE_FLAGS="--disable-latex-doc --disable-silent-rules" make -j4 distcheck So, once we've set up a proper way to add the location of a BLAS library (see my previous e-mail: via the Autoconf Archive macros), it should be a matter of specifying the right configure option. For now you I think (but didn't test) you should specify all CPPFLAGS, something like this: DISTCHECK_CONFIGURE_FLAGS="CPPFLAGS='-O3 -std=c++11 -march=native -mfpmath=sse -flto -funroll-loops -I/path/to/your/BLAS'" make -j4 distcheck Best, Lennart. > ________________________________________ > From: L.C. Karssen [lennart at karssen.org] > Sent: Thursday, October 30, 2014 3:23 PM > To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org > Subject: Re: m4_ax_prog_cxx_mpi.m4 > > Hi Alvaro, > > On 30-10-14 15:16, Frank, Alvaro Jesus wrote: >> Hi Lennart, >> >> Can we include m4_ax_prog_cxx_mpi.m4 on the root directory with our svn? > > We can. I'm not too much a fan of including code that is maintained > elsewhere and packaged properly by Linux distributions, but if you think > it might otherwise deter people from contributing, be my guest. > > But keep in mind that a user shouldn't need to have that file (because > autoreconf will include it in the ./configure script, which is packaged > in the tar.gz file). Only a developer/someone who checks out from SVN/a > user who runs autoreconf after unpacking the source tar.gz file needs > that file. > > As to the location: what do you mean with root directory? If you mean > the root of the OAnoMM package (pkg/OmicABELnoMM/) than it's fine with me. > > > Lennart. > >> >> Best, >> >> -Alvaro > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Thu Oct 30 21:59:36 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Thu, 30 Oct 2014 20:59:36 +0000 Subject: [GenABEL-dev] m4_ax_prog_cxx_mpi.m4 In-Reply-To: <5452958D.6080106@karssen.org> References: <244CF001646FF74FB34F372310A332C51CF3B5BF@MBX-W1.rwth-ad.de>, <545249D0.3050007@karssen.org> <244CF001646FF74FB34F372310A332C51CF3B5DE@MBX-W1.rwth-ad.de>, <5452958D.6080106@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C51CF3B8CF@MBX-W1.rwth-ad.de> Hi Lennart, Thank you for all the info provided so far. The problem at the moment is this. there are 2 different computers with 2 different setups. One where I work and one were the user installs the program. The one were the user installs the program has blas, boost etc. The one that generates the until now unseen dist tar has a different setup than the user computer. SO one computer (developer) and many user computers (run). Is this correct? 1) @Developer computer, make dist check, then ----> give tar to user ---->2) user compiles and installs How does that workflow work? my dist check fails because it asks me for blas, but there is no need to have blas at point 1) only the users blas is relevant at 2). Am I suppose to do dist check on the same setup as the user will have? Why is dist check asking me for libraries and all? Have you tried yourself doing the dist check to make it and then give that tar to someone and have that someone install it? I am wondering because it seems to me that we are talking about 2 complete different approaches here. -Alvaro ________________________________________ From: L.C. Karssen [lennart at karssen.org] Sent: Thursday, October 30, 2014 8:46 PM To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org Cc: juergen.riegel at helmholtz-muenchen.de Subject: Re: m4_ax_prog_cxx_mpi.m4 Hi Alvaro, On 30-10-14 15:31, Frank, Alvaro Jesus wrote: > I am really not an autoconf user, but I am failing to do the make distcheck. I do have openblas. > I am struggling as I am not the sysadmin. The end user IS the sysadmin. Not always. From my experience with ProbABEL I know many aren't. That's another reason to be happy with Autotools, it allows people not only to specify where to find libraries, but also where to install: ./configure --prefix=$HOME/myprograms/AOnoMM/ or, with even more detail: ./configure --prefix=/my/install/path --sysconfdir=/my/install/path/ \ --datarootdir=/my/install/path --docdir=/my/install/path/doc > > I am having trouble grasping this: > They will choose the openblas,boost ,gcc,mpi,etc, path right? The don't have to, but they can, see my other e-mail. > > So cant they just checkout the src and compile and obtain the binary normally? Experienced people can do that too. There shouldn't be much difference. However, I wouldn't call that 'normally'. I'd say that this is the way people install software on their Linux system, most commonly used first: 1) via distro package manager from default repositories 2) via distro package manager from alternative repositories 3) by downloading the released source.tar.gz file and running ./configure && make && sudo make install (actually, this is what is listed in the INSTALL file) 4) using 3, but with their own ./configure options 5) checkout from a VCS (either the latest/trunk or a tagged release) > > My error: > > make distcheck > { test ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; }; } > test -d "omicabelnomm-0.1.0" || mkdir "omicabelnomm-0.1.0" > test -n "" \ > || find "omicabelnomm-0.1.0" -type d ! -perm -755 \ > -exec chmod u+rwx,go+rx {} \; -o \ > ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ > ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ > ! -type d ! -perm -444 -exec /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/install-sh -c -m a+r {} {} \; \ > || chmod -R a+r "omicabelnomm-0.1.0" > tardir=omicabelnomm-0.1.0 && /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar chof - "$tardir" | GZIP=--best gzip -c >omicabelnomm-0.1.0.tar.gz > { test ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; }; } > case 'omicabelnomm-0.1.0.tar.gz' in \ > *.tar.gz*) \ > GZIP=--best gzip -dc omicabelnomm-0.1.0.tar.gz | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.bz2*) \ > bzip2 -dc omicabelnomm-0.1.0.tar.bz2 | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.lzma*) \ > lzma -dc omicabelnomm-0.1.0.tar.lzma | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.xz*) \ > xz -dc omicabelnomm-0.1.0.tar.xz | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.tar.Z*) \ > uncompress -c omicabelnomm-0.1.0.tar.Z | /bin/sh /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - ;;\ > *.shar.gz*) \ > GZIP=--best gzip -dc omicabelnomm-0.1.0.shar.gz | unshar ;;\ > *.zip*) \ > unzip omicabelnomm-0.1.0.zip ;;\ > esac > chmod -R a-w omicabelnomm-0.1.0; chmod a+w omicabelnomm-0.1.0 > mkdir omicabelnomm-0.1.0/_build > mkdir omicabelnomm-0.1.0/_inst > chmod a-w omicabelnomm-0.1.0 > test -d omicabelnomm-0.1.0/_build || exit 0; \ > dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ > && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \ > && am__cwd=`pwd` \ > && CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_build \ > && ../configure --srcdir=.. --prefix="$dc_install_base" \ > \ > && make \ > && make dvi \ > && make check \ > && make install \ > && make installcheck \ > && make uninstall \ > && make distuninstallcheck_dir="$dc_install_base" \ > distuninstallcheck \ > && chmod -R a-w "$dc_install_base" \ > && ({ \ > (cd ../.. && umask 077 && mkdir "$dc_destdir") \ > && make DESTDIR="$dc_destdir" install \ > && make DESTDIR="$dc_destdir" uninstall \ > && make DESTDIR="$dc_destdir" \ > distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \ > } || { rm -rf "$dc_destdir"; exit 1; }) \ > && rm -rf "$dc_destdir" \ > && make dist \ > && rm -rf omicabelnomm-0.1.0.tar.gz \ > && make distcleancheck \ > && cd "$am__cwd" \ > || exit 1 > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... /bin/mkdir -p > checking for gawk... gawk > checking whether make sets $(MAKE)... yes > checking whether to disable maintainer-specific portions of Makefiles... yes > checking for mpic++... mpic++ > checking whether the C++ compiler works... yes > checking for C++ compiler default output file name... a.out > checking for suffix of executables... > checking whether we are cross compiling... no > checking for suffix of object files... o > checking whether we are using the GNU C++ compiler... yes > checking whether mpic++ accepts -g... yes > checking for style of include used by make... GNU > checking dependency style of mpic++... gcc3 > checking dependency style of mpic++... (cached) gcc3 > checking for gcc... gcc > checking whether we are using the GNU C compiler... yes > checking whether gcc accepts -g... yes > checking for gcc option to accept ISO C89... none needed > checking dependency style of gcc... gcc3 > checking dependency style of gcc... (cached) gcc3 > checking for gcc option to support OpenMP... -fopenmp > checking for library containing pthread_mutex_init... none required > checking for library containing __iso_c_binding_c_f_pointer_l4... -lgfortran > checking for library containing cblas_sgemm... no > configure: error: OpenBLAS library NOT found > make: *** [distcheck] Error 1 > I assume you have your own BLAS compiled somewhere. Now the thing is that you somehow have to influence how './configure' is run by 'make distcheck'. This can be done as follows: DISTCHECK_CONFIGURE_FLAGS="--disable-latex-doc --disable-silent-rules" make -j4 distcheck So, once we've set up a proper way to add the location of a BLAS library (see my previous e-mail: via the Autoconf Archive macros), it should be a matter of specifying the right configure option. For now you I think (but didn't test) you should specify all CPPFLAGS, something like this: DISTCHECK_CONFIGURE_FLAGS="CPPFLAGS='-O3 -std=c++11 -march=native -mfpmath=sse -flto -funroll-loops -I/path/to/your/BLAS'" make -j4 distcheck Best, Lennart. > ________________________________________ > From: L.C. Karssen [lennart at karssen.org] > Sent: Thursday, October 30, 2014 3:23 PM > To: Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org > Subject: Re: m4_ax_prog_cxx_mpi.m4 > > Hi Alvaro, > > On 30-10-14 15:16, Frank, Alvaro Jesus wrote: >> Hi Lennart, >> >> Can we include m4_ax_prog_cxx_mpi.m4 on the root directory with our svn? > > We can. I'm not too much a fan of including code that is maintained > elsewhere and packaged properly by Linux distributions, but if you think > it might otherwise deter people from contributing, be my guest. > > But keep in mind that a user shouldn't need to have that file (because > autoreconf will include it in the ./configure script, which is packaged > in the tar.gz file). Only a developer/someone who checks out from SVN/a > user who runs autoreconf after unpacking the source tar.gz file needs > that file. > > As to the location: what do you mean with root directory? If you mean > the root of the OAnoMM package (pkg/OmicABELnoMM/) than it's fine with me. > > > Lennart. > >> >> Best, >> >> -Alvaro > > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From shenxia911 at gmail.com Thu Oct 30 23:12:51 2014 From: shenxia911 at gmail.com (Xia Shen) Date: Thu, 30 Oct 2014 22:12:51 +0000 Subject: [GenABEL-dev] Review needed for MultiABEL In-Reply-To: References: Message-ID: Dear list, Thanks Lennart for a fairly good introduction of me! Following this, I would like to inform you that a new package, MultiABEL, has been committed to R-Forge and successfully built. This is the first (R-only) version, which performs multivariate GWA analysis, i.e. testing a group of (co)related phenotypes against each single variant. There are also a replication analysis module and a simple meta-analysis module included. The GWA module is compatible with both GenABEL (directly typed data) and DatABEL (imputed data) formats of genotypes. I would kindly ask whether any of you could do a technical review of this new package, to ensure the coding follows GenABEL standards. You are certainly also welcome to contribute to future development of this package. Thanks in advance! Xia Xia Shen, PhD shen.se Department of Medical Epidemiology & Biostatistics Karolinska Institutet Nobels v?g 12A SE-171 77 Stockholm SWEDEN MRC Human Genetics Unit MRC Institute of Genetics & Molecular Medicine University of Edinburgh Western General Hospital Crewe Road EH4 2XU Edinburgh UK > > Date: Thu, 30 Oct 2014 13:34:25 +0100 > From: "L.C. Karssen" > To: GenABEL Development list > > Subject: [GenABEL-dev] Introducing Xia Shen > Message-ID: <54523051.4060502 at karssen.org> > Content-Type: text/plain; charset="utf-8" > > Dear list, > > With this e-mail I'd like to introduce Xia Shen as a "new" member of our > community. Some of you may know Xia from his contributions to the devel > list or his work on GenABEL's polygenic_hglm. > > In the past, both Yurii and I have worked with Xia in the past and now > Xia has asked whether he could join the GenABEL project as well. Xia has > a background in statistical genetics and has already worked on several R > packages, notably bigRR [1] and hglm [2], which are both in the Suggests > list of the GenABEL package. > > Xia has been working on a new package he'd like to include in the > GenABEL suite. I'm sure you will here more on that in the near future. > In order to set up the package Xia has been given commit access to the > SVN repo. > > Xia, I wish you a warm welcome and look forward to your contributions. > > Best, > > Lennart. > > > [1] http://cran.r-project.org/web/packages/bigRR/index.html > [2] http://cran.r-project.org/web/packages/hglm/index.html > -- > *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* > L.C. Karssen > Utrecht > The Netherlands > > lennart at karssen.org > http://blog.karssen.org > GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- An HTML attachment was scrubbed... URL: From lennart at karssen.org Fri Oct 31 09:51:51 2014 From: lennart at karssen.org (L.C. Karssen) Date: Fri, 31 Oct 2014 09:51:51 +0100 Subject: [GenABEL-dev] m4_ax_prog_cxx_mpi.m4 In-Reply-To: <244CF001646FF74FB34F372310A332C51CF3B8CF@MBX-W1.rwth-ad.de> References: <244CF001646FF74FB34F372310A332C51CF3B5BF@MBX-W1.rwth-ad.de>, <545249D0.3050007@karssen.org> <244CF001646FF74FB34F372310A332C51CF3B5DE@MBX-W1.rwth-ad.de>, <5452958D.6080106@karssen.org> <244CF001646FF74FB34F372310A332C51CF3B8CF@MBX-W1.rwth-ad.de> Message-ID: <54534DA7.6020605@karssen.org> Hi Alvoro, On 30-10-14 21:59, Frank, Alvaro Jesus wrote: > Hi Lennart, Thank you for all the info provided so far. You are most welcome! > > The problem at the moment is this. > > there are 2 different computers with 2 different setups. One where I > work and one were the user installs the program. Indeed, that's the real life situation. In fact, real life is two developers (you, me) and an unknown number of users (well, for now only a few in M?nchen). One of the main points of Autotools is to get rid of the problem of much scientific software: the "only works on my machine" syndrome. > > The one were the user installs the program has blas, boost etc. The > one that generates the until now unseen dist tar has a different > setup than the user computer. SO one computer (developer) and many > user computers (run). Is this correct? Yes. > 1) @Developer computer, make > distcheck, then ----> give tar to user ---->2) user compiles and > installs > Correct. > How does that workflow work? my dist check fails because it asks me > for blas, but there is no need to have blas at point 1) only the > users blas is relevant at 2). You are in right about the BLAS not being necessary for creating the tar. If you just want to create the tar.gz file a 'make dist' is enough. The reason why I always run 'make distcheck' is because it also runs 'make check' and some other checks (the so-called VPATH build). The main reason for this VPATH build is to make sure all required files are included in the Automake files (and thus in the tar.gz), and that all files are properly cleaned up (so that 'make uninstall' works as expected). Therefore, because I have now tested 'make distcheck' and found it to work, you can simply run 'make dist' to create the source tar-ball to give to your test users. > > Am I suppose to do dist check on the same setup as the user will > have? No. The idea is exactly that if the developer did his job well, all should work if the user has the required libraries installed. If the user doesn't have a certain library, ./configure should complain (with an informative message). > Why is dist check asking me for libraries and all? 'make distcheck' should find them if they are in the default locations. You haven't yet answered my question about the location of your custom compiled BLAS lib. Is it indeed in ../libs/include or ./libs/include? > > Have you tried yourself doing the dist check to make it and then give > that tar to someone and have that someone install it? Yes I did (with the two people being myself, but that shouldn't matter). However, only with Ubuntu systems. I'll try to test it on a FreeBSD system next week, if I have the time. Best, Lennart. > > I am wondering because it seems to me that we are talking about 2 > complete different approaches here. > > -Alvaro > > ________________________________________ From: L.C. Karssen > [lennart at karssen.org] Sent: Thursday, October 30, 2014 8:46 PM To: > Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org Cc: > juergen.riegel at helmholtz-muenchen.de Subject: Re: > m4_ax_prog_cxx_mpi.m4 > > Hi Alvaro, > > On 30-10-14 15:31, Frank, Alvaro Jesus wrote: >> I am really not an autoconf user, but I am failing to do the make >> distcheck. I do have openblas. I am struggling as I am not the >> sysadmin. The end user IS the sysadmin. > > Not always. From my experience with ProbABEL I know many aren't. > That's another reason to be happy with Autotools, it allows people > not only to specify where to find libraries, but also where to > install: ./configure --prefix=$HOME/myprograms/AOnoMM/ or, with even > more detail: ./configure --prefix=/my/install/path > --sysconfdir=/my/install/path/ \ --datarootdir=/my/install/path > --docdir=/my/install/path/doc > >> >> I am having trouble grasping this: They will choose the >> openblas,boost ,gcc,mpi,etc, path right? > > The don't have to, but they can, see my other e-mail. > >> >> So cant they just checkout the src and compile and obtain the >> binary normally? > > Experienced people can do that too. There shouldn't be much > difference. However, I wouldn't call that 'normally'. I'd say that > this is the way people install software on their Linux system, most > commonly used first: 1) via distro package manager from default > repositories 2) via distro package manager from alternative > repositories 3) by downloading the released source.tar.gz file and > running ./configure && make && sudo make install (actually, this is > what is listed in the INSTALL file) 4) using 3, but with their own > ./configure options 5) checkout from a VCS (either the latest/trunk > or a tagged release) > > > > >> >> My error: >> >> make distcheck { test ! -d "omicabelnomm-0.1.0" || { find >> "omicabelnomm-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && >> rm -fr "omicabelnomm-0.1.0"; }; } test -d "omicabelnomm-0.1.0" || >> mkdir "omicabelnomm-0.1.0" test -n "" \ || find >> "omicabelnomm-0.1.0" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx >> {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o >> \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! >> -perm -444 -exec /bin/sh >> /home/alvaro.frank/omicabelnomm/OmicABELnoMM/install-sh -c -m a+r >> {} {} \; \ || chmod -R a+r "omicabelnomm-0.1.0" >> tardir=omicabelnomm-0.1.0 && /bin/sh >> /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar chof >> - "$tardir" | GZIP=--best gzip -c >omicabelnomm-0.1.0.tar.gz { test >> ! -d "omicabelnomm-0.1.0" || { find "omicabelnomm-0.1.0" -type d ! >> -perm -200 -exec chmod u+w {} ';' && rm -fr "omicabelnomm-0.1.0"; >> }; } case 'omicabelnomm-0.1.0.tar.gz' in \ *.tar.gz*) \ GZIP=--best >> gzip -dc omicabelnomm-0.1.0.tar.gz | /bin/sh >> /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - >> ;;\ *.tar.bz2*) \ bzip2 -dc omicabelnomm-0.1.0.tar.bz2 | /bin/sh >> /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - >> ;;\ *.tar.lzma*) \ lzma -dc omicabelnomm-0.1.0.tar.lzma | /bin/sh >> /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - >> ;;\ *.tar.xz*) \ xz -dc omicabelnomm-0.1.0.tar.xz | /bin/sh >> /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - >> ;;\ *.tar.Z*) \ uncompress -c omicabelnomm-0.1.0.tar.Z | /bin/sh >> /home/alvaro.frank/omicabelnomm/OmicABELnoMM/missing --run tar xf - >> ;;\ *.shar.gz*) \ GZIP=--best gzip -dc omicabelnomm-0.1.0.shar.gz | >> unshar ;;\ *.zip*) \ unzip omicabelnomm-0.1.0.zip ;;\ esac chmod -R >> a-w omicabelnomm-0.1.0; chmod a+w omicabelnomm-0.1.0 mkdir >> omicabelnomm-0.1.0/_build mkdir omicabelnomm-0.1.0/_inst chmod a-w >> omicabelnomm-0.1.0 test -d omicabelnomm-0.1.0/_build || exit 0; \ >> dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd >> omicabelnomm-0.1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ >> && dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \ && am__cwd=`pwd` \ && >> CDPATH="${ZSH_VERSION+.}:" && cd omicabelnomm-0.1.0/_build \ && >> ../configure --srcdir=.. --prefix="$dc_install_base" \ \ && make >> \ && make dvi \ && make check \ && make install \ && make >> installcheck \ && make uninstall \ && make >> distuninstallcheck_dir="$dc_install_base" \ distuninstallcheck \ && >> chmod -R a-w "$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && >> mkdir "$dc_destdir") \ && make DESTDIR="$dc_destdir" install \ && >> make DESTDIR="$dc_destdir" uninstall \ && make >> DESTDIR="$dc_destdir" \ distuninstallcheck_dir="$dc_destdir" >> distuninstallcheck; \ } || { rm -rf "$dc_destdir"; exit 1; }) \ && >> rm -rf "$dc_destdir" \ && make dist \ && rm -rf >> omicabelnomm-0.1.0.tar.gz \ && make distcleancheck \ && cd >> "$am__cwd" \ || exit 1 checking for a BSD-compatible install... >> /usr/bin/install -c checking whether build environment is sane... >> yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking >> for gawk... gawk checking whether make sets $(MAKE)... yes checking >> whether to disable maintainer-specific portions of Makefiles... >> yes checking for mpic++... mpic++ checking whether the C++ compiler >> works... yes checking for C++ compiler default output file name... >> a.out checking for suffix of executables... checking whether we are >> cross compiling... no checking for suffix of object files... o >> checking whether we are using the GNU C++ compiler... yes checking >> whether mpic++ accepts -g... yes checking for style of include used >> by make... GNU checking dependency style of mpic++... gcc3 checking >> dependency style of mpic++... (cached) gcc3 checking for gcc... >> gcc checking whether we are using the GNU C compiler... yes >> checking whether gcc accepts -g... yes checking for gcc option to >> accept ISO C89... none needed checking dependency style of gcc... >> gcc3 checking dependency style of gcc... (cached) gcc3 checking for >> gcc option to support OpenMP... -fopenmp checking for library >> containing pthread_mutex_init... none required checking for library >> containing __iso_c_binding_c_f_pointer_l4... -lgfortran checking >> for library containing cblas_sgemm... no configure: error: OpenBLAS >> library NOT found make: *** [distcheck] Error 1 >> > > I assume you have your own BLAS compiled somewhere. Now the thing is > that you somehow have to influence how './configure' is run by 'make > distcheck'. This can be done as follows: > > DISTCHECK_CONFIGURE_FLAGS="--disable-latex-doc > --disable-silent-rules" make -j4 distcheck > > So, once we've set up a proper way to add the location of a BLAS > library (see my previous e-mail: via the Autoconf Archive macros), it > should be a matter of specifying the right configure option. For now > you I think (but didn't test) you should specify all CPPFLAGS, > something like this: > > DISTCHECK_CONFIGURE_FLAGS="CPPFLAGS='-O3 -std=c++11 -march=native > -mfpmath=sse -flto -funroll-loops -I/path/to/your/BLAS'" make -j4 > distcheck > > > > Best, > > Lennart. > >> ________________________________________ From: L.C. Karssen >> [lennart at karssen.org] Sent: Thursday, October 30, 2014 3:23 PM To: >> Frank, Alvaro Jesus; genabel-devel at lists.r-forge.r-project.org >> Subject: Re: m4_ax_prog_cxx_mpi.m4 >> >> Hi Alvaro, >> >> On 30-10-14 15:16, Frank, Alvaro Jesus wrote: >>> Hi Lennart, >>> >>> Can we include m4_ax_prog_cxx_mpi.m4 on the root directory with >>> our svn? >> >> We can. I'm not too much a fan of including code that is >> maintained elsewhere and packaged properly by Linux distributions, >> but if you think it might otherwise deter people from contributing, >> be my guest. >> >> But keep in mind that a user shouldn't need to have that file >> (because autoreconf will include it in the ./configure script, >> which is packaged in the tar.gz file). Only a developer/someone who >> checks out from SVN/a user who runs autoreconf after unpacking the >> source tar.gz file needs that file. >> >> As to the location: what do you mean with root directory? If you >> mean the root of the OAnoMM package (pkg/OmicABELnoMM/) than it's >> fine with me. >> >> >> Lennart. >> >>> >>> Best, >>> >>> -Alvaro >> >> -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen >> Utrecht The Netherlands >> >> lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A >> -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- >> > > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen > Utrecht The Netherlands > > lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From lennart at karssen.org Fri Oct 31 12:11:24 2014 From: lennart at karssen.org (L.C. Karssen) Date: Fri, 31 Oct 2014 12:11:24 +0100 Subject: [GenABEL-dev] OmicABELnoMM: LAPACK or LAPACKE Message-ID: <54536E5C.8080703@karssen.org> Hi Alvaro, I'm not an expert on LAPACK and friends, but do I understand correctly that you need LAPACKE (the C bindings) and not LAPACK (FORTRAN) for OmicABELnoMM? In configure.ac you specifically look for LAPACKE_sgeqrf, and a quick look in src/Definitions.h also gave me the impression you need LAPACKE. Best, Lennart. -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: From alvaro.frank at rwth-aachen.de Fri Oct 31 20:40:54 2014 From: alvaro.frank at rwth-aachen.de (Frank, Alvaro Jesus) Date: Fri, 31 Oct 2014 19:40:54 +0000 Subject: [GenABEL-dev] OmicABELnoMM: LAPACK or LAPACKE In-Reply-To: <54536E5C.8080703@karssen.org> References: <54536E5C.8080703@karssen.org> Message-ID: <244CF001646FF74FB34F372310A332C51CF3E3C5@MBX-S2.rwth-ad.de> Hi Lennart, Thank you for the info regarding make dist, that is what I needed, I was confused thinking make distcheck was the compilation command. I will create the dist and send it early next week. I do think I am using Lapacke, but am not sure if normal lapack can be removed tho. ________________________________________ From: genabel-devel-bounces at lists.r-forge.r-project.org [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. Karssen [lennart at karssen.org] Sent: Friday, October 31, 2014 12:11 PM To: GenABEL Development list Subject: [GenABEL-dev] OmicABELnoMM: LAPACK or LAPACKE Hi Alvaro, I'm not an expert on LAPACK and friends, but do I understand correctly that you need LAPACKE (the C bindings) and not LAPACK (FORTRAN) for OmicABELnoMM? In configure.ac you specifically look for LAPACKE_sgeqrf, and a quick look in src/Definitions.h also gave me the impression you need LAPACKE. Best, Lennart. -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- From lennart at karssen.org Fri Oct 31 20:49:40 2014 From: lennart at karssen.org (L.C. Karssen) Date: Fri, 31 Oct 2014 20:49:40 +0100 Subject: [GenABEL-dev] OmicABELnoMM: LAPACK or LAPACKE In-Reply-To: <244CF001646FF74FB34F372310A332C51CF3E3C5@MBX-S2.rwth-ad.de> References: <54536E5C.8080703@karssen.org> <244CF001646FF74FB34F372310A332C51CF3E3C5@MBX-S2.rwth-ad.de> Message-ID: <5453E7D4.8040007@karssen.org> On 31-10-14 20:40, Frank, Alvaro Jesus wrote: > Hi Lennart, > > Thank you for the info regarding make dist, that is what I needed, I > was confused thinking make distcheck was the compilation command. I > will create the dist and send it early next week. Excellent! Glad we got it sorted out :-). > > I do think I am using Lapacke, but am not sure if normal lapack can > be removed tho. I'll see if I can clean those checks up or if stuff stops working. Lennart. > From: > genabel-devel-bounces at lists.r-forge.r-project.org > [genabel-devel-bounces at lists.r-forge.r-project.org] on behalf of L.C. > Karssen [lennart at karssen.org] Sent: Friday, October 31, 2014 12:11 > PM To: GenABEL Development list Subject: [GenABEL-dev] OmicABELnoMM: > LAPACK or LAPACKE > > Hi Alvaro, > > I'm not an expert on LAPACK and friends, but do I understand > correctly that you need LAPACKE (the C bindings) and not LAPACK > (FORTRAN) for OmicABELnoMM? In configure.ac you specifically look for > LAPACKE_sgeqrf, and a quick look in src/Definitions.h also gave me > the impression you need LAPACKE. > > > Best, > > Lennart. -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. > Karssen Utrecht The Netherlands > > lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A > -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- > -- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* L.C. Karssen Utrecht The Netherlands lennart at karssen.org http://blog.karssen.org GPG key ID: A88F554A -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 213 bytes Desc: OpenPGP digital signature URL: