Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV:4478] Re: [Csnd] building csound with gcc 3.3.x

Date2004-04-17 08:51
FromGabriel Maldonado
Subject[CSOUND-DEV:4478] Re: [Csnd] building csound with gcc 3.3.x
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
--

Date2004-04-18 12:29
Fromjpff@codemist.co.uk
Subject[CSOUND-DEV:4483] Re: [Csnd] building csound with gcc 3.3.x
>>>>> "Gabriel" == Gabriel Maldonado  writes:

 Gabriel> I have to fix it.
 Gabriel> However, few days ago I tried to build canonical csound_4.23f8 
 Gabriel> (downloaded at bath.ac.uk, btw: how can i get csound4 from CVS?) with 

According to the Sourceforge web site you do

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/csound login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/csound co csound

Worked for me a short while ago

That will be 4.23f11 at present.   Also there are sources etc on the
Sourceforge down load pages

http://sourceforge.net/project/showfiles.php?group_id=81968


==John ffitch