GNOME Bugzilla – Bug 596877
New internal libcheck breaks the Solaris build
Last modified: 2010-02-09 09:51:38 UTC
The current pre-release tarball doesn't build on Solaris. The problem is with the line that extracts the symbols list for libgstcheck-0.10.so in libs/gst/check/Makefile.am. sed -n -e 's/^..*CK_EXPORT[[:space:]][[:space:]]*\([[:alnum:]_][[:alnum:]_]*\)..*$$/\1/p' @top_srcdir@/libs/gst/check/libcheck/check.h.in This doesn't work with the sed on Solaris, so none of those symbols end up exported.
Could you try changing: [[:space:]] -> \s [[:alnum:]_] -> \w
No, those don't work either. I think they are PERL regular expression extensions? This is a bit harder to read, but works on both Linux and Solaris: sed -n -e 's/^..*CK_EXPORT[ ]\{1,\}\([_0-9A-Za-z]\{1,\}\)..*$$/\1/p' @top_srcdir@/libs/gst/check/libcheck/check.h.in Apparently the sed that ships with Solaris does not support character classes. I think the sed also should become $(SED) to use the one detected by configure. Attaching a patch in a sec.
Created attachment 144407 [details] [review] Avoid SED features that don't exist on Solaris 10
Pushed: commit 274d9854729b37956a0f3916fa0e43fbd97155b3 Author: Jan Schmidt <thaytan@noraisin.net> Date: Wed Sep 30 15:52:33 2009 +0100 libgstcheck: Don't use character classes in sed expressions Apparently the sed that ships on Solaris 10 doesn't support character classes like [:alnum:], so don't use them. We don't need them for the symbol names that are being extracted anyway. Also, use $(SED) instead of 'sed' Fixes: #596877