Bug 35994 - math/atlas does not build on some machines
Summary: math/atlas does not build on some machines
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-03-17 03:50 UTC by Li-Lun Wang
Modified: 2002-03-26 05:50 UTC (History)
0 users

See Also:


Attachments
file.diff (1.93 KB, patch)
2002-03-17 03:50 UTC, Li-Lun Wang
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Li-Lun Wang 2002-03-17 03:50:00 UTC
math/atlas port uses default answers for the configuration, which makes
it unable to build on some machines, e.g. K6-III. The questions asked are
different for different archs, and the default answers provided in
${FILESDIR} is not suitable for all archs. Since NO_PACKAGE and NO_CDROM
are already defined, I suggest to remove the default answers and define
IS_INTERACTIVE to make it happy on all supported archs.

How-To-Repeat: make build the math/atlas port on a AMD K6-III box.
Comment 1 Li-Lun Wang 2002-03-17 14:58:38 UTC
I am sorry that I forgot to deal with the same thing for do_install.
Please use the following patch instead.

diff -urN atlas.orig/Makefile atlas/Makefile
--- atlas.orig/Makefile	Fri Mar 15 11:53:15 2002
+++ atlas/Makefile	Sun Mar 17 22:53:34 2002
@@ -16,29 +16,30 @@
 
 BUILD_DEPENDS=	${LOCALBASE}/lib/liblapack.a:${PORTSDIR}/math/lapack
 
+IS_INTERACTIVE=	yes
 USE_BZIP2=	yes
 WRKSRC=		${WRKDIR}/ATLAS
 NO_PACKAGE=	"It is better to compile at the target machine."
 NO_CDROM=	"It is better to compile at the target machine."
 
 do-configure:
-	@(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} config < ${FILESDIR}/answer)
+	@(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} config)
 
 do-build:
-	(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} install arch=FreeBSD_GENERIC)
+	(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} install arch=`cat ${WRKSRC}/ARCHNAME`)
 	(cd ${WRKSRC}; ${MKDIR} tmp ; \
 			${CP} ${LOCALBASE}/lib/liblapack.a tmp ;\
 			cd tmp ;\
 			ar x liblapack.a ;\
-			ar x ../lib/FreeBSD_GENERIC/liblapack.a ;\
-			ar r ../lib/FreeBSD_GENERIC/libalapack.a *.o ;\
-			ranlib ../lib/FreeBSD_GENERIC/libalapack.a )
+			ar x ../lib/`cat ${WRKSRC}/ARCHNAME`/liblapack.a ;\
+			ar r ../lib/`cat ${WRKSRC}/ARCHNAME`/libalapack.a *.o ;\
+			ranlib ../lib/`cat ${WRKSRC}/ARCHNAME`/libalapack.a )
 do-install:
 	@${MKDIR} ${PREFIX}/share/doc/atlas
-	${INSTALL_DATA} ${WRKSRC}/lib/FreeBSD_GENERIC/libatlas.a    ${PREFIX}/lib
-	${INSTALL_DATA} ${WRKSRC}/lib/FreeBSD_GENERIC/libcblas.a    ${PREFIX}/lib
-	${INSTALL_DATA} ${WRKSRC}/lib/FreeBSD_GENERIC/libf77blas.a  ${PREFIX}/lib
-	${INSTALL_DATA} ${WRKSRC}/lib/FreeBSD_GENERIC/libtstatlas.a ${PREFIX}/lib
-	${INSTALL_DATA} ${WRKSRC}/lib/FreeBSD_GENERIC/libalapack.a  ${PREFIX}/lib
+	${INSTALL_DATA} ${WRKSRC}/lib/`cat ${WRKSRC}/ARCHNAME`/libatlas.a    ${PREFIX}/lib
+	${INSTALL_DATA} ${WRKSRC}/lib/`cat ${WRKSRC}/ARCHNAME`/libcblas.a    ${PREFIX}/lib
+	${INSTALL_DATA} ${WRKSRC}/lib/`cat ${WRKSRC}/ARCHNAME`/libf77blas.a  ${PREFIX}/lib
+	${INSTALL_DATA} ${WRKSRC}/lib/`cat ${WRKSRC}/ARCHNAME`/libtstatlas.a ${PREFIX}/lib
+	${INSTALL_DATA} ${WRKSRC}/lib/`cat ${WRKSRC}/ARCHNAME`/libalapack.a  ${PREFIX}/lib
 	${INSTALL_DATA} ${WRKSRC}/doc/* ${PREFIX}/share/doc/atlas
 .include <bsd.port.mk>
diff -urN atlas.orig/files/answer atlas/files/answer
--- atlas.orig/files/answer	Fri Mar 15 11:53:15 2002
+++ atlas/files/answer	Thu Jan  1 08:00:00 1970
@@ -1,9 +0,0 @@
-
-
-
-
-
-FreeBSD_GENERIC
-
-
-
diff -urN atlas.orig/files/patch-aa atlas/files/patch-aa
--- atlas.orig/files/patch-aa	Fri Mar 15 11:53:15 2002
+++ atlas/files/patch-aa	Sun Mar 17 22:52:09 2002
@@ -1,5 +1,5 @@
---- config.c.orig	Sat Feb  2 11:57:44 2002
-+++ config.c	Sun Mar  3 16:28:41 2002
+--- config.c.orig	Sat Feb  2 10:57:44 2002
++++ config.c	Sun Mar 17 11:19:00 2002
 @@ -2050,6 +2050,7 @@
           if (!CmndOneLine(targ, "sysctl hw.model", ln))
           {
@@ -8,3 +8,13 @@
              else if (strstr(ln, "Pentium III")) mach = IntPIII;
              else if (strstr(ln, "Pentium II ")) mach = IntPII;
              else if (strstr(ln, "Athlon")) mach = AmdAthlon;
+@@ -3018,6 +3019,9 @@
+    }
+    if (USEWINF77) strcpy(F77, "$(BINdir)/winf77.exe");
+ 
++   fpout = fopen("ARCHNAME", "w");
++   fprintf(fpout, "%s", ARCH);
++   fclose(fpout);
+    ATL_mprintf(2, fplog, stdout,"\nCreating make include file Make.%s\n", ARCH);
+    sprintf(ln, "Make.%s", ARCH);
+    fpout = fopen(ln, "w");
Comment 2 chat95 2002-03-25 07:24:38 UTC
I approve this refinement with Li-lun Wang's
suggestion. He is completely reasonable.
Comment 3 Ying-Chieh Liao freebsd_committer freebsd_triage 2002-03-26 05:50:06 UTC
State Changed
From-To: open->closed

committed (with minor modified), thanks