[kde-solaris] arts fails to build on OpenSolaris

Stefan Teleman steleman at nyc.rr.com
Sun Mar 5 05:00:42 CET 2006


On Saturday 04 March 2006 22:37, segv at netctl.net wrote:
> Hi, I'm building audio/arts from NetBSD's pkgsrc on OpenSolaris
> with SunStudio 11 compilers. It fails with the following message.
> Any ideas how to fix this?
>

> /opt/pkg.obj/audio/arts/work.e450-dsl/arts-1.5.1/mcop/.libs/libmcop
>.so: linked to ../mcop/.libs/libmcop.so: attempted multiple
> inclusion of file Undefined                       first referenced
>  symbol                             in file
> gsl_g_log                          
> ../flow/gsl/.libs/libgsl.a(gslartsthreads.o)
> gsl_g_print_fd         
>              ../flow/gsl/.libs/libgsl.a(gslartsthreads.o) ld:
> fatal: Symbol referencing errors. No output written
> to .libs/libartsflow.so.1.0.0 gmake[3]: 

You have to patch, compile and link in gslglib.c (which requires 
gslglib.h) -- which is in arts-1.5.1/flow/gsl and which defines these 
two functions:

/* gslglib.h */
#ifndef GSLGLIB_H
#define GSLGLIB_H

#include <glib.h>

void gsl_g_log (const gchar*msg,const char *format, va_list ap);
void gsl_g_print_fd (int fd, const char *format, va_list ap);

#endif

/* gslglib.h */

/* gslglib.c */
#include "gslglib.h"

#include <stdio.h>

void
gsl_g_log (const gchar*msg, const char *format, va_list ap)
{
  if (msg) printf ("\n%s",msg);
  vprintf(format, ap);
  if (msg) printf ("\n");
}

void
gsl_g_print_fd (int fd, const char *format, va_list ap)
{
    g_return_if_fail (fd == 1 || fd == 2);
    if (fd == 1)
       vprintf (format, ap);
     else
       vfprintf (stderr, format, ap);
}

/* gslglib.c */

You may want to review the SunStudio arts patches for KDE 3.4.3 (arts 
hasn't changed between arts-1.4.3 and arts-1.5.1).

--Stefan

-- 
Stefan Teleman          'Nobody Expects the Spanish Inquisition'
steleman at nyc.rr.com                          -Monty Python


More information about the kde-solaris mailing list