Subject: pkg/36521: audio/solfege fails to compile on NetBSD 3.1/i386
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: David H. Gutteridge <dhgutteridge@sympatico.ca>
List: pkgsrc-bugs
Date: 06/21/2007 03:45:03
>Number:         36521
>Category:       pkg
>Synopsis:       audio/solfege fails to compile on NetBSD 3.1/i386
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jun 21 03:45:03 +0000 2007
>Originator:     David H. Gutteridge
>Release:        NetBSD 3.1
>Organization:
>Environment:


System: NetBSD arcusv.nonus-porta.net 3.1 NetBSD 3.1 (ARCUSV) #0: Sat May 12 
18:56:15 EDT 2007 
root@arcusv.nonus-porta.net:/usr/src/sys/arch/macppc/compile/ARCUSV macppc
Architecture: powerpc
Machine: macppc
>Description:
When trying to compile audio/solfege, I've run into multiple problems.

Problem number one:

cc -O2 -march=athlon-tbird -pipe -I/usr/pkg/include 
-I/usr/pkg/include/python2.4 -I/usr/include
-I/usr/pkg/include/freetype2 -I/usr/X11R6/include -I/usr/src/linux/include 
-Wall -pedantic -fPIC
-DHAVE_CONFIG_H  -O2 -march=athlon-tbird -pipe -I/usr/pkg/include 
-I/usr/pkg/include/python2.4
-I/usr/include -I/usr/pkg/include/freetype2 -I/usr/X11R6/include 
-I/usr/src/linux/include -Wall
-pedantic -fPIC -I/usr/pkg/include -I/usr/pkg/include/python2.4 
-I/usr/include -I/usr/pkg/includ
e/freetype2 -I/usr/X11R6/include  -c -o soundcard/macro_to_function.o 
soundcard/macro_to_functio
n.c
soundcard/macro_to_function.c: In function `seq_bender':
soundcard/macro_to_function.c:38: warning: implicit declaration of function 
`SEQ_BENDER'
soundcard/macro_to_function.c: In function `seq_start_note':
soundcard/macro_to_function.c:47: warning: implicit declaration of function 
`SEQ_START_NOTE'
soundcard/macro_to_function.c: In function `seq_stop_note':
soundcard/macro_to_function.c:56: warning: implicit declaration of function 
`SEQ_STOP_NOTE'
soundcard/macro_to_function.c: In function `seq_set_patch':
soundcard/macro_to_function.c:64: warning: implicit declaration of function 
`SEQ_SET_PATCH'
soundcard/macro_to_function.c:65: error: parse error before '}' token
soundcard/macro_to_function.c: In function `seq_delta_time':
soundcard/macro_to_function.c:72: warning: implicit declaration of function 
`SEQ_DELTA_TIME'
soundcard/macro_to_function.c: In function `seq_start_timer':
soundcard/macro_to_function.c:81: warning: implicit declaration of function 
`SEQ_START_TIMER'
gmake: *** [soundcard/macro_to_function.o] Error 1
*** Error code 2

Stop.
make: stopped in /usr/pkgsrc/audio/solfege
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/audio/solfege

That was trivial to fix (see "fix" area entry).

Then the very next file to be compiled spews out more errors.

