| I have to fix it.
However, few days ago I tried to build canonical csound_4.23f8
(downloaded at bath.ac.uk, btw: how can i get csound4 from CVS?) with
mingw (that implements gcc 3.2) and I got a lot of errors (even some
files are missing). I only wanted a pure deferred-time build, and this
should be simpler to build. I don't want rtaudio nor realtime midi. So I
only enabled the following defines:
DEFINES = -DPIPES -DMACROS -DIV_SCHED -DRWD_DBFS
btw: in the makefile included in the archive there is no reference to fltk.
After tweaking the thing a little, I get all these linker errors now:
=============================
C:\csound_423f8>make
gcc -O2 -falign-loops=4 -falign-jumps=4 -ffast-math -fomit-frame-pointer
-finline-functions -funroll-loops -DWITHx87 -D
PIPES -DMACROS -DIV_SCHED -DRWD_DBFS -o csound main.o argdecode.o
musmon.o otran.o oload.o rdorch.o express.o rdscor.o l
inevent.o cscore.o cscorfns.o insert.o entry1.o entry2.o aops.o
midiops.o midirecv.o fgens.o ugens1.o ugens2.o ugens3.o
ugens4.o ugens5.o ugens6.o ugens7.o ugens8.o ugens9.o spectra.o
disprep.o window.o winascii.o csound.o dl_opcodes.o hetr
o.o lpanal.o lptrkfns.o pvanal.o pvoc.o fft.o dsputil.o sndinfo.o
sfheader.o soundin.o soundio.o ulaw.o aiff.o wave.o ie
ee80.o filopen.o memalloc.o memfiles.o auxfd.o windin.o dumpf.o
rtwin32.o scot.o scsort.o scxtract.o sread.o sort.o extr
act.o twarp.o swrite.o butter.o grain.o vdelay.o cmath.o follow.o
cvanal.o grain4.o pvinterp.o pvread.o sndwarp.o vpvoc.
o hrtferX.o winEPS.o nlfilt.o opcode.o ugrw1.o ugrw2.o ugensa.o cross2.o
dam.o midiout.o midiops2.o midisend.o wavegde.o
filter.o complex.o repluck.o pluck.o physutil.o physmod.o modal4.o
shaker.o fm4op.o diskin.o pvadd.o moog1.o singwave.o
mandolin.o space.o locsig.o dcblockr.o pvocext.o flanger.o aifc.o
lowpassr.o uggab.o biquad.o one_file.o schedule.o mid
iops3.o pitch.o getstring.o ugsc.o fout.o sndinfUG.o pvlook.o scansyn.o
sfont.o vbap.o vbap_four.o vbap_eight.o vbap_six
teen.o vbap_zak.o control.o bowedbar.o phisem.o sdif.o sdif-mem.o
babo.o ugmoss.o bbcut.o spat3d.o pvxanal.o mxfft.o pv
sanal.o pstream.o pvfileio.o oscbnk.o scansynx.o oscils.o wave-terrain.o
dnoise.o dnfft.o mididevice.o clfilt.o midiinte
rop.o -L /usr/X11R6/lib -lm
rtwin32.o(.text+0x200):rtwin32.c: multiple definition of `recopen_'
csound.o(.text+0xf20):csound.c: first defined here
rtwin32.o(.text+0x770):rtwin32.c: multiple definition of `playopen_'
csound.o(.text+0xf00):csound.c: first defined here
rtwin32.o(.text+0xc40):rtwin32.c: multiple definition of `rtclose_'
csound.o(.text+0xf40):csound.c: first defined here
rtwin32.o(.text+0xd60):rtwin32.c: multiple definition of `rtrecord_'
csound.o(.text+0xf30):csound.c: first defined here
rtwin32.o(.text+0xe80):rtwin32.c: multiple definition of `rtplay_'
csound.o(.text+0xf10):csound.c: first defined here
musmon.o(.text+0x1e95):musmon.c: undefined reference to `named_instr_find'
musmon.o(.text+0x25d7):musmon.c: undefined reference to `named_instr_find'
musmon.o(.text+0x3c4a):musmon.c: undefined reference to `named_instr_find'
otran.o(.text+0x41a):otran.c: undefined reference to `opcode_list_create'
otran.o(.text+0xadd):otran.c: undefined reference to `check_instr_name'
otran.o(.text+0xb02):otran.c: undefined reference to `find_opcode'
otran.o(.text+0xbda):otran.c: undefined reference to `find_opcode'
otran.o(.text+0xc33):otran.c: undefined reference to `opcode_list_add_entry'
otran.o(.text+0xddc):otran.c: undefined reference to `check_instr_name'
otran.o(.text+0xe35):otran.c: undefined reference to `named_instr_alloc'
otran.o(.text+0xfb2):otran.c: undefined reference to
`named_instr_assign_numbers'
otran.o(.text+0x2a91):otran.c: undefined reference to `named_instr_free'
otran.o(.text+0x2a99):otran.c: undefined reference to `opcode_list_free'
oload.o(.data+0x1d0):oload.c: undefined reference to `csoundOpenLibrary'
oload.o(.data+0x1d4):oload.c: undefined reference to `csoundCloseLibrary'
oload.o(.data+0x1d8):oload.c: undefined reference to
`csoundGetLibrarySymbol'
rdorch.o(.text+0xe5):rdorch.c: undefined reference to `strsav_destroy'
rdorch.o(.text+0x7fc):rdorch.c: undefined reference to `strsav_create'
rdorch.o(.text+0x840):rdorch.c: undefined reference to `strsav_string'
rdorch.o(.text+0x2458):rdorch.c: undefined reference to `strsav_string'
rdorch.o(.text+0x2565):rdorch.c: undefined reference to `strsav_string'
rdorch.o(.text+0x2e1c):rdorch.c: undefined reference to `strsav_string'
rdorch.o(.text+0x323a):rdorch.c: undefined reference to `strsav_string'
rdorch.o(.text+0x3339):rdorch.c: more undefined references to
`strsav_string' follow
rdorch.o(.text+0x3c19):rdorch.c: undefined reference to `find_opcode'
rdorch.o(.text+0x444a):rdorch.c: undefined reference to `find_opcode'
insert.o(.text+0x1587):insert.c: undefined reference to `strarg2insno'
insert.o(.text+0x40f7):insert.c: undefined reference to `strarg2insno'
midiops.o(.text+0x17d):midiops.c: undefined reference to `strarg2insno'
midiops.o(.text+0xe4c):midiops.c: undefined reference to `strarg2insno'
rtwin32.o(.text+0x224):rtwin32.c: undefined reference to
`waveInGetNumDevs@0'
rtwin32.o(.text+0x247):rtwin32.c: undefined reference to
`waveInGetDevCapsA@12'
rtwin32.o(.text+0x331):rtwin32.c: undefined reference to `waveInOpen@24'
rtwin32.o(.text+0x3b9):rtwin32.c: undefined reference to
`waveInGetDevCapsA@12'
rtwin32.o(.text+0x4b2):rtwin32.c: undefined reference to
`waveInPrepareHeader@12'
rtwin32.o(.text+0x4ca):rtwin32.c: undefined reference to `waveInStart@4'
rtwin32.o(.text+0x62a):rtwin32.c: undefined reference to
`waveInGetDevCapsA@12'
rtwin32.o(.text+0x798):rtwin32.c: undefined reference to
`waveOutGetNumDevs@0'
rtwin32.o(.text+0x7bb):rtwin32.c: undefined reference to
`waveOutGetDevCapsA@12'
rtwin32.o(.text+0x8a5):rtwin32.c: undefined reference to `waveOutOpen@24'
rtwin32.o(.text+0x92d):rtwin32.c: undefined reference to
`waveOutGetDevCapsA@12'
rtwin32.o(.text+0xb76):rtwin32.c: undefined reference to
`waveOutGetDevCapsA@12'
rtwin32.o(.text+0xcfc):rtwin32.c: undefined reference to `waveInStop@4'
rtwin32.o(.text+0xd08):rtwin32.c: undefined reference to `waveInReset@4'
rtwin32.o(.text+0xd13):rtwin32.c: undefined reference to `waveInClose@4'
rtwin32.o(.text+0xd34):rtwin32.c: undefined reference to `waveOutReset@4'
rtwin32.o(.text+0xd40):rtwin32.c: undefined reference to `waveOutClose@4'
rtwin32.o(.text+0xdf4):rtwin32.c: undefined reference to
`waveInPrepareHeader@12'
rtwin32.o(.text+0xe37):rtwin32.c: undefined reference to
`waveInAddBuffer@12'
rtwin32.o(.text+0xedc):rtwin32.c: undefined reference to
`waveOutUnprepareHeader@12'
rtwin32.o(.text+0xf28):rtwin32.c: undefined reference to
`waveOutPrepareHeader@12'
rtwin32.o(.text+0xf53):rtwin32.c: undefined reference to `waveOutWrite@12'
rtwin32.o(.text+0xfca):rtwin32.c: undefined reference to `waveOutReset@4'
rtwin32.o(.text+0xfd6):rtwin32.c: undefined reference to `waveOutClose@4'
rtwin32.o(.text+0x101a):rtwin32.c: undefined reference to
`waveOutGetDevCapsA@12'
rtwin32.o(.text+0xff1):rtwin32.c: undefined reference to
`waveOutGetNumDevs@0'
sread.o(.text+0x2a66):sread.c: undefined reference to `named_instr_find'
midisend.o(.text+0x21):midisend.c: undefined reference to
`midiOutShortMsg@8'
midisend.o(.text+0x57):midisend.c: undefined reference to
`midiOutShortMsg@8'
midisend.o(.text+0x85):midisend.c: undefined reference to
`midiOutShortMsg@8'
midisend.o(.text+0xb7):midisend.c: undefined reference to
`midiOutShortMsg@8'
midisend.o(.text+0xde):midisend.c: undefined reference to
`midiOutShortMsg@8'
midisend.o(.text+0x10e):midisend.c: more undefined references to
`midiOutShortMsg@8' follow
midisend.o(.text+0x2b5):midisend.c: undefined reference to
`midiOutGetNumDevs@0'
midisend.o(.text+0x336):midisend.c: undefined reference to
`midiOutGetDevCapsA@12'
midisend.o(.text+0x364):midisend.c: undefined reference to `midiOutOpen@20'
schedule.o(.text+0x590):schedule.c: undefined reference to
`named_instr_find'
schedule.o(.text+0x837):schedule.c: undefined reference to
`named_instr_find'
schedule.o(.text+0x10e7):schedule.c: undefined reference to `strarg2insno_p'
pitch.o(.text+0x68a5):pitch.c: undefined reference to `strarg2insno'
pitch.o(.text+0x6a5f):pitch.c: undefined reference to `strarg2opcno'
mididevice.o(.text+0x88):mididevice.c: undefined reference to
`midiInGetNumDevs@0'
mididevice.o(.text+0xaa):mididevice.c: undefined reference to
`midiInGetDevCapsA@12'
mididevice.o(.text+0x100):mididevice.c: undefined reference to
`midiInGetDevCapsA@12'
mididevice.o(.text+0x121):mididevice.c: undefined reference to
`midiInGetDevCapsA@12'
mididevice.o(.text+0x13c):mididevice.c: undefined reference to
`midiInGetDevCapsA@12'
mididevice.o(.text+0x157):mididevice.c: undefined reference to
`midiInGetDevCapsA@12'
mididevice.o(.text+0x175):mididevice.c: more undefined references to
`midiInGetDevCapsA@12' follow
mididevice.o(.text+0x216):mididevice.c: undefined reference to
`midiInOpen@20'
mididevice.o(.text+0x22b):mididevice.c: undefined reference to
`midiInStart@4'
mididevice.o(.text+0x44a):mididevice.c: undefined reference to
`midiInStop@4'
mididevice.o(.text+0x45f):mididevice.c: undefined reference to
`midiInReset@4'
mididevice.o(.text+0x48a):mididevice.c: undefined reference to
`midiInClose@4'
c:/Dev-Cpp/bin/../lib/gcc-lib/mingw32/3.2/../../../libmingw32.a(main.o)(.text+0x7f):main.c:
undefined reference to `WinM
ain@16'
make: *** [csound] Error 1
luis jure wrote:
> to whom it might interest, i have successfully built the version of
> csound_4.23f11 that uses the gnu build system (csound_4.23f11gbs.0).
>
> successfully, that is, using gcc 3.2.
>
> it failed, alas, with gcc version 3.3.2 unless you use the --without-fltk
> option (AFAICT, --with-fltk is on by default if fltk is detected).
>
> why? it seems gcc 3.3.x is no longer tolerant with the use of the deprecated
> strstream.h header in the csound/widgets.cpp file.
>
> a quick (and i'm sure very dirty) fix was:
>
> 77c77
> < #include
> ---
>
>>#include
>
> 1569c1569
> < strstream sbuf;
> ---
>
>> stringstream sbuf;
>
> 2764c2764
> < strstream sbuf;
> ---
>
>> stringstream sbuf;
>
>
>
> i have no idea if this is correct, but at least i got it to compile...
>
--
Gabriel Maldonado
http://csounds.com/maldonado
-- |