Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Mar 2013 23:37:18 -0700 (PDT)
From:      Don Lewis <truckman@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/177364: [patch] math/scilab port build fails configuration step
Message-ID:  <201303250637.r2P6bIlT082848@mousie.catspoiler.org>
Resent-Message-ID: <201303250710.r2P7A2J1059769@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         177364
>Category:       ports
>Synopsis:       [patch] math/scilab port build fails configuration step
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Mar 25 07:10:02 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Don Lewis
>Release:        FreeBSD 10.0-CURRENT i386
>Organization:
FreeBSD project
>Environment:
System: FreeBSD scratch.catspoiler.org 10.0-CURRENT FreeBSD 10.0-CURRENT #23 r248434: Sun Mar 17 14:56:39 PDT 2013     dl@scratch.catspoiler.org:/usr/obj/usr/src/sys/GENERICSMB  i386


>Description:
	When attempting to build the math/scilab port, if fails the
	configuration step because it doesn't think it can find the
	umfpack library even though suitesparse-4.0.2_1 is installed.

checking for suitesparse/umfpack.h... yes
checking for suitesparse/umfpack.h... (cached) yes
checking for umf_divcomplex in /usr/local/lib... checking for amd_info in -lamd... yes
checking for umf_divcomplex in -lumfpack -lamd -lcholmod -lcolamd -lalapack -lcblas -lcblas -lf77blas -latlas... no
configure: error: libumfpack : Library missing. (Cannot find umf_divcomplex). Check if libumfpack is installed and if the version is correct (also called lib suitesparse)
===>  Script "configure" failed unexpectedly.

	The problem is that the the symbol SuiteSparse_time is undefined
	because it is in a library that is not linked in.

	The relevant section of config.log:

configure:22350: checking for umf_divcomplex in -lumfpack -lamd -lcholmod -lcola
md -lalapack -lcblas -lcblas -lf77blas -latlas
configure:22383: gcc46 -o conftest -O2 -pipe -march=athlon64 -Wl,-rpath=/usr/loc
al/lib/gcc46 -fno-strict-aliasing -DNDEBUG -I$(top_srcdir)/modules/core/includes
/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/inc
ludes/ -I/usr/local/include  -L/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc46 co
nftest.c -lumfpack -lamd -lcholmod -lcolamd -lalapack -lcblas -lcblas -lf77blas
-latlas  -lcblas -lf77blas -latlas -L/usr/local/lib -lm -pthread  -lcurses  -lm
>How-To-Repeat:
	Attempt to build the math/scilab port.
>Fix:

	The following patch fixes the problem for me:


Index: Makefile
===================================================================
--- Makefile	(revision 314476)
+++ Makefile	(working copy)
@@ -202,7 +202,7 @@
 post-patch:
 	@# Configure fixes
 	@${REINPLACE_CMD} -e 's|-ldl | |' ${WRKSRC}/configure
-	@${REINPLACE_CMD} -e 's|-lumfpack|-lumfpack -lamd -lcholmod -lcolamd $$LAPACK_LIBS $$BLAS_LIBS|g' ${WRKSRC}/configure
+	@${REINPLACE_CMD} -e 's|-lumfpack|-lumfpack -lsuitesparseconfig -lamd -lcholmod -lcolamd $$LAPACK_LIBS $$BLAS_LIBS|g' ${WRKSRC}/configure
 	@${REINPLACE_CMD} -e 's|TCLTK_LIBS=" -ldl"|TCLTK_LIBS=" "|' ${WRKSRC}/configure
 	@${REINPLACE_CMD} -e 's|"x=" ==|"x" =|g' ${WRKSRC}/configure
 	@${REINPLACE_CMD} -e 's|"x" ==|"x" =|g' ${WRKSRC}/configure

>Release-Note:
>Audit-Trail:
>Unformatted:
 >&5
 /usr/local/lib/libumfpack.so: undefined reference to `SuiteSparse_time'
 collect2: ld returned 1 exit status
 configure:22383: $? = 1
 configure: failed program was:
 | /* confdefs.h */
 | #define PACKAGE_NAME "Scilab"
 | #define PACKAGE_TARNAME "scilab"
 | #define PACKAGE_VERSION "5"
 | #define PACKAGE_STRING "Scilab 5"
 | #define PACKAGE_BUGREPORT "http://bugzilla.scilab.org/"
 | #define PACKAGE_URL ""
 | #define O_LARGEFILE 0
 | #define INSTALLPREFIX "/usr/local"
 | #define STDC_HEADERS 1
 | #define INSTALLPREFIX "/usr/local"
 | #define STDC_HEADERS 1
 | #define HAVE_SYS_TYPES_H 1
 | #define HAVE_SYS_STAT_H 1
 | #define HAVE_STDLIB_H 1
 | #define HAVE_STRING_H 1
 | #define HAVE_MEMORY_H 1
 | #define HAVE_STRINGS_H 1
 | #define HAVE_INTTYPES_H 1
 | #define HAVE_STDINT_H 1
 | #define HAVE_UNISTD_H 1
 | #define INSTALLPREFIX "/usr/local"
 | #define PACKAGE "scilab"
 | #define VERSION "5"
 | #define G95_FORTRAN /**/
 | #define SIZEOF_INT 4
 | #define SIZEOF_LONG 4
 | #define WTU /**/
 | #define CNAME(name1,name2) name1##name2
 | #define C2F(name) name##_
 | #define F2C(name) name##_
 | #define HAVE_LIBHDF5 1
 | #define WITH_HDF5 /**/
 | #define WITH_HDF5 /**/
 | #define WITH_XCOS /**/
 | #define HAVE_CLOCK_GETTIME 1
 | #define WITH_GUI /**/
 | #define HAVE_SLEEP 1
 | #define HAVE_USLEEP 1
 | #define HAVE_DUP2 1
 | #define HAVE_GETCWD 1
 | #define HAVE_GETPAGESIZE 1
 | #define HAVE_GETPASS 1
 | #define HAVE_RMDIR 1
 | #define HAVE_GETWD 1
 | #define HAVE_REGCOMP 1
 | #define HAVE_ATEXIT 1
 | #define HAVE_PUTENV 1
 | #define HAVE_SETENV 1
 | #define HAVE_BZERO 1
 | #define HAVE_MEMMOVE 1
 | #define HAVE_MEMSET 1
 | #define HAVE_STRCASECMP 1
 | #define HAVE_STRERROR 1
 | #define HAVE_STRCHR 1
 | #define HAVE_STRDUP 1
 | #define HAVE_STRPBRK 1
 | #define HAVE_STRRCHR 1
 | #define HAVE_STRSTR 1
 | #define HAVE_STRTOL 1
 | #define HAVE_SELECT 1
 | #define HAVE_ENDPWENT 1
 | #define HAVE_GETHOSTBYADDR 1
 | #define HAVE_GETHOSTBYNAME 1
 | #define HAVE_GETHOSTNAME 1
 | #define HAVE_GETTIMEOFDAY 1
 | #define HAVE_ISASCII 1
 | #define HAVE_ISWPRINT 1
 | #define HAVE_MKDIR 1
 | #define HAVE_MUNMAP 1
 | #define HAVE_STRSIGNAL 1
 | #define HAVE_POW 1
 | #define HAVE_SQRT 1
 | #define HAVE_FINITE 1
 | #define HAVE_FLOOR 1
 | #define HAVE_SOCKET 1
 | #define HAVE_UNAME 1
 | #define HAVE_SETLOCALE 1
 | #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
 | #define HAVE_LIMITS_H 1
 | #define HAVE_FCNTL_H 1
 | #define HAVE_FLOAT_H 1
 | #define HAVE_LIBINTL_H 1
 | #define HAVE_LOCALE_H 1
 | #define HAVE_NETDB_H 1
 | #define HAVE_NETINET_IN_H 1
 | #define HAVE_NLIST_H 1
 | #define HAVE_STDDEF_H 1
 | #define HAVE_SYS_FILE_H 1
 | #define HAVE_SYS_IOCTL_H 1
 | #define HAVE_SYS_PARAM_H 1
 | #define HAVE_SYS_SOCKET_H 1
 | #define HAVE_SYS_TIME_H 1
 | #define HAVE_SYS_TIMEB_H 1
 | #define HAVE_SYS_UTSNAME_H 1
 | #define HAVE_SYSLOG_H 1
 | #define HAVE_TERM_H 1
 | #define HAVE_TERMCAP_H 1
 | #define HAVE_TERMIOS_H 1
 | #define HAVE_WCHAR_H 1
 | #define HAVE_WCTYPE_H 1
 | #define HAVE_TIME_H 1
 | #define HAVE_DIRENT_H 1
 | #define TIME_WITH_SYS_TIME 1
 | #define HAVE_SYS_WAIT_H 1
 | #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
 | #define HAVE_STRUCT_STAT_ST_RDEV 1
 | #define HAVE_ICONV 1
 | #define ENABLE_NLS 1
 | #define HAVE_GETTEXT 1
 | #define HAVE_DCGETTEXT 1
 | #define RETSIGTYPE void
 | #define HAVE_STRUCT_STAT_ST_BLOCKS 1
 | #define HAVE_ST_BLOCKS 1
 | #define HAVE_LIBCURSES 1
 | #define HAVE_NCURSES_H 1
 | #define HAVE_CURSES_H 1
 | #define HAVE_TERMCAP /**/
 | #define HAVE_LIBDL 1
 | #define WITH_FFTW /**/
 | #define HAVE_OMP_H 1
 | #define HAVE_LIBXML2 1
 | #define LIBXML_FLAGS "-I/usr/local/include/libxml2 -I/usr/local/include"
 | #define LIBXML_LIBS "-L/usr/local/lib -lxml2 -lz -L/usr/local/lib -liconv -lm"
 | /* end confdefs.h.  */
 | 
 | /* Override any GCC internal prototype to avoid an error.
 |    Use char because int might match the return type of a GCC
 |    builtin and then its argument prototype would still apply.  */
 | #ifdef __cplusplus
 | extern "C"
 | #endif
 | char umf_divcomplex ();
 | #ifdef F77_DUMMY_MAIN
 | 
 | #  ifdef __cplusplus
 |      extern "C"
 | #  endif
 |    int F77_DUMMY_MAIN() { return 1; }
 | 
 | #endif
 | int
 | main ()
 | {
 | return umf_divcomplex ();
 |   ;
 |   return 0;
 | }
 configure:22392: result: no
 configure:22397: error: libumfpack : Library missing. (Cannot find umf_divcomple
 x). Check if libumfpack is installed and if the version is correct (also called
 lib suitesparse)
 
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303250637.r2P6bIlT082848>