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