PDA

View Full Version : [SOLVED] Trying to use cblas.h, compilation works but cblas functions are being ignored



Mszanetti
July 25th, 2010, 07:36 PM
Hi

I am trying to replace some inefficient matrix operations in a large C programmed system by using cBlas functions.

I have a clean Ubuntu 9.10 installation ... I use the function in the correct place and I did add the #include "cblas.h" in the top of the respective file.

In my makefile I added -lblas to the CFLAGS variable.

The compilation works fine however the Blas function that I want to use is ignored in runtime.

I did an small single file example to test my environment:

test.c
#include <stdio.h>
#include <cblas.h>

double m[] = {
3, 1, 3,
1, 5, 9,
2, 6, 5
};

double b[] = {
3, 1, 3,
1, 5, 9,
2, 6, 5
};

double e[] = {
0, 0, 0,
0, 0, 0,
0, 0, 0
};

int
main()
{
int i, j;

for (i=0; i<3; ++i) {
for (j=0; j<3; ++j) printf("%5.1f", m[i*3+j]);
putchar('\n');
}

cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, 3, 3, 3, 1.0, m, 3, b, 3, 0.0, e, 3);
putchar('\n');
for (i=0; i<3; ++i) {
for (j=0; j<3; ++j) printf("%5.1f", e[i*3+j]);
putchar('\n');
}

return 0;
}

which I compile with

gcc test.c -o test -lblas -lm

and it works perfectly. I get the expected output:

3.0 1.0 3.0
1.0 5.0 9.0
2.0 6.0 5.0

16.0 26.0 33.0
26.0 80.0 93.0
22.0 62.0 85.0

What should I do? Can somebody help me please.

Thx

nvteighen
July 25th, 2010, 10:12 PM
In my makefile I added -lblas to the CFLAGS variable.


Usually, CFLAGS is used for header file directories and sometimes warning flags (-Wall, -Wextra, etc.), not for library switches... I guess this is an automatically created Makefile or otherwise the name you use wouldn't be an issue... You know, if you write your own Makefile, you can name any variable as you wish.

I guess you should have a variable called LIBS or similarly. Anyway, post the Makefile here and it'll be easier for us to help you.

By the way, please use the
tags to wrap your code in a box so it keeps its indentation and format.

Mszanetti
July 25th, 2010, 11:09 PM
Hi

Thank you .

Indeed the makefile is generated automatically by automake ... I don't understand the procedure very well ... I do not know how to deal with projects of many files ... that is why I am lost ...

Here is the makefile ... mean while I will try to add the libraries to the place you have suggested me.

Thank you again.



# Makefile.in generated by automake 1.11 from Makefile.am.
# src/Makefile. Generated from Makefile.in by configure.

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.



# Uncomment (i.e. remove the `#' character at the begining of)
# the two lines below if you want to use MPI.

# CC=mpicc
# DEFS=-DUNIX -D$(PROG) -DDEBUG -DMPI

# Comment the line below if you want to use MPI.
# Uncomment the line below if you don't want to use MPI.


pkgdatadir = $(datadir)/phyml
pkgincludedir = $(includedir)/phyml
pkglibdir = $(libdir)/phyml
pkglibexecdir = $(libexecdir)/phyml
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = i686-pc-linux-gnu
host_triplet = i686-pc-linux-gnu
bin_PROGRAMS = phyml$(EXEEXT)
#bin_PROGRAMS = tiporder$(EXEEXT)
#bin_PROGRAMS = part$(EXEEXT)
#bin_PROGRAMS = \
# phycont$(EXEEXT)
#bin_PROGRAMS = phytime$(EXEEXT)
subdir = src
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am__part_SOURCES_DIST = main.c utilities.c utilities.h optimiz.c \
optimiz.h lk.c lk.h bionj.c bionj.h models.c models.h free.c \
free.h help.c help.h simu.c simu.h eigen.c eigen.h pars.c \
pars.h alrt.c alrt.h interface.c interface.h cl.c cl.h mg.c \
mg.h spr.c spr.h m4.c m4.h draw.c draw.h stats.c stats.h \
nucle2codon.c nucle2codon.h
#am_part_OBJECTS = main.$(OBJEXT) \
# utilities.$(OBJEXT) \
# optimiz.$(OBJEXT) \
# lk.$(OBJEXT) \
# bionj.$(OBJEXT) \
# models.$(OBJEXT) \
# free.$(OBJEXT) \
# help.$(OBJEXT) \
# simu.$(OBJEXT) \
# eigen.$(OBJEXT) \
# pars.$(OBJEXT) \
# alrt.$(OBJEXT) \
# interface.$(OBJEXT) \
# cl.$(OBJEXT) \
# mg.$(OBJEXT) \
# spr.$(OBJEXT) \
# m4.$(OBJEXT) \
# draw.$(OBJEXT) \
# stats.$(OBJEXT) \
# nucle2codon.$(OBJEXT)
part_OBJECTS = $(am_part_OBJECTS)
part_DEPENDENCIES =
am__phycont_SOURCES_DIST = main.c utilities.c utilities.h optimiz.c \
optimiz.h lk.c lk.h bionj.c bionj.h models.c models.h free.c \
free.h help.c help.h simu.c simu.h eigen.c eigen.h pars.c \
pars.h alrt.c alrt.h interface.c interface.h cl.c cl.h spr.c \
spr.h times.c times.h m4.c m4.h draw.c draw.h rates.c rates.h \
mcmc.c mcmc.h stats.c stats.h mg.c mg.h continuous.c \
continuous.h nucle2codon.c nucle2codon.h
#am_phycont_OBJECTS = \
# main.$(OBJEXT) \
# utilities.$(OBJEXT) \
# optimiz.$(OBJEXT) \
# lk.$(OBJEXT) \
# bionj.$(OBJEXT) \
# models.$(OBJEXT) \
# free.$(OBJEXT) \
# help.$(OBJEXT) \
# simu.$(OBJEXT) \
# eigen.$(OBJEXT) \
# pars.$(OBJEXT) \
# alrt.$(OBJEXT) \
# interface.$(OBJEXT) \
# cl.$(OBJEXT) \
# spr.$(OBJEXT) \
# times.$(OBJEXT) \
# m4.$(OBJEXT) \
# draw.$(OBJEXT) \
# rates.$(OBJEXT) \
# mcmc.$(OBJEXT) \
# stats.$(OBJEXT) \
# mg.$(OBJEXT) \
# continuous.$(OBJEXT) \
# nucle2codon.$(OBJEXT)
phycont_OBJECTS = $(am_phycont_OBJECTS)
phycont_DEPENDENCIES =
am__phyml_SOURCES_DIST = main.c utilities.c utilities.h optimiz.c \
optimiz.h lk.c lk.h bionj.c bionj.h models.c models.h free.c \
free.h help.c help.h simu.c simu.h eigen.c eigen.h pars.c \
pars.h alrt.c alrt.h interface.c interface.h cl.c cl.h spr.c \
spr.h draw.c draw.h mpi_boot.c mpi_boot.h stats.c stats.h mg.c \
mg.h nucle2codon.c nucle2codon.h phyml_LDADD = -lm
am_phyml_OBJECTS = main.$(OBJEXT) \
utilities.$(OBJEXT) \
optimiz.$(OBJEXT) \
lk.$(OBJEXT) \
bionj.$(OBJEXT) \
models.$(OBJEXT) \
free.$(OBJEXT) \
help.$(OBJEXT) \
simu.$(OBJEXT) \
eigen.$(OBJEXT) \
pars.$(OBJEXT) \
alrt.$(OBJEXT) \
interface.$(OBJEXT) \
cl.$(OBJEXT) \
spr.$(OBJEXT) \
draw.$(OBJEXT) \
mpi_boot.$(OBJEXT) \
stats.$(OBJEXT) \
mg.$(OBJEXT) \
nucle2codon.$(OBJEXT)
phyml_OBJECTS = $(am_phyml_OBJECTS)
phyml_LDADD = $(LDADD)
am__phytime_SOURCES_DIST = main.c utilities.c utilities.h optimiz.c \
optimiz.h lk.c lk.h bionj.c bionj.h models.c models.h free.c \
free.h help.c help.h simu.c simu.h eigen.c eigen.h pars.c \
pars.h alrt.c alrt.h interface.c interface.h cl.c cl.h spr.c \
spr.h times.c times.h m4.c m4.h draw.c draw.h rates.c rates.h \
mcmc.c mcmc.h stats.c stats.h mg.c mg.h nucle2codon.c \
nucle2codon.h
#am_phytime_OBJECTS = main.$(OBJEXT) \
# utilities.$(OBJEXT) optimiz.$(OBJEXT) \
# lk.$(OBJEXT) bionj.$(OBJEXT) \
# models.$(OBJEXT) free.$(OBJEXT) \
# help.$(OBJEXT) simu.$(OBJEXT) \
# eigen.$(OBJEXT) pars.$(OBJEXT) \
# alrt.$(OBJEXT) interface.$(OBJEXT) \
# cl.$(OBJEXT) spr.$(OBJEXT) times.$(OBJEXT) \
# m4.$(OBJEXT) draw.$(OBJEXT) rates.$(OBJEXT) \
# mcmc.$(OBJEXT) stats.$(OBJEXT) mg.$(OBJEXT) \
# nucle2codon.$(OBJEXT)
phytime_OBJECTS = $(am_phytime_OBJECTS)
phytime_DEPENDENCIES =
am__tiporder_SOURCES_DIST = main.c utilities.c utilities.h optimiz.c \
optimiz.h lk.c lk.h bionj.c bionj.h models.c models.h free.c \
free.h help.c help.h simu.c simu.h eigen.c eigen.h pars.c \
pars.h alrt.c alrt.h interface.c interface.h cl.c cl.h mg.c \
mg.h times.c times.h mcmc.c mcmc.h rates.c rates.h spr.c spr.h \
m4.c m4.h draw.c draw.h stats.c stats.h tiporder.c tiporder.h \
nucle2codon.c nucle2codon.h
#am_tiporder_OBJECTS = main.$(OBJEXT) \
# utilities.$(OBJEXT) \
# optimiz.$(OBJEXT) \
# lk.$(OBJEXT) \
# bionj.$(OBJEXT) \
# models.$(OBJEXT) \
# free.$(OBJEXT) \
# help.$(OBJEXT) \
# simu.$(OBJEXT) \
# eigen.$(OBJEXT) \
# pars.$(OBJEXT) \
# alrt.$(OBJEXT) \
# interface.$(OBJEXT) \
# cl.$(OBJEXT) \
# mg.$(OBJEXT) \
# times.$(OBJEXT) \
# mcmc.$(OBJEXT) \
# rates.$(OBJEXT) \
# spr.$(OBJEXT) \
# m4.$(OBJEXT) \
# draw.$(OBJEXT) \
# stats.$(OBJEXT) \
# tiporder.$(OBJEXT) \
# nucle2codon.$(OBJEXT)
tiporder_OBJECTS = $(am_tiporder_OBJECTS)
tiporder_DEPENDENCIES =
DEFAULT_INCLUDES = -I. -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(part_SOURCES) $(phycont_SOURCES) $(phyml_SOURCES) \
$(phytime_SOURCES) $(tiporder_SOURCES)
DIST_SOURCES = $(am__part_SOURCES_DIST) $(am__phycont_SOURCES_DIST) \
$(am__phyml_SOURCES_DIST) $(am__phytime_SOURCES_DIST) \
$(am__tiporder_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/missing --run aclocal-1.11
AMTAR = ${SHELL} /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/missing --run tar
AUTOCONF = ${SHELL} /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/missing --run autoconf
AUTOHEADER = ${SHELL} /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/missing --run autoheader
AUTOMAKE = ${SHELL} /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/missing --run automake-1.11
AWK = mawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -O3 -lcblas -latlas -lf77blas -lgfortran
CPP = gcc -E
CPPFLAGS =
CYGPATH_W = echo
DEFS = -D$(PROG)
DEPDIR = .deps
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /bin/grep -E
EXEEXT =
GREP = /bin/grep
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LDFLAGS =
LIBOBJS =
LIBS = -lm
LTLIBOBJS =
MAKEINFO = ${SHELL} /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/missing --run makeinfo
MKDIR_P = /bin/mkdir -p
OBJEXT = o
PACKAGE = phyml
PACKAGE_BUGREPORT = guindon@stat.auckland.ac.nz
PACKAGE_NAME = PhyML
PACKAGE_STRING = PhyML 20100725
PACKAGE_TARNAME = phyml
PACKAGE_URL =
PACKAGE_VERSION = 20100725
PATH_SEPARATOR = :
SET_MAKE =
SHELL = /bin/bash
STRIP =
VERSION = 20100725
abs_builddir = /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/src
abs_srcdir = /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/src
abs_top_builddir = /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml
abs_top_srcdir = /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml
ac_ct_CC = gcc
am__include = include
am__leading_dot = .
am__quote =
am__tar = ${AMTAR} chof - "$$tardir"
am__untar = ${AMTAR} xf -
bindir = ${exec_prefix}/bin
build = i686-pc-linux-gnu
build_alias =
build_cpu = i686
build_os = linux-gnu
build_vendor = pc
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = i686-pc-linux-gnu
host_alias =
host_cpu = i686
host_os = linux-gnu
host_vendor = pc
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = /bin/mkdir -p
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
top_build_prefix = ../
top_builddir = ..
top_srcdir = ..
PROG = PHYML
#PROG = TIPORDER
#PROG = PART
#PROG = PHYCONT
#PROG = PHYTIME
# endif
# endif
#phytime_SOURCES = main.c \
#utilities.c utilities.h\
#optimiz.c optimiz.h\
#lk.c lk.h\
#bionj.c bionj.h\
#models.c models.h\
#free.c free.h\
#help.c help.h\
#simu.c simu.h\
#eigen.c eigen.h\
#pars.c pars.h\
#alrt.c alrt.h\
#interface.c interface.h\
#cl.c cl.h\
#spr.c spr.h\
#times.c times.h\
#m4.c m4.h\
#draw.c draw.h\
#rates.c rates.h\
#mcmc.c mcmc.h\
#stats.c stats.h\
#mg.c mg.h\
#nucle2codon.c nucle2codon.h

#phytime_LDADD = -lm
#phycont_SOURCES = main.c \
#utilities.c utilities.h\
#optimiz.c optimiz.h\
#lk.c lk.h\
#bionj.c bionj.h\
#models.c models.h\
#free.c free.h\
#help.c help.h\
#simu.c simu.h\
#eigen.c eigen.h\
#pars.c pars.h\
#alrt.c alrt.h\
#interface.c interface.h\
#cl.c cl.h\
#spr.c spr.h\
#times.c times.h\
#m4.c m4.h\
#draw.c draw.h\
#rates.c rates.h\
#mcmc.c mcmc.h\
#stats.c stats.h\
#mg.c mg.h\
#continuous.c continuous.h\
#nucle2codon.c nucle2codon.h

#phycont_LDADD = -lm
# if WANT_RWRAP
# lib_LTLIBRARIES = librwrap.la
# librwrap_la_SOURCES = main.c \
# utilities.c utilities.h\
# optimiz.c optimiz.h\
# lk.c lk.h\
# bionj.c bionj.h\
# models.c models.h\
# free.c free.h\
# help.c help.h\
# simu.c simu.h\
# eigen.c eigen.h\
# pars.c pars.h\
# alrt.c alrt.h\
# interface.c interface.h\
# cl.c cl.h\
# mg.c mg.h\
# spr.c spr.h\
# m4.c m4.h\
# draw.c draw.h\
# mcmc.c mcmc.h\
# stats.c stats.h\
# times.c times.h\
# tiporder.c tiporder.h\
# rates.c rates.h\
# rwrapper.c rwrapper.h
# librwrap_la_LIBADD = -lm
# librwrap_la_LDFLAGS = -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/include -flat_namespace -undefined suppress -shared -module
# librwrap_la_CFLAGS=-arch i386 -std=gnu99 -fPIC
# else
#part_SOURCES = main.c \
#utilities.c utilities.h\
#optimiz.c optimiz.h\
#lk.c lk.h\
#bionj.c bionj.h\
#models.c models.h\
#free.c free.h\
#help.c help.h\
#simu.c simu.h\
#eigen.c eigen.h\
#pars.c pars.h\
#alrt.c alrt.h\
#interface.c interface.h\
#cl.c cl.h\
#mg.c mg.h\
#spr.c spr.h\
#m4.c m4.h\
#draw.c draw.h\
#stats.c stats.h\
#nucle2codon.c nucle2codon.h

#part_LDADD = -lm
#tiporder_SOURCES = main.c \
#utilities.c utilities.h\
#optimiz.c optimiz.h\
#lk.c lk.h\
#bionj.c bionj.h\
#models.c models.h\
#free.c free.h\
#help.c help.h\
#simu.c simu.h\
#eigen.c eigen.h\
#pars.c pars.h\
#alrt.c alrt.h\
#interface.c interface.h\
#cl.c cl.h\
#mg.c mg.h\
#times.c times.h\
#mcmc.c mcmc.h\
#rates.c rates.h\
#spr.c spr.h\
#m4.c m4.h\
#draw.c draw.h\
#stats.c stats.h\
#tiporder.c tiporder.h\
#nucle2codon.c nucle2codon.h

#tiporder_LDADD = -lm
# if WANT_PHYML
phyml_SOURCES = main.c \
utilities.c utilities.h\
optimiz.c optimiz.h\
lk.c lk.h\
bionj.c bionj.h\
models.c models.h\
free.c free.h\
help.c help.h\
simu.c simu.h\
eigen.c eigen.h\
pars.c pars.h\
alrt.c alrt.h\
interface.c interface.h\
cl.c cl.h\
spr.c spr.h\
draw.c draw.h\
mpi_boot.c mpi_boot.h\
stats.c stats.h\
mg.c mg.h\
nucle2codon.c nucle2codon.h\
phyml_LDADD = -lm

all: all-am

.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu src/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p; \
then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done

uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files

clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
part$(EXEEXT): $(part_OBJECTS) $(part_DEPENDENCIES)
@rm -f part$(EXEEXT)
$(LINK) $(part_OBJECTS) $(part_LDADD) $(LIBS)
phycont$(EXEEXT): $(phycont_OBJECTS) $(phycont_DEPENDENCIES)
@rm -f phycont$(EXEEXT)
$(LINK) $(phycont_OBJECTS) $(phycont_LDADD) $(LIBS)
phyml$(EXEEXT): $(phyml_OBJECTS) $(phyml_DEPENDENCIES)
@rm -f phyml$(EXEEXT)
$(LINK) $(phyml_OBJECTS) $(phyml_LDADD) $(LIBS)
phytime$(EXEEXT): $(phytime_OBJECTS) $(phytime_DEPENDENCIES)
@rm -f phytime$(EXEEXT)
$(LINK) $(phytime_OBJECTS) $(phytime_LDADD) $(LIBS)
tiporder$(EXEEXT): $(tiporder_OBJECTS) $(tiporder_DEPENDENCIES)
@rm -f tiporder$(EXEEXT)
$(LINK) $(tiporder_OBJECTS) $(tiporder_LDADD) $(LIBS)

mostlyclean-compile:
-rm -f *.$(OBJEXT)

distclean-compile:
-rm -f *.tab.c

include ./$(DEPDIR)/alrt.Po
include ./$(DEPDIR)/bionj.Po
include ./$(DEPDIR)/cl.Po
include ./$(DEPDIR)/continuous.Po
include ./$(DEPDIR)/draw.Po
include ./$(DEPDIR)/eigen.Po
include ./$(DEPDIR)/free.Po
include ./$(DEPDIR)/help.Po
include ./$(DEPDIR)/interface.Po
include ./$(DEPDIR)/lk.Po
include ./$(DEPDIR)/m4.Po
include ./$(DEPDIR)/main.Po
include ./$(DEPDIR)/mcmc.Po
include ./$(DEPDIR)/mg.Po
include ./$(DEPDIR)/models.Po
include ./$(DEPDIR)/mpi_boot.Po
include ./$(DEPDIR)/nucle2codon.Po
include ./$(DEPDIR)/optimiz.Po
include ./$(DEPDIR)/pars.Po
include ./$(DEPDIR)/rates.Po
include ./$(DEPDIR)/simu.Po
include ./$(DEPDIR)/spr.Po
include ./$(DEPDIR)/stats.Po
include ./$(DEPDIR)/times.Po
include ./$(DEPDIR)/tiporder.Po
include ./$(DEPDIR)/utilities.Po

.c.o:
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
# source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(COMPILE) -c $<

.c.obj:
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
# source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(COMPILE) -c `$(CYGPATH_W) '$<'`

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS

TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique

GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"

distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-binPROGRAMS clean-generic mostlyclean-am

distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am: install-binPROGRAMS

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-binPROGRAMS

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
clean-generic ctags distclean distclean-compile \
distclean-generic distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-binPROGRAMS \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
uninstall-am uninstall-binPROGRAMS

# endif
# endif

all-am: intro $(bin_PROGRAMS)$(EXEEXT)
@echo ""
@echo "Done."

intro:
@echo ""
@echo ""
@echo ":: Building $(PROG). Version $(VERSION) ::"
@echo ""
@echo ""

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

pbrane
July 25th, 2010, 11:19 PM
In your Makefile.am in the source directory you should add something like this at the end:


programname_LDADD = @PACKAGE_LIBS@ $(INTLLIBS) -lcblas

replace programname_LDADD with the name of your program as defined in Makefile.am bin_PROGRAMS = programname line. And you may or may not need the $(INTLLIBS) part.

Then run autogen.sh again.

Or you can edit Makefile.in directly and add -lcblas to the appropriate xxx_LDADD line. I'm not sure which file you are using the cblas function in.

Mszanetti
July 25th, 2010, 11:26 PM
Hi I tried adding -lblas -lcblas -latlas ... to the variable LIBS in the makefile indicated in the previous post and nothing yet ... the cblas_dgemm is still being ignored in runtime.

Mszanetti
July 25th, 2010, 11:37 PM
Hi

Thank you again.

I tried the Makefile.am ... does not work either ... I added -lcblas -lblas ... none of them seem to be effective ... it is funny that both work for my single file example.

What else could I do?

Thank you.



# Uncomment (i.e. remove the `#' character at the begining of)
# the two lines below if you want to use MPI.

# CC=mpicc
# DEFS=-DUNIX -D$(PROG) -DDEBUG -DMPI

# Comment the line below if you want to use MPI.
# Uncomment the line below if you don't want to use MPI.

DEFS=-D$(PROG)

#-DDEBUG -DUNIX

if WANT_PHYTIME
bin_PROGRAMS = phytime
PROG = PHYTIME
else
if WANT_PHYCONT
bin_PROGRAMS = phycont
PROG = PHYCONT
else
if WANT_PART
bin_PROGRAMS = part
PROG = PART
else
# if WANT_RWRAP
# PROG = RWRAP
# else
if WANT_TIPORDER
bin_PROGRAMS = tiporder
PROG = TIPORDER
else
# if WANT_PHYML
bin_PROGRAMS = phyml
PROG = PHYML
# endif
# endif
endif
endif
endif
endif

if WANT_PHYTIME
phytime_SOURCES = main.c \
utilities.c utilities.h\
optimiz.c optimiz.h\
lk.c lk.h\
bionj.c bionj.h\
models.c models.h\
free.c free.h\
help.c help.h\
simu.c simu.h\
eigen.c eigen.h\
pars.c pars.h\
alrt.c alrt.h\
interface.c interface.h\
cl.c cl.h\
spr.c spr.h\
times.c times.h\
m4.c m4.h\
draw.c draw.h\
rates.c rates.h\
mcmc.c mcmc.h\
stats.c stats.h\
mg.c mg.h\
nucle2codon.c nucle2codon.h
phytime_LDADD = -lm -lblas
else
if WANT_PHYCONT
phycont_SOURCES = main.c \
utilities.c utilities.h\
optimiz.c optimiz.h\
lk.c lk.h\
bionj.c bionj.h\
models.c models.h\
free.c free.h\
help.c help.h\
simu.c simu.h\
eigen.c eigen.h\
pars.c pars.h\
alrt.c alrt.h\
interface.c interface.h\
cl.c cl.h\
spr.c spr.h\
times.c times.h\
m4.c m4.h\
draw.c draw.h\
rates.c rates.h\
mcmc.c mcmc.h\
stats.c stats.h\
mg.c mg.h\
continuous.c continuous.h\
nucle2codon.c nucle2codon.h
phycont_LDADD = -lm -lblas
else
# if WANT_RWRAP
# lib_LTLIBRARIES = librwrap.la
# librwrap_la_SOURCES = main.c \
# utilities.c utilities.h\
# optimiz.c optimiz.h\
# lk.c lk.h\
# bionj.c bionj.h\
# models.c models.h\
# free.c free.h\
# help.c help.h\
# simu.c simu.h\
# eigen.c eigen.h\
# pars.c pars.h\
# alrt.c alrt.h\
# interface.c interface.h\
# cl.c cl.h\
# mg.c mg.h\
# spr.c spr.h\
# m4.c m4.h\
# draw.c draw.h\
# mcmc.c mcmc.h\
# stats.c stats.h\
# times.c times.h\
# tiporder.c tiporder.h\
# rates.c rates.h\
# rwrapper.c rwrapper.h
# librwrap_la_LIBADD = -lm
# librwrap_la_LDFLAGS = -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Resources/include/i386 -I/usr/local/include -flat_namespace -undefined suppress -shared -module
# librwrap_la_CFLAGS=-arch i386 -std=gnu99 -fPIC
# else
if WANT_PART
part_SOURCES = main.c \
utilities.c utilities.h\
optimiz.c optimiz.h\
lk.c lk.h\
bionj.c bionj.h\
models.c models.h\
free.c free.h\
help.c help.h\
simu.c simu.h\
eigen.c eigen.h\
pars.c pars.h\
alrt.c alrt.h\
interface.c interface.h\
cl.c cl.h\
mg.c mg.h\
spr.c spr.h\
m4.c m4.h\
draw.c draw.h\
stats.c stats.h\
nucle2codon.c nucle2codon.h
part_LDADD = -lm -lblas
else
if WANT_TIPORDER
tiporder_SOURCES = main.c \
utilities.c utilities.h\
optimiz.c optimiz.h\
lk.c lk.h\
bionj.c bionj.h\
models.c models.h\
free.c free.h\
help.c help.h\
simu.c simu.h\
eigen.c eigen.h\
pars.c pars.h\
alrt.c alrt.h\
interface.c interface.h\
cl.c cl.h\
mg.c mg.h\
times.c times.h\
mcmc.c mcmc.h\
rates.c rates.h\
spr.c spr.h\
m4.c m4.h\
draw.c draw.h\
stats.c stats.h\
tiporder.c tiporder.h\
nucle2codon.c nucle2codon.h
tiporder_LDADD = -lm -lblas
else
# if WANT_PHYML
phyml_SOURCES = main.c \
utilities.c utilities.h\
optimiz.c optimiz.h\
lk.c lk.h\
bionj.c bionj.h\
models.c models.h\
free.c free.h\
help.c help.h\
simu.c simu.h\
eigen.c eigen.h\
pars.c pars.h\
alrt.c alrt.h\
interface.c interface.h\
cl.c cl.h\
spr.c spr.h\
draw.c draw.h\
mpi_boot.c mpi_boot.h\
stats.c stats.h\
mg.c mg.h\
nucle2codon.c nucle2codon.h
phyml_LDADD = -lm -lblas
# endif
# endif
endif
endif
endif
endif

all-am: intro $(bin_PROGRAMS)$(EXEEXT)
@echo ""
@echo "Done."

intro:
@echo ""
@echo ""
@echo ":: Building $(PROG). Version $(VERSION) ::"
@echo ""
@echo ""

Some Penguin
July 25th, 2010, 11:46 PM
You could provide useful feedback other than vague claims that functions are ignored. For instance, what output are you actually seeing?

Mszanetti
July 25th, 2010, 11:48 PM
Here is the output of the configuration and compilation ... I do not see any error ... everything is fine ... but the blas function is invisible at runtime.

thx




src/Makefile.am:205: variable `programname_LDADD' is defined but no program or
src/Makefile.am:205: library has `programname' as canonical name (possible typo)
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 build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
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 for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for log in -lm... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for vprintf... yes
checking for _doprnt... no
checking for floor... yes
checking for pow... yes
checking for rint... yes
checking for sqrt... yes
checking for strchr... yes
checking for strstr... yes
./configure: line 4572: a: command not found
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
Making clean in src
make[1]: Entering directory `/home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/src'
test -z "phyml" || rm -f phyml
rm -f *.o
make[1]: Leaving directory `/home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/src'
Making clean in .
make[1]: Entering directory `/home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml'
make[1]: Nothing to be done for `clean-am'.
make[1]: Leaving directory `/home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml'
make all-recursive
make[1]: Entering directory `/home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml'
Making all in src
make[2]: Entering directory `/home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/src'


:: Building PHYML. Version 20100726 ::


gcc -DPHYML -I. -I.. -g -pg -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
mv -f .deps/main.Tpo .deps/main.Po
gcc -DPHYML -I. -I.. -g -pg -MT utilities.o -MD -MP -MF .deps/utilities.Tpo -c -o utilities.o utilities.c
mv -f .deps/utilities.Tpo .deps/utilities.Po
gcc -DPHYML -I. -I.. -g -pg -MT optimiz.o -MD -MP -MF .deps/optimiz.Tpo -c -o optimiz.o optimiz.c
mv -f .deps/optimiz.Tpo .deps/optimiz.Po
gcc -DPHYML -I. -I.. -g -pg -MT lk.o -MD -MP -MF .deps/lk.Tpo -c -o lk.o lk.c
mv -f .deps/lk.Tpo .deps/lk.Po
gcc -DPHYML -I. -I.. -g -pg -MT bionj.o -MD -MP -MF .deps/bionj.Tpo -c -o bionj.o bionj.c
mv -f .deps/bionj.Tpo .deps/bionj.Po
gcc -DPHYML -I. -I.. -g -pg -MT models.o -MD -MP -MF .deps/models.Tpo -c -o models.o models.c
mv -f .deps/models.Tpo .deps/models.Po
gcc -DPHYML -I. -I.. -g -pg -MT free.o -MD -MP -MF .deps/free.Tpo -c -o free.o free.c
mv -f .deps/free.Tpo .deps/free.Po
gcc -DPHYML -I. -I.. -g -pg -MT help.o -MD -MP -MF .deps/help.Tpo -c -o help.o help.c
mv -f .deps/help.Tpo .deps/help.Po
gcc -DPHYML -I. -I.. -g -pg -MT simu.o -MD -MP -MF .deps/simu.Tpo -c -o simu.o simu.c
mv -f .deps/simu.Tpo .deps/simu.Po
gcc -DPHYML -I. -I.. -g -pg -MT eigen.o -MD -MP -MF .deps/eigen.Tpo -c -o eigen.o eigen.c
mv -f .deps/eigen.Tpo .deps/eigen.Po
gcc -DPHYML -I. -I.. -g -pg -MT pars.o -MD -MP -MF .deps/pars.Tpo -c -o pars.o pars.c
mv -f .deps/pars.Tpo .deps/pars.Po
gcc -DPHYML -I. -I.. -g -pg -MT alrt.o -MD -MP -MF .deps/alrt.Tpo -c -o alrt.o alrt.c
mv -f .deps/alrt.Tpo .deps/alrt.Po
gcc -DPHYML -I. -I.. -g -pg -MT interface.o -MD -MP -MF .deps/interface.Tpo -c -o interface.o interface.c
mv -f .deps/interface.Tpo .deps/interface.Po
gcc -DPHYML -I. -I.. -g -pg -MT cl.o -MD -MP -MF .deps/cl.Tpo -c -o cl.o cl.c
mv -f .deps/cl.Tpo .deps/cl.Po
gcc -DPHYML -I. -I.. -g -pg -MT spr.o -MD -MP -MF .deps/spr.Tpo -c -o spr.o spr.c
mv -f .deps/spr.Tpo .deps/spr.Po
gcc -DPHYML -I. -I.. -g -pg -MT draw.o -MD -MP -MF .deps/draw.Tpo -c -o draw.o draw.c
mv -f .deps/draw.Tpo .deps/draw.Po
gcc -DPHYML -I. -I.. -g -pg -MT mpi_boot.o -MD -MP -MF .deps/mpi_boot.Tpo -c -o mpi_boot.o mpi_boot.c
mv -f .deps/mpi_boot.Tpo .deps/mpi_boot.Po
gcc -DPHYML -I. -I.. -g -pg -MT stats.o -MD -MP -MF .deps/stats.Tpo -c -o stats.o stats.c
mv -f .deps/stats.Tpo .deps/stats.Po
gcc -DPHYML -I. -I.. -g -pg -MT mg.o -MD -MP -MF .deps/mg.Tpo -c -o mg.o mg.c
mv -f .deps/mg.Tpo .deps/mg.Po
gcc -DPHYML -I. -I.. -g -pg -MT nucle2codon.o -MD -MP -MF .deps/nucle2codon.Tpo -c -o nucle2codon.o nucle2codon.c
mv -f .deps/nucle2codon.Tpo .deps/nucle2codon.Po
gcc -g -pg -o phyml main.o utilities.o optimiz.o lk.o bionj.o models.o free.o help.o simu.o eigen.o pars.o alrt.o interface.o cl.o spr.o draw.o mpi_boot.o stats.o mg.o nucle2codon.o -lm -lcblas -lm

Done.
make[2]: Leaving directory `/home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml/src'
make[2]: Entering directory `/home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml'
make[2]: Leaving directory `/home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml'
make[1]: Leaving directory `/home/marcelos/Desktop/DATA/Education/Master_Thesis/Source_code/ZIP/codon_phyml'

Mszanetti
July 25th, 2010, 11:54 PM
Hi Thx...

The output is the result of many numerical calculations ... I have the matrix that is supposed to hold the product of other two other matrices (matrix exponentiation) ...

That is

cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, n, n, n, 1.0, uexpt, n, V, n, 0.0, Pij + pos, n);

so the output goes to Pij+pos ...

when debugging ... the debugger just pass over it and it does nothing ... no error etc ... nothing that I can see ...

If you read the first post ... I tested the same function in a single file project and it works perfectly ...

So I don't know why it does not work in my large project ...

Is it clear now?

Mszanetti
July 26th, 2010, 12:13 AM
Hi

Thank you.

I am sorry ... the first suggestion regarding the Makefile.am was good ... I am printing the numbers and they change after the cblas_dgemm.

So we can close this thread.

Thank you very much.