pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/43922: [www/wml] build error on Solaris 10

>Number:         43922
>Category:       pkg
>Synopsis:       [www/wml] build error on Solaris 10
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Sep 28 23:05:00 +0000 2010
>Originator:     Youssef Ghorbal
>Release:        Solaris 10
Institut Pasteur
SunOS 5.10 Generic_142900-03 sun4v sparc SUNW,SPARC-Enterprise-T5120
I know that no one is using this anymore but just for the record www/wml does 
not build on Solaris 10 because of the use of -z defs when linking a shared 
object which leeds to error message regarding missing symbols.
There is a section in the wml_backend/p2_mp4h/configure file regarding solaris

    # gcc --version < 3.0 without binutils cannot create self contained
    # shared libraries reliably, requiring libgcc.a to resolve some of
    # the object symbols generated in some cases.  Libraries that use
    # assert need libgcc.a to resolve __eprintf, for example.  Linking
    # a copy of libgcc.a into every shared library to guarantee resolving
    # such symbols causes other problems:  According to Tim Van Holder
    # <>, C++ libraries end up with a 
    # (to the application) exception stack for one thing.

ending with setting no_undefined_flag=' -z defs' which leeds to a build error
build www/wml on Solaris 10
I propose to add these lines to the Makefile : 

.if ${OPSYS} == "SunOS"
SUBST_CLASSES+=         configure
SUBST_STAGE.configure=  post-patch
SUBST_FILES.configure=  wml_backend/p2_mp4h/configure
SUBST_SED.configure=    -e "s|no_undefined_flag=' -z defs'|no_undefined_flag=|g"

This patch/workaround resolves the build issue.

Home | Main Index | Thread Index | Old Index