Subject: Re: libtool problems on Solaris 10?
To: None <tech-pkg@netbsd.org, pkgsrc-users@netbsd.org>
From: Jake Kupersmith <jakerosoft@gmail.com>
List: pkgsrc-users
Date: 10/06/2006 20:23:41
Here are diff's of the new and old copies of libtool ...   both
packages are libtool-base-1.5.22nb3 but differ significantly, I
beleive this to be the cause of the problem.  share/libtool/ltmain.sh
also differs slightly..

--- /export/home/jkupersm/tmp/libtool-test/bad/bin/libtool      Fri
Oct  6 11:52:22 2006
+++ /export/home/jkupersm/tmp/libtool-test/good/bin/libtool     Thu
Jul 27 14:31:20 2006
@@ -82,13 +82,13 @@
 AR_FLAGS="cru"

 # A C compiler.
-LTCC="gcc"
+LTCC="cc"

 # LTCC compiler flags.
-LTCFLAGS="-O -xtarget=ultra2 -xarch=v8plusa -I/usr/include"
+LTCFLAGS="-xtarget=ultra2 -xarch=v8plusa -I/usr/include"

 # A language-specific compiler.
-CC="gcc"
+CC="cc"

 # Is the compiler the GNU C compiler?
 with_gcc=
@@ -3630,7 +3630,7 @@
            age="0"
            ;;
          irix|nonstopux)
-           current=`expr $number_major + $number_minor`
+           current=`expr $number_major + $number_minor - 1`
            age="$number_minor"
            revision="$number_minor"
            ;;
@@ -7320,7 +7320,7 @@
 build_old_libs=yes

 # Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=no
+build_libtool_need_lc=yes

 # Whether or not to disallow shared libs when runtime libs are static
 allow_libtool_libs_with_static_runtimes=no
@@ -7346,13 +7346,13 @@
 AR_FLAGS="cru"

 # A C compiler.
-LTCC="gcc"
+LTCC="cc"

 # LTCC compiler flags.
-LTCFLAGS="-O -xtarget=ultra2 -xarch=v8plusa -I/usr/include"
+LTCFLAGS="-xtarget=ultra2 -xarch=v8plusa -I/usr/include"

 # A language-specific compiler.
-CC="g++"
+CC="CC"

 # Is the compiler the GNU C compiler?
 with_gcc=no
@@ -7392,7 +7392,7 @@
 reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"

 # How to pass a linker flag through the compiler.
-wl=""
+wl="-Qoption ld "

 # Object file suffix (normally "o").
 objext="o"
@@ -7407,7 +7407,7 @@
 exeext=""

 # Additional compiler flags for building library objects.
-pic_flag=" -DPIC"
+pic_flag=" -KPIC -DPIC"
 pic_mode=default

 # What is the maximum length of a command?
@@ -7444,7 +7444,7 @@
 export_dynamic_flag_spec=""

 # Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=""
+whole_archive_flag_spec="\${wl}-z \${wl}allextract\`for conv in
\$convenience\\\"\\\"; do test -n \\\"\$conv\\\" &&
new_convenience=\\\"\$new_convenience,\$conv\\\"; done; \$echo
\\\"\$new_convenience\\\"\` \${wl}-z \${wl}defaultextract"

 # Compiler flag to generate thread-safe objects.
 thread_safe_flag_spec=""
@@ -7464,7 +7464,7 @@

 # Commands used to build and install an old-style archive.
 RANLIB="ranlib"
-old_archive_cmds="\$AR \$AR_FLAGS
\$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
+old_archive_cmds="\$CC -xar -o \$oldlib \$oldobjs"
 old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
 old_postuninstall_cmds=""

@@ -7475,8 +7475,9 @@
 old_archive_from_expsyms_cmds=""

 # Commands used to build and install a shared archive.
-archive_cmds=""
-archive_expsym_cmds=""
+archive_cmds="\$CC -G\${allow_undefined_flag}  -h\$soname -o \$lib
\$predep_objects \$libobjs \$deplibs \$postdep_objects
\$compiler_flags"
+archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$lib.exp~cat
\$export_symbols | \$SED -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >>
\$lib.exp~\$echo \\\"local: *; };\\\" >> \$lib.exp~
+       \$CC -G\${allow_undefined_flag}  \${wl}-M \${wl}\$lib.exp
-h\$soname -o \$lib \$predep_objects \$libobjs \$deplibs
\$postdep_objects \$compiler_flags~\$rm \$lib.exp"
 postinstall_cmds="chmod +x \$lib"
 postuninstall_cmds=""

@@ -7502,7 +7503,7 @@

 # Dependencies to place after the objects being linked to create a
 # shared library.
-postdeps=""
+postdeps="-lCstd -lCrun"

 # The library search path used internally by the compiler when linking
 # a shared library.
@@ -7518,7 +7519,7 @@
 allow_undefined_flag=""

 # Flag that forces no undefined symbols.
-no_undefined_flag=""
+no_undefined_flag=" -zdefs"

 # Commands used to finish a libtool library installation in a directory.
 finish_cmds=""
@@ -7545,7 +7546,7 @@
 shlibpath_overrides_runpath=yes

 # How to hardcode a shared library path into an executable.
-hardcode_action=unsupported
+hardcode_action=immediate

 # Whether we should hardcode library paths into libraries.
 hardcode_into_libs=yes
@@ -7552,7 +7553,7 @@

 # Flag to hardcode $libdir into a binary during linking.
 # This must work even if $libdir does not exist.
-hardcode_libdir_flag_spec=""
+hardcode_libdir_flag_spec="-R\$libdir"

 # If ld is used when linking, flag to hardcode $libdir into
 # a binary during linking. This must work even if $libdir does
@@ -7572,7 +7573,7 @@

 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
 # the resulting binary.
-hardcode_shlibpath_var=unsupported
+hardcode_shlibpath_var=no

 # Set to yes if building a shared library automatically hardcodes DIR
into the library
 # and all subsequent libraries and executables linked against it.
@@ -7583,7 +7584,7 @@
 variables_saved_for_relink="PATH LD_LIBRARY_PATH "

 # Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=unknown
+link_all_deplibs=yes

 # Compile-time system search path for libraries
 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
@@ -7651,10 +7652,10 @@
 AR_FLAGS="cru"

 # A C compiler.
-LTCC="gcc"
+LTCC="cc"

 # LTCC compiler flags.
-LTCFLAGS="-O -xtarget=ultra2 -xarch=v8plusa -I/usr/include"
+LTCFLAGS="-xtarget=ultra2 -xarch=v8plusa -I/usr/include"

 # A language-specific compiler.
 CC="f77"


--- /export/home/jkupersm/tmp/libtool-test/bad/share/libtool/ltmain.sh
 Fri Oct  6 11:52:23 2006
+++ /export/home/jkupersm/tmp/libtool-test/good/share/libtool/ltmain.sh
Thu Jul 27 14:31:21 2006
@@ -3280,7 +3280,7 @@
            age="0"
            ;;
          irix|nonstopux)
-           current=`expr $number_major + $number_minor`
+           current=`expr $number_major + $number_minor - 1`
            age="$number_minor"
            revision="$number_minor"
            ;;


On 10/6/06, Jake Kupersmith <jakerosoft@gmail.com> wrote:
> Hi, I have recently been having problems bulding devel/ncurses on two
> separate machines running Solaris 10 (one SPARC, one x86).  They are
> bothing having the exact same problem and I suspect libtool.