cc -O2 -march=athlon-tbird -pipe -I/usr/pkg/include 
-I/usr/pkg/include/python2.4 -I/usr/include
-I/usr/pkg/include/freetype2 -I/usr/X11R6/include -I/usr/src/linux/include 
-Wall -pedantic -fPIC
-DHAVE_CONFIG_H  -O2 -march=athlon-tbird -pipe -I/usr/pkg/include 
-I/usr/pkg/include/python2.4
-I/usr/include -I/usr/pkg/include/freetype2 -I/usr/X11R6/include 
-I/usr/src/linux/include -Wall
-pedantic -fPIC -I/usr/pkg/include -I/usr/pkg/include/python2.4 
-I/usr/include -I/usr/pkg/includ
e/freetype2 -I/usr/X11R6/include  -c -o soundcard/macro_to_function.o 
soundcard/macro_to_functio
n.c
soundcard/macro_to_function.c: In function `seq_bender':
soundcard/macro_to_function.c:38: warning: implicit declaration of function 
`SEQ_BENDER'
soundcard/macro_to_function.c: In function `seq_start_note':
soundcard/macro_to_function.c:47: warning: implicit declaration of function 
`SEQ_START_NOTE'
soundcard/macro_to_function.c: In function `seq_stop_note':
soundcard/macro_to_function.c:56: warning: implicit declaration of function 
`SEQ_STOP_NOTE'
soundcard/macro_to_function.c: In function `seq_set_patch':
soundcard/macro_to_function.c:64: warning: implicit declaration of function 
`SEQ_SET_PATCH'
soundcard/macro_to_function.c: In function `seq_delta_time':
soundcard/macro_to_function.c:72: warning: implicit declaration of function 
`SEQ_DELTA_TIME'
soundcard/macro_to_function.c: In function `seq_start_timer':
soundcard/macro_to_function.c:81: warning: implicit declaration of function 
`SEQ_START_TIMER'
cc -O2 -march=athlon-tbird -pipe -I/usr/pkg/include 
-I/usr/pkg/include/python2.4 -I/usr/include
-I/usr/pkg/include/freetype2 -I/usr/X11R6/include -I/usr/src/linux/include 
-Wall -pedantic -fPIC
-DHAVE_CONFIG_H  -O2 -march=athlon-tbird -pipe -I/usr/pkg/include 
-I/usr/pkg/include/python2.4
-I/usr/include -I/usr/pkg/include/freetype2 -I/usr/X11R6/include 
-I/usr/src/linux/include -Wall
-pedantic -fPIC -I/usr/pkg/include -I/usr/pkg/include/python2.4 
-I/usr/include -I/usr/pkg/includ
e/freetype2 -I/usr/X11R6/include  -c -o soundcard/solfege_c_midi.o 
soundcard/solfege_c_midi.c
soundcard/solfege_c_midi.c:30: error: parse error before numeric constant
soundcard/solfege_c_midi.c:30: warning: type defaults to `int' in 
declaration of `SEQ_DEFINEBUF'
soundcard/solfege_c_midi.c:30: error: ISO C forbids data definition with no 
type or storage clas
s
soundcard/solfege_c_midi.c: In function `seqbuf_dump':
soundcard/solfege_c_midi.c:35: error: `_seqbufptr' undeclared (first use in 
this function)
soundcard/solfege_c_midi.c:35: error: (Each undeclared identifier is 
reported only once
soundcard/solfege_c_midi.c:35: error: for each function it appears in.)
soundcard/solfege_c_midi.c:36: error: `_seqbuf' undeclared (first use in 
this function)
soundcard/solfege_c_midi.c: In function `sndctl_seq_nrsynths':
soundcard/solfege_c_midi.c:44: error: `SNDCTL_SEQ_NRSYNTHS' undeclared 
(first use in this functi
on)
soundcard/solfege_c_midi.c:55:36: macro "ioctl" requires 3 arguments, but 
only 2 given
soundcard/solfege_c_midi.c: In function `sndctl_tmr_timebase':
soundcard/solfege_c_midi.c:69: error: `SNDCTL_TMR_TIMEBASE' undeclared 
(first use in this functi
on)
soundcard/solfege_c_midi.c: In function `sndctl_tmr_tempo':
soundcard/solfege_c_midi.c:82: error: `SNDCTL_TMR_TEMPO' undeclared (first 
use in this function)
soundcard/solfege_c_midi.c: In function `sndctl_seq_gettime':
soundcard/solfege_c_midi.c:91: error: `SNDCTL_SEQ_GETTIME' undeclared (first 
use in this functio
n)
soundcard/solfege_c_midi.c: In function `get_synth_name':
soundcard/solfege_c_midi.c:104: error: storage size of `si' isn't known
soundcard/solfege_c_midi.c:106: error: `SNDCTL_SYNTH_INFO' undeclared (first 
use in this functio
n)
soundcard/solfege_c_midi.c:104: warning: unused variable `si'
soundcard/solfege_c_midi.c: In function `get_synth_nr_voices':
soundcard/solfege_c_midi.c:116: error: storage size of `si' isn't known
soundcard/solfege_c_midi.c:118: error: `SNDCTL_SYNTH_INFO' undeclared (first 
use in this functio
n)
soundcard/solfege_c_midi.c:116: warning: unused variable `si'
gmake: *** [soundcard/solfege_c_midi.o] Error 1
*** Error code 2

Stop.
make: stopped in /usr/pkgsrc/audio/solfege
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/audio/solfege

It appears it's expecting functionality that doesn't exist (at least in
that guise) in NetBSD.

>How-To-Repeat:

>Fix:
The fix for the first problem is trivial:

--- macro_to_function.c.orig    2007-05-10 05:21:47.000000000 -0400
+++ macro_to_function.c 2007-06-08 00:19:56.000000000 -0400
@@ -61,7 +61,7 @@
#ifdef be_verbose
   printf("set_patch devnum:%i, chan:%i, patch:%i\n", devnum, chan, patch);
#endif
-  SEQ_SET_PATCH(devnum, chan, patch)
+  SEQ_SET_PATCH(devnum, chan, patch);
}

void seq_delta_time(int ticks)

After that, it started to seem a bit more complicated...


>Unformatted: