Hello,

Please find below a proposed patch for some nits compiling
dirmngr and aspell with Sun Studio 12 on Solaris 10u4 amd64.

(1) From /h/goanna/2/os_5.10/kbe/build-logs/FOSSaspell.log:

pkgbuild:  /opt/SunStudio12/SUNWspro/bin/CC -DHAVE_CONFIG_H -I. -I. -I./gen 
-I./gen -I./common -I./interfaces/cc/ -I./modules/speller/default/ 
-DLOCALEDIR=\"/opt/foss/share/locale\" -D_REENTRANT -D__EXTENSIONS__ 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_POSIX_PTHREAD_SEMANTICS -DSOLARIS 
-DSOLARIS10 -DNDEBUG -DNO_DEBUG -D_UNICODE -DUNICODE -D_RWSTD_REENTRANT 
-D_XOPEN_SOURCE=500 -D_XPG5 -I/opt/foss/include -I/opt/foss/include/ansi 
-library=no%Cstd 
-features=anachronisms,except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
 -instances=global -template=geninlinefuncs -s -xlang=c99 
-xustr=ascii_utf16_ushort -Qoption ccfe -features=gcc -Qoption ccfe 
++boolflag:sunwcch=false -xF=%none -xbuiltin=%all -xinline=%auto 
-xprefetch=auto -xprefetch_auto_type=indirect_array_access -xprefetch_level=3 
-xalias_level=compatible -xO3 -xregs=no%frameptr -xjobs=2 -Kpic -xrestrict=%all 
-xthreadvar=%all -z combreloc -z redlocsym -z nodefaultlib -z ignore -z now -z 
rescan -z absexec -xipo=0 -xldscope=symbolic -xlibmil -s -xtarget=opteron -m64 
-xchip=opteron -xcache=64/64/2:1024/64/16 -lm -ldl -lc -lpthread -lposix4 -lrt 
-mt -L/opt/foss/lib/amd64 -L/usr/lib/amd64 -R/opt/foss/lib/amd64 
-R/usr/lib/amd64 -Y P,/opt/foss/lib/amd64:/usr/lib/amd64 -i -L/usr/lib/amd64 
-R/usr/lib/amd64 -Bdynamic -lCrun -lstdcxx -c 
modules/speller/default/readonly_ws.cpp  -KPIC -DPIC -o 
modules/speller/default/.libs/readonly_ws.o
pkgbuild: "/usr/include/floatingpoint.h", line 164: Error: FILE is not defined.
pkgbuild: 1 Error(s) detected.
pkgbuild: make[2]: *** [modules/speller/default/readonly_ws.lo] Error 1
pkgbuild: make[2]: Leaving directory 
`/h/goanna/2/os_5.10/kbe/BUILD/FOSSaspell-0.60.4/amd64/ASPELL/0.60.4'
pkgbuild: make[1]: *** [all-recursive] Error 1
pkgbuild: make[1]: Leaving directory 
`/h/goanna/2/os_5.10/kbe/BUILD/FOSSaspell-0.60.4/amd64/ASPELL/0.60.4'
pkgbuild: Bad exit status from /var/tmp/pkgbuild-mwright/pkgbuild-tmp-2.6507 
(%build)
--- command output ends --- finished at Sun Mar  9 12:18:35 EST 2008

(2) From /h/goanna/2/os_5.10/kbe/build-logs/FOSSdirmngr.log:

pkgbuild:       /opt/SunStudio12/SUNWspro/bin/cc -DHAVE_CONFIG_H -I. -I..  
-DLOCALEDIR=\"/opt/foss/share/locale\" 
-DDIRMNGR_SYSCONFDIR="\"/opt/foss/etc/dirmngr\"" 
-DDIRMNGR_LIBEXECDIR="\"/opt/foss/lib/amd64\"" 
-DDIRMNGR_DATADIR="\"/opt/foss/var/lib/dirmngr\"" 
-DDIRMNGR_CACHEDIR="\"/opt/foss/var/cache/dirmngr\"" -D_REENTRANT 
-D__EXTENSIONS__ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-D_POSIX_PTHREAD_SEMANTICS -DSOLARIS -DSOLARIS10 -DNDEBUG -DNO_DEBUG -D_UNICODE 
-DUNICODE -D_XOPEN_SOURCE=600 -D_XPG6 -D_POSIX_C_SOURCE=200112L 
-D__XOPEN_OR_POSIX -D_STRICT_STDC -D_STRICT_STDC__ -D_STDC_C99  
-I/opt/foss/include -I../jnlib -I/opt/foss/include -I/opt/foss/include 
-I/opt/foss/include -I/opt/foss/include -I/opt/foss/include -Xc -errshort=full 
-errfmt=error -errwarn=%none -s -xcsi -xustr=ascii_utf16_ushort 
-xalias_level=std -features=extinl -xF=%none -xbuiltin=%all -xinline=%auto 
-xprefetch=auto -xprefetch_auto_type=indirect_array_access -xprefetch_level=3 
-xsafe=mem -xthreadvar=%all -z combreloc -z redlocsym -z nodefaultlib -z ignore 
-z now -z rescan -z absexec -xipo=0 -xldscope=symbolic -xlibmil -s -xO3 
-xregs=no%frameptr -xjobs=2 -Kpic -xrestrict=%all -xipo=0 -xtarget=opteron -m64 
-xchip=opteron -xcache=64/64/2:1024/64/16 -lm -ldl -lc -lpthread -lposix4 -lrt 
-mt -L/opt/foss/lib/amd64 -L/usr/lib/amd64 -R/opt/foss/lib/amd64 
-R/usr/lib/amd64  -c crlfetch.c
pkgbuild: "crlfetch.c", line 324: error: void function cannot return value
pkgbuild: cc: acomp failed for crlfetch.c
pkgbuild: make[3]: *** [crlfetch.o] Error 2
pkgbuild: make[3]: Leaving directory 
`/h/goanna/2/os_5.10/kbe/BUILD/FOSSdirmngr-1.0.1/amd64/DIRMNGR/1.0.1/src'
pkgbuild: make[2]: *** [all-recursive] Error 1
pkgbuild: make[2]: Leaving directory 
`/h/goanna/2/os_5.10/kbe/BUILD/FOSSdirmngr-1.0.1/amd64/DIRMNGR/1.0.1'
pkgbuild: make[1]: *** [all] Error 2
pkgbuild: make[1]: Leaving directory 
`/h/goanna/2/os_5.10/kbe/BUILD/FOSSdirmngr-1.0.1/amd64/DIRMNGR/1.0.1'
pkgbuild: Bad exit status from /var/tmp/pkgbuild-mwright/pkgbuild-tmp-2.15447 
(%build)
--- command output ends --- finished at Sun Mar  9 17:51:56 EST 2008

(3) DIRMNGR autotools issues:

- useless Linux lib64 hack in Dude/DIRMNGR/1.0.1/m4/lib-prefix.m4
makes no sense at all on Solaris.  Coded something that that
hopefully makes more sense, at least it seems to work on amd64.
I tried to code it for Ultrasparc as well, but I can not test that
since I don't have access to an Ultraspace machine.

- tries to link things without bothering to list all the libraries
it needs.

(4) gcc ism in Dude/DIRMNGR/1.0.1/tests/asschk.c.

(5) packaging nits:

pkgbuild: + cd /var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build
pkgbuild: + find .
pkgbuild: .
pkgbuild: ./opt
pkgbuild: ./opt/foss
pkgbuild: ./opt/foss/bin
pkgbuild: ./opt/foss/bin/amd64
pkgbuild: ./opt/foss/bin/amd64/dirmngr
pkgbuild: ./opt/foss/bin/amd64/dirmngr-client
pkgbuild: ./opt/foss/bin/dirmngr
pkgbuild: ./opt/foss/bin/dirmngr-client
pkgbuild: ./opt/foss/lib
pkgbuild: ./opt/foss/lib/amd64
pkgbuild: ./opt/foss/lib/amd64/dirmngr_ldap
pkgbuild: ./opt/foss/lib/dirmngr_ldap
pkgbuild: ./opt/foss/share
pkgbuild: ./opt/foss/share/locale
pkgbuild: ./opt/foss/share/locale/de
pkgbuild: ./opt/foss/share/locale/de/LC_MESSAGES
pkgbuild: ./opt/foss/share/locale/de/LC_MESSAGES/dirmngr.mo
pkgbuild: ./opt/foss/share/info
pkgbuild: ./opt/foss/share/info/dirmngr.info
pkgbuild: ./opt/foss/share/man
pkgbuild: ./opt/foss/share/man/man1
pkgbuild: ./opt/foss/share/man/man1/dirmngr.1
pkgbuild: ./opt/foss/share/man/man1/dirmngr-client.1
pkgbuild: + cd /h/goanna/2/os_5.10/kbe/BUILD
pkgbuild: + cd /h/goanna/2/os_5.10/kbe/BUILD
pkgbuild: + exit 0
pkgbuild: pkgbuild: File not found by glob: 
/var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/bin/gpg*
pkgbuild: pkgbuild: File not found by glob: 
/var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/lib/lib*.so*
pkgbuild: pkgbuild: File not found by glob: 
/var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/lib/amd64/lib*.so*
pkgbuild: pkgbuild: File not found by glob: 
/var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/bin/amd64/gpg*
pkgbuild: pkgbuild: File not found by glob: 
/var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/share/aclocal
pkgbuild: pkgbuild: File not found by glob: 
/var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/share/aclocal/*.m4
pkgbuild: pkgbuild: File not found by glob: 
/var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/include
pkgbuild: pkgbuild: File not found by glob: 
/var/tmp/pkgbuild-mwright/FOSSdirmngr-1.0.1-build/opt/foss/include/*
--- command output ends --- finished at Mon Mar 10 16:01:29 EST 2008

INFO: pkgbuild -ba finished at Mon Mar 10 16:01:29 EST 2008

ERROR: FOSSdirmngr FAILED
INFO: Check the build log in /h/goanna/2/os_5.10/kbe/build-logs/FOSSdirmngr.log 
for details

Thanks, Mark

Index: Dude/SPECS/dirmngr.pspc
===================================================================
--- Dude/SPECS/dirmngr.pspc     (revision 1517)
+++ Dude/SPECS/dirmngr.pspc     (working copy)
@@ -17,25 +17,23 @@
 %files
 %defattr (-, root, bin)
 %dir %attr (0755, root, bin) %{_bindir}
-%{_bindir}/gpg*
+%{_bindir}/dirmngr*
 %dir %attr (0755, root, bin) %{_libdir}
-%{_libdir}/lib*.so*
+%{_libdir}/dirmngr_ldap
 %ifarch amd64 sparcv9
 %dir %attr (0755, root, bin) %{_libdir}/%_arch64
-%{_libdir}/%_arch64/lib*.so*
+%{_libdir}/%_arch64/dirmngr_ldap
 %dir %attr (0755, root, bin) %{_bindir}/%_arch64
-%{_bindir}/%_arch64/gpg*
+%{_bindir}/%_arch64/dirmngr*
 %endif
 %dir %attr (0755, root, sys) %{_datadir}
-%dir %attr (0755, root, other) %{_datadir}/aclocal
-%{_datadir}/aclocal/*.m4
+%{_datadir}/locale/*/LC_MESSAGES/dirmngr.mo
 %dir %attr (0755, root, other) %{_infodir}
 %{_infodir}/*
-%dir %attr (0755, root, bin) %{_includedir}
-%{_includedir}/*
+%dir %attr (0755, root, bin) %{_mandir}
+%{_mandir}/man1/*
 
 
-
 %changelog
 * Fri Feb 1 2008 - oboril.lukas at gmail.com
 - Initial version
Index: Dude/ASPELL/0.60.4/Solaris/diffs/readonly_ws.cpp.diff
===================================================================
--- Dude/ASPELL/0.60.4/Solaris/diffs/readonly_ws.cpp.diff       (revision 1517)
+++ Dude/ASPELL/0.60.4/Solaris/diffs/readonly_ws.cpp.diff       (working copy)
@@ -1,6 +1,6 @@
 --- aspell.orig/modules/speller/default/readonly_ws.cpp        (revision 801)
 +++ aspell/modules/speller/default/readonly_ws.cpp     (working copy)
-@@ -28,12 +28,21 @@
+@@ -28,12 +28,22 @@
  //   bit    6: have affix info
  //   bit    7: have compound info
  
@@ -9,6 +9,7 @@
 +#include <cstring>
 +#include <cstdio>
 +#include <cmath>
++using std::FILE;
 +#include <math.h>
 +using namespace std;
 +
Index: Dude/DIRMNGR/1.0.1/Solaris/patch.sh
===================================================================
--- Dude/DIRMNGR/1.0.1/Solaris/patch.sh (revision 1517)
+++ Dude/DIRMNGR/1.0.1/Solaris/patch.sh (working copy)
@@ -1,3 +1,8 @@
 #!/bin/sh
 gpatch -p0 < Solaris/diffs/utf8conv.diff
-
+gpatch -p0 < Solaris/diffs/crlfetch.diff
+gpatch -p0 < Solaris/diffs/lib-prefix.diff
+gpatch -p0 < Solaris/diffs/configure_ac.diff
+gpatch -p0 < Solaris/diffs/src_Makefile_am.diff
+gpatch -p0 < Solaris/diffs/tests_Makefile_am.diff
+gpatch -p0 < Solaris/diffs/asschk.diff
Index: Dude/DIRMNGR/1.0.1/Solaris/configure.sh
===================================================================
--- Dude/DIRMNGR/1.0.1/Solaris/configure.sh     (revision 1517)
+++ Dude/DIRMNGR/1.0.1/Solaris/configure.sh     (working copy)
@@ -1,4 +1,5 @@
 #!/bin/sh
+autoreconf
 ./configure \
        --prefix=${PREFIX} \
        --bindir=${_bindir} \
Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/crlfetch.diff
===================================================================
--- Dude/DIRMNGR/1.0.1/Solaris/diffs/crlfetch.diff      (revision 0)
+++ Dude/DIRMNGR/1.0.1/Solaris/diffs/crlfetch.diff      (revision 0)
@@ -0,0 +1,13 @@
+Index: src/crlfetch.c
+===================================================================
+--- src/crlfetch.c     (revision 1512)
++++ src/crlfetch.c     (working copy)
+@@ -321,7 +321,7 @@
+ void
+ end_cert_fetch (cert_fetch_context_t context)
+ {
+-  return end_cert_fetch_ldap (context);
++  end_cert_fetch_ldap (context);
+ }
+ 
+ 
Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/tests_Makefile_am.diff
===================================================================
--- Dude/DIRMNGR/1.0.1/Solaris/diffs/tests_Makefile_am.diff     (revision 0)
+++ Dude/DIRMNGR/1.0.1/Solaris/diffs/tests_Makefile_am.diff     (revision 0)
@@ -0,0 +1,13 @@
+Index: tests/Makefile.am
+===================================================================
+--- tests/Makefile.am  (revision 1517)
++++ tests/Makefile.am  (working copy)
+@@ -11,7 +11,7 @@
+ TESTS = 
+ 
+ noinst_PROGRAMS = test-dirmngr asschk show-multi percent-escape
+-LDADD = ../jnlib/libjnlib.a $(LIBASSUAN_LIBS) $(LIBGCRYPT_LIBS) $(KSBA_LIBS)
++LDADD = ../jnlib/libjnlib.a $(LIBASSUAN_LIBS) $(LIBGCRYPT_LIBS) $(KSBA_LIBS) 
$(LIBINTL) $(LIBICONV)
+ 
+ asschk_SOURCES = asschk.c
+ 
Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/asschk.diff
===================================================================
--- Dude/DIRMNGR/1.0.1/Solaris/diffs/asschk.diff        (revision 0)
+++ Dude/DIRMNGR/1.0.1/Solaris/diffs/asschk.diff        (revision 0)
@@ -0,0 +1,22 @@
+Index: tests/asschk.c
+===================================================================
+--- tests/asschk.c     (revision 1517)
++++ tests/asschk.c     (working copy)
+@@ -188,7 +188,7 @@
+   exit (1);
+ }
+ 
+-#define die(format, args...) (die) ("%s: " format, __FUNCTION__ , ##args)
++// #define die(format, func, args...) (die)("%s: " format, __func__, ##args)
+ 
+ static void
+ err (const char *format, ...)
+@@ -288,7 +288,7 @@
+       if (opt_verbose)
+       {
+         int i;
+-        printf ("%s: read \"", __FUNCTION__);
++        printf ("%s: read \"", __func__);
+         for (i = 0; i < n; i ++)
+           putc (buf[i], stdout);
+         printf ("\"\n");
Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/lib-prefix.diff
===================================================================
--- Dude/DIRMNGR/1.0.1/Solaris/diffs/lib-prefix.diff    (revision 0)
+++ Dude/DIRMNGR/1.0.1/Solaris/diffs/lib-prefix.diff    (revision 0)
@@ -0,0 +1,52 @@
+Index: m4/lib-prefix.m4
+===================================================================
+--- m4/lib-prefix.m4   (revision 1517)
++++ m4/lib-prefix.m4   (working copy)
+@@ -166,20 +166,33 @@
+   dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
+   dnl default, namely "lib".
+   acl_libdirstem=lib
+-  searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 
's,^libraries: ,,p' | sed -e 's,^=,,'`
+-  if test -n "$searchpath"; then
+-    acl_save_IFS="${IFS=      }"; IFS=":"
+-    for searchdir in $searchpath; do
+-      if test -d "$searchdir"; then
+-        case "$searchdir" in
+-          */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+-          *) searchdir=`cd "$searchdir" && pwd`
+-             case "$searchdir" in
+-               */lib64 ) acl_libdirstem=lib64 ;;
+-             esac ;;
+-        esac
++  case $host_os in
++    solaris*)
++    acl_lib_64_arch=`isainfo | cut -f1 -d' '`
++    for ld_flag in $LDFLAGS; do
++      if (test $ld_flag = "-m64" || test $ld_flag = "-Wl,-64"); then
++        acl_libdirstem="lib/$acl_lib_64_arch"
++        break
+       fi
+     done
+-    IFS="$acl_save_IFS"
+-  fi
++    ;;
++    *)
++    searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 
's,^libraries: ,,p' | sed -e 's,^=,,'`
++    if test -n "$searchpath"; then
++      acl_save_IFS="${IFS=    }"; IFS=":"
++      for searchdir in $searchpath; do
++        if test -d "$searchdir"; then
++          case "$searchdir" in
++            */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
++            *) searchdir=`cd "$searchdir" && pwd`
++               case "$searchdir" in
++                 */lib64 ) acl_libdirstem=lib64 ;;
++               esac ;;
++          esac
++        fi
++      done
++      IFS="$acl_save_IFS"
++    fi
++    ;;
++  esac
+ ])
Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/src_Makefile_am.diff
===================================================================
--- Dude/DIRMNGR/1.0.1/Solaris/diffs/src_Makefile_am.diff       (revision 0)
+++ Dude/DIRMNGR/1.0.1/Solaris/diffs/src_Makefile_am.diff       (revision 0)
@@ -0,0 +1,26 @@
+Index: src/Makefile.am
+===================================================================
+--- src/Makefile.am    (revision 1517)
++++ src/Makefile.am    (working copy)
+@@ -47,7 +47,7 @@
+       validate.c validate.h exechelp.h exechelp.c get-path.c
+ 
+ dirmngr_LDADD = ../jnlib/libjnlib.a $(LIBOBJS) $(LIBASSUAN_PTH_LIBS)  \
+-      $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(PTH_LIBS) $(LIBINTL)
++      $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(PTH_LIBS) $(LIBINTL) $(LIBICONV)
+ 
+ if HAVE_W32_SYSTEM
+ ldap_url = ldap-url.h ldap-url.c
+@@ -60,10 +60,10 @@
+ dirmngr_ldap_CFLAGS = $(GPG_ERROR_CFLAGS)
+ dirmngr_ldap_LDFLAGS =
+ dirmngr_ldap_LDADD = $(ldap_ldadd) ../jnlib/libjnlib.a $(LIBOBJS) \
+-                   $(GPG_ERROR_LIBS) $(LDAPLIBS) $(LIBINTL)
++                   $(GPG_ERROR_LIBS) $(LDAPLIBS) $(LIBINTL) $(LIBICONV)
+ 
+ dirmngr_client_SOURCES = dirmngr-client.c i18n.h util.h b64enc.c \
+                          get-path.c no-libgcrypt.c no-libgcrypt.h 
+ dirmngr_client_LDADD = ../jnlib/libjnlib.a $(LIBOBJS) $(LIBASSUAN_LIBS) \
+-                     $(GPG_ERROR_LIBS) $(LIBINTL)
++                     $(GPG_ERROR_LIBS) $(LIBINTL) $(LIBICONV)
+ 
Index: Dude/DIRMNGR/1.0.1/Solaris/diffs/configure_ac.diff
===================================================================
--- Dude/DIRMNGR/1.0.1/Solaris/diffs/configure_ac.diff  (revision 0)
+++ Dude/DIRMNGR/1.0.1/Solaris/diffs/configure_ac.diff  (revision 0)
@@ -0,0 +1,13 @@
+Index: configure.ac
+===================================================================
+--- configure.ac       (revision 1517)
++++ configure.ac       (working copy)
+@@ -269,7 +269,7 @@
+ # guess-the-dependency by using something like ./configure
+ # LDAPLIBS="-Lfoo -lbar"
+ #
+-for MY_LDAPLIBS in ${LDAPLIBS+"$LDAPLIBS"} "-lldap" "-lldap -llber" "-lldap 
-llber -lresolv" "-lwldap32"; do
++for MY_LDAPLIBS in ${LDAPLIBS+"$LDAPLIBS"} "-lldap -llber" "-lldap" "-lldap 
-llber -lresolv" "-lwldap32"; do
+     _ldap_save_libs=$LIBS
+     LIBS="$MY_LDAPLIBS $NETLIBS $LIBS"
+
--
This message posted from opensolaris.org

Reply via email to