Subject: Re: libg2c has gone in NeBSD 4.99.20
To: None <port-amd64@netbsd.org>
From: Ray Phillips <r.phillips@jkmrc.com>
List: port-amd64
Date: 08/24/2007 15:15:16
Thanks Matthias.

>Looking at libblas.so, it seems that needs some
>more pieces of runtime environment - libI77 and libm.

How did you determine that?  I thought maybe you used ldd or nm, but 
they didn't show that information when I tried them.

>So you might try:
>--with-blas='-L/usr/pkg/lib -lblas -lF77 -lI77 -lm'

Unfortunately that made no obvious difference:

% ../configure --with-x --with-cxxflags='-DNEED_FDSTREAM 
-DDONT_HAVE_STRSTREAM_H -DTHERMAL -ffriend-injection' 
--with-blas='-L/usr/pkg/lib -lblas -lF77 -lI77 -lm'
checking build system type... amd64-unknown-netbsd4.99.20
checking host system type... amd64-unknown-netbsd4.99.20
checking for g++... g++
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 ceil in -lm... yes
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
configure: WARNING: This is a hack to see if blas will link
checking for dgemv_ in -lm... no
configure: error: *** Supplied blas doesn't link ***
%

(The -ffriend-injection argument proved to be necessary to avoid a 
compile time error, something which became apparent after my last 
posting.)

>r.phillips@jkmrc.com said:
>>  --with-blas='-L/usr/pkg/lib -lblas -lF77'
>>  [...]
>>  configure: error: *** Supplied blas doesn't link ***
>
>There might be some more information in config.log.

I wonder if the section of config.log I've appended to the end of 
this message means anything to you?


Ray



% sed -n '649,736p' config.log
                          || test ! -s conftest.err
configure:6452: $? = 0
configure:6455: test -s conftest
configure:6458: $? = 0
configure:6470: result: yes
configure:6554: checking for IceConnectionNumber in -lICE
configure:6584: g++ -o conftest -DNEED_FDSTREAM 
-DDONT_HAVE_STRSTREAM_H -DTHERMAL -ffriend-injection  -DLITTLEENDIAN 
-Wno-non-template-friend -pipe -O  -DNEED_FDSTREAM 
-DDONT_HAVE_STRSTREAM_H -DTHERMAL -ffriend-injection  -DLITTLEENDIAN 
-Wno-non-template-friend -pipe -O -L/usr/X11R6/lib conftest.cc -lICE 
-lm  >&5
configure:6590: $? = 0
configure:6594: test -z
                          || test ! -s conftest.err
configure:6597: $? = 0
configure:6600: test -s conftest
configure:6603: $? = 0
configure:6616: result: yes
configure:6687: WARNING: This is a hack to see if blas will link
configure:6690: checking for dgemv_ in -lm
configure:6721: g++ -o conftest -DNEED_FDSTREAM 
-DDONT_HAVE_STRSTREAM_H -DTHERMAL -ffriend-injection  -DLITTLEENDIAN 
-Wno-non-template-friend -pipe -O  -DNEED_FDSTREAM 
-DDONT_HAVE_STRSTREAM_H -DTHERMAL -ffriend-injection  -DLITTLEENDIAN 
-Wno-non-template-friend -pipe -O conftest.cc -lm -L/usr/pkg/lib 
-lblas -lF77 -lI77 -lm
                          -lm  >&5
/usr/pkg/lib/libF77.so: undefined reference to `MAIN__'
configure:6727: $? = 1
configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #ifdef __cplusplus
| extern "C" void std::exit (int); using std::exit;
| #endif
| #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 TIME_WITH_SYS_TIME 1
| #define STDC_HEADERS 1
| #define HAVE_LIMITS_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_IEEEFP_H 1
| #define HAVE_MALLOC_H 1
| #define RETSIGTYPE void
| #define HAVE_GETCWD 1
| #define HAVE_PUTENV 1
| #define HAVE_SELECT 1
| #define HAVE_STRDUP 1
| #define HAVE_STRTOD 1
| #define HAVE_STRTOL 1
| #define HAVE_STRTOUL 1
| #define HAVE_LIBM 1
| /* end confdefs.h.  */
|
| /* Override any gcc2 internal prototype to avoid an error.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
|    builtin and then its argument prototype would still apply.  */
| char dgemv_ ();
| int
| main ()
| {
| dgemv_ ();
|   ;
|   return 0;
| }
configure:6753: result: no
configure:6763: error: *** Supplied blas doesn't link ***

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=amd64-unknown-netbsd4.99.20
ac_cv_build_alias=amd64-unknown-netbsd4.99.20
ac_cv_c_bigendian=no
ac_cv_c_compiler_gnu=yes
ac_cv_c_const=yes
ac_cv_c_inline=inline
ac_cv_cxx_compiler_gnu=yes
ac_cv_env_CC_set=
%