Project

General

Profile

Support #940

Audacious fails to build on OpenIndiana Hipster 2019.10

Added by Will B about 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Major
Assignee:
-
Category:
core
Target version:
-
Start date:
February 21, 2020
Due date:
% Done:

0%

Estimated time:
Affects version:

Description

Greetings,

When attempting to build Audacious 3.10.1 from the Audacious website source on OpenIndiana (Hipster), I receive the following error during `gmake`:

Successfully compiled audio.cc (lib).
Successfully compiled audstrings.cc (lib).
charset.cc: In function 'StringBuf str_convert(const char*, int, const char*, const char*)':
charset.cc:56:31: error: invalid conversion from 'const char**' to 'char**' [-fpermissive]
     size_t ret = iconv (conv, & in, & inbytesleft, & out, & outbytesleft);
                               ^~~~
In file included from charset.cc:24:0:
/usr/include/iconv.h:43:15: note:   initializing argument 2 of 'std::size_t iconv(iconv_t, char**, std::size_t*, char**, std::size_t*)'
 extern size_t iconv(iconv_t, char **_RESTRICT_KYWD,
               ^~~~~
At global scope:
cc1plus: warning: unrecognized command line option '-Wno-stringop-truncation'
Failed to compile charset.cc (lib)!
gmake[5]: *** [../../buildsys.mk:428: charset.lib.o] Error 1
gmake[4]: *** [../../buildsys.mk:125: all] Error 2
gmake[3]: *** [../buildsys.mk:135: libaudcore] Error 2
gmake[2]: *** [../buildsys.mk:123: all] Error 2
gmake[1]: *** [buildsys.mk:135: src] Error 2
gmake: *** [buildsys.mk:123: all] Error 2

Configure command:

./configure --prefix=/export/home/will/Apps/audacious --disable-nls

System Info:
  • OpenIndiana Hipster 2019.10
  • AMD64 arch
  • uname -a: SunOS openindiana 5.11 illumos-3b436d06bb i86pc i386 i86pc (Is actually a 64-bit system)
  • gcc --version: gcc (OpenIndiana 6.5.0-oi-2) 6.5.0

Thanks!

History

#1 Updated by John Lindgren about 4 years ago

  • Tracker changed from Bug to Support

Look at line 52:

ICONV_CONST char * in = (ICONV_CONST char *)str;

The prototype of iconv varies from system to system. You need to define it correctly for your system (to either const or nothing).

Usually autoconf will detect the correct settings for you, but it appears to be not able to handle "OpenIndiana" (whatever type of system that is, never heard of it before).

#2 Updated by Will B about 4 years ago

John Lindgren wrote:

Look at line 52:

ICONV_CONST char * in = (ICONV_CONST char *)str;

The prototype of iconv varies from system to system. You need to define it correctly for your system (to either const or nothing).

Usually autoconf will detect the correct settings for you, but it appears to be not able to handle "OpenIndiana" (whatever type of system that is, never heard of it before).

Thanks, I'll try that.

OpenIndiana is the community continuation of Sun Microsystem's OpenSolaris after Oracle closed-sourced it.

Just about everything else compiles fine on here, but some stragglers (including one of my own projects) need some tweaking.

#3 Updated by Will B about 4 years ago

It appears ICONV_CONST is actually being set to const. Audacious fails to build with it defined as such. I overrode it and set it to nothing and Audacious finally built, but when attempting to run it, it threw up an error about not finding a certain lib.

It seems like iconv is a major pain no matter what it's used in. I have had all kinds of issues on FreeBSD, Linux and OpenIndiana with iconv and wish there was something less troublesome to replace it.

I'll pass on Audacious and OpenIndiana for now. I'll have to use the included Rhythmbox for now (ugh).

#4 Updated by John Lindgren about 4 years ago

  • Status changed from New to Closed

Okay, closing.

Also available in: Atom PDF