Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] compiling again

Date2007-10-25 04:22
From"Michael Gogins"
SubjectRe: [Cs-dev] compiling again
What version of MinGW do you have? And especially of the MinGW runtime (i.e. 
the MinGW versions of the Windows runtime libraries)? These appear to be the 
source of the problem. DeleteObject and CreateCompatibleBitmap are in 
gdi32.lib (Microsoft) or libgdi32.a (MinGW).

The most obvious explanation is that your MinGW installation is incorrect or 
corrupt, since normally finding these libraries is no problem. My guess is 
that MSys doesn't know where MinGW is. You can fix this (see MinGW/MSys 
installation documentation).

Try adding the MinGW lib directory to your custom.py. Or tear MinGW/MSys out 
and reinstall them, but don't be in a big hurry to do that without trying 
other things first. You could try installing the MinGW runtime, and also 
verifying that you can link a test program, like this:

#include 

int main(int argc, char *argv)
{
    DeleteObject(0);
    return 0;
}

g++ main.cpp -o test.exe -lgdi32

The linker options are set in custom.py and SConstruct using statements such 
as:

environment.Append(LINKFLAGS = ['flag1', 'flag2'])

for static libraries, or for dynamic libraries:

environment.Append(SHLINKFLAGS = ['flag1', 'flag2'])

Hope this helps,
Mike



----- Original Message ----- 
From: "Oeyvind Brandtsegg" 
To: "Developer discussions" 
Sent: Wednesday, October 24, 2007 6:30 PM
Subject: Re: [Cs-dev] compiling again


> Ah, please do walk me through this a little more detailed.
>
> I downloaded a freash fltk1.1.7 and compiled with threads and graphic 
> libraries:
> sh 
> configure --enable-threads --enable-localjpeg --enable-localzlib --enable-
> localpng
> make
>
> I still get the same error when compiling csoundAC.
>
> You write:
>> you may not be
>> linking with some of the Windows COM libraries (which can be found as 
>> static
>> libs in MinGW), or just possibly, your linker options are incorrect (you
>> need to link with "symbol@argsize" through plain "symbol").
>
> I am unsure how to set my linker options (where to do it and how),
> and could you specify what COM libraries and where they should reside ?
>
> best
> Oeyvind
>
> 2007/10/24, Michael Gogins :
>> Yes. You should build FLTK with its own graphics libraries and with 
>> threads
>> enabled. But it also looks from the undefined symbols like you may not be
>> linking with some of the Windows COM libraries (which can be found as 
>> static
>> libs in MinGW), or just possibly, your linker options are incorrect (you
>> need to link with "symbol@argsize" through plain "symbol"). First try the
>> FLTK rebuild, then look for the undefined symbols in the FLTK libs, then
>> look at your build flags (which should have been correctly set by
>> SConstruct).
>>
>> Hope this helps,
>> Mike
>>
>> ----- Original Message -----
>> From: "Oeyvind Brandtsegg" 
>> To: "Developer discussions" 
>> Sent: Wednesday, October 24, 2007 3:22 AM
>> Subject: Re: [Cs-dev] compiling again
>>
>>
>> > Thanks for the answer, Michael.
>> >
>> > I have the vstsdk in the same (corresponding) location as you.
>> > For example, my audioeffectx.h is in:
>> > C:\msys\1.0\source\csound5\frontends\CsoundVST\vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.h
>> >
>> > Now, I went over my custom.py and discovered I had not set
>> > customLIBPATH for the FLTK libs (only customCPPPATH). There might have
>> > been a version conflict with fltk as I had a libfltk.a lying around in
>> > my local/lib
>> > Updating the customLIBPATH let me compile csound with FLTK without
>> > commenting out lines in widglobals.h
>> >
>> > Now I can also compile vst4cs, probably also related to the cleaning
>> > up of libraries (?)
>> > I can also compile csoundVST (without csoundAC).
>> >
>> > But, csoundAC still remains. I get several pages of undefined reference 
>> > to
>> > xx,
>> > I edited the console print below to only include the first and last of
>> > those.
>> > It seems it could still have something to do with fltk ?
>> >
>> > g++ -Wl,--enable-runtime-pseudo-reloc --subsystem:windows -shared
>> > -Wl,--add-stdcall-alias -o CsoundAC.dll frontends\CsoundAC\Cell.o
>> > frontends\CsoundAC\Composition.o frontends\CsoundAC\Conversions.o
>> > frontends\CsoundAC\Counterpoint.o
>> > frontends\CsoundAC\CounterpointNode.o frontends\CsoundAC\Event.o
>> > frontends\CsoundAC\Hocket.o frontends\CsoundAC\ImageToScore.o
>> > frontends\CsoundAC\Lindenmayer.o frontends\CsoundAC\MCRM.o
>> > frontends\CsoundAC\Midifile.o frontends\CsoundAC\MusicModel.o
>> > frontends\CsoundAC\Node.o frontends\CsoundAC\Random.o
>> > frontends\CsoundAC\Rescale.o frontends\CsoundAC\Score.o
>> > frontends\CsoundAC\ScoreNode.o frontends\CsoundAC\Sequence.o
>> > frontends\CsoundAC\Shell.o frontends\CsoundAC\Soundfile.o
>> > frontends\CsoundAC\StrangeAttractor.o frontends\CsoundAC\System.o
>> > frontends\CsoundAC\Voicelead.o frontends\CsoundAC\VoiceleadingNode.o
>> > -L. -L. -L\usr\local\lib -L. -L. -LC:\msys\1.0\source\libsndfile_pre
>> > -LC:\msys\1.0\source\fltk-1.1.x-r5567\lib -LC:\Python24\Libs
>> > -lpython24 -lcsnd -lpython24 -lstdc++ -lsupc++ -lkernel32 -lgdi32
>> > -lwsock32 -lws2_32 -lole32 -luuid -lwinmm -lkernel32 -lgdi32 -lwsock32
>> > -lws2_32 -lole32 -luuid -lwinmm -lcsound32 -lsndfile -lfltk
>> > -lfltk_images -lfltk_png -lfltk_jpeg -lfltk_z
>> > -Wl,--out-implib,libCsoundAC.a -Wl,--output-def,CsoundAC.def
>> > Creating library file: libCsoundAC.a
>> > C:\msys\1.0\source\fltk-1.1.x-r5567\lib/libfltk.a(Fl_Pixmap.o)(.text+0x12a):Fl_Pixmap.cxx:
>> > undefined reference to `CreateCompatibleBitmap@12'
>> > <...snip...>
>> > C:\msys\1.0\source\fltk-1.1.x-r5567\lib/libfltk.a(fl_line_style.o)(.text+0xe8):fl_line_style.cxx:
>> > undefined reference to `DeleteObject@4'
>> > collect2: ld returned 1 exit status
>> > scons: building terminated because of errors.
>> > scons: *** [CsoundAC.dll] Error 1
>> >
>> >
>> >
>> > 2007/10/24, Michael Gogins :
>> >> OK, I have the following directory structure, which results from 
>> >> copying
>> >> the
>> >> entire VST SDK without alteration or omission into the
>> >> frontends/CsoundVST
>> >> directory:
>> >>
>> >> frontends\CsoundVST\vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.h
>> >> ,
>> >> and everything else from the VST SDK in corresponding places.
>> >>
>> >> That is exactly where vsthost.h is hard-coded to find it:
>> >>
>> >> #include
>> >> "../../../frontends/CsoundVST/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.h"
>> >>
>> >> Perhaps we should change the source code not to use a complete path, 
>> >> but
>> >> just part of the path, e.g.
>> >>
>> >> #include "public.sdk/source/vst2.x/audioeffectx.h"
>> >>
>> >> That is the pattern used by the VST SDK samples.
>> >>
>> >> Also, in my custom.py I have:
>> >>
>> >> ################################################################
>> >> # If you want to build vst4cs or CsoundVST you need the include
>> >> # path to the VST SDK header files. Add them there:
>> >> customCPPPATH.append(r'D:\utah\home\mkg\projects\csoundd\frontends\CsoundVST\vstsdk2.4')
>> >>
>> >> This seems to be required for building vst4cs.
>> >>
>> >> Obviously I have no trouble building all these things. Perhaps you are
>> >> only
>> >> trying to build some? Or perhaps you have an old VST SDK in your 
>> >> include
>> >> path?
>> >>
>> >> If you are still having problems let me know, in detail, what happened
>> >> and I
>> >> will look at it ASAP.
>> >>
>> >> Hope this helps,
>> >> Mike
>> >>
>> >> ----- Original Message -----
>> >> From: "Oeyvind Brandtsegg" 
>> >> To: "Michael Gogins" ; "Developer discussions"
>> >> 
>> >> Sent: Monday, October 22, 2007 3:38 PM
>> >> Subject: Re: [Cs-dev] compiling again
>> >>
>> >>
>> >> > I'm on winXP, using mingw/gcc3.4.3, scons0.96, boost1.31.1.
>> >> > I have vstsdk2.4 in frontends\CsoundVST\vstsdk2.4.
>> >> > best
>> >> > Oeyvind
>> >> >
>> >> >
>> >> > 2007/10/22, Michael Gogins :
>> >> >> What operating system are we talking about here? And what
>> >> >> architecture?
>> >> >>
>> >> >> Regards,
>> >> >> Mike
>> >> >>
>> >> >> -----Original Message-----
>> >> >> >From: Oeyvind Brandtsegg 
>> >> >> >Sent: Oct 22, 2007 10:11 AM
>> >> >> >To: Developer discussions 
>> >> >> >Subject: Re: [Cs-dev] compiling again
>> >> >> >
>> >> >> >Yes, that's what I figured too.
>> >> >> >But it still does not compile FLTK without commenting out those 
>> >> >> >lines
>> >> >> >in widglobals.h.
>> >> >> >It also will not compile csoundVST, vst4cs or csoundAC.
>> >> >> >
>> >> >> >Michael, when you get time, please get back to this.
>> >> >> >
>> >> >> >best
>> >> >> >Oeyvind
>> >> >> >
>> >> >> >2007/10/22, Victor Lazzarini :
>> >> >> >> I think it goes under ./frontends/CsoundVST
>> >> >> >>
>> >> >> >> you'll copy the vstsdk2.4 directory there
>> >> >> >>
>> >> >> >> Victor
>> >> >> >>
>> >> >> >> At 12:38 21/10/2007, you wrote:
>> >> >> >> >Thanks for the help.
>> >> >> >> >
>> >> >> >> >Now this is a status report:
>> >> >> >> >
>> >> >> >> >* Building without FLTK works
>> >> >> >> >* Commenting out the lines in widglobals.h, let me compile with
>> >> >> >> >FLTK
>> >> >> >> >(the file resides in /InOut, not in /H)
>> >> >> >> >* I do have the VST SDK installed, and I do have the file
>> >> >> >> >Opcodes/vst4cs/src/vsthost.h,
>> >> >> >> >Michael: where should the VSK SDK be installed
>> >> >> >> >
>> >> >> >> >On a related subject,
>> >> >> >> >I tried compiling with vst4cs but get this error:
>> >> >> >> >In file included from InOut\widgets.cpp:24:
>> >> >> >> >InOut\/widglobals.h:240: error: `VSTPlugin' was not declared in
>> >> >> >> >this
>> >> >> >> >scope
>> >> >> >> >InOut\/widglobals.h:240: error: template argument 1 is invalid
>> >> >> >> >InOut\/widglobals.h:240: error: template argument 2 is invalid
>> >> >> >> >InOut\/widglobals.h:240: error: ISO C++ forbids declaration of
>> >> >> >> >`VSTplugEditors' with no type
>> >> >> >> >InOut\/widglobals.h:241: error: `VSTPlugin' was not declared in
>> >> >> >> >this
>> >> >> >> >scope
>> >> >> >> >InOut\/widglobals.h:241: error: template argument 1 is invalid
>> >> >> >> >InOut\/widglobals.h:241: error: template argument 2 is invalid
>> >> >> >> >InOut\/widglobals.h:241: error: ISO C++ forbids declaration of
>> >> >> >> >`vstPlugins' with no type
>> >> >> >> >scons: building terminated because of errors.
>> >> >> >> >scons: *** [InOut\widgets.o] Error 1
>> >> >> >> >
>> >> >> >> >best
>> >> >> >> >Oeyvind
>> >> >> >> >
>> >> >> >> >
>> >> >> >> >2007/10/21, Victor Lazzarini :
>> >> >> >> > > I had this error, this is because SConstruct
>> >> >> >> > > can't find the VST headers. It's actually
>> >> >> >> > > what I would describe as a PITA. I alerted the list,
>> >> >> >> > > but none cared to do anything about it.
>> >> >> >> > > You can do two things:
>> >> >> >> > > (a) don't compile with FLTK
>> >> >> >> > > (b) if you need FLTK, go and comment out
>> >> >> >> > > the following lines in H/widglobals.h:
>> >> >> >> > > (c) install the VST SDK where Michael Gogins
>> >> >> >> > > tells you to.
>> >> >> >> > >
>> >> >> >> > > #ifdef CS_VSTHOST
>> >> >> >> > > /* for the moment, to be able to build FLTK
>> >> >> >> > >   without VST, until a fix is found */
>> >> >> >> > > /* #include "Opcodes/vst4cs/src/vsthost.h" */
>> >> >> >> > > #endif
>> >> >> >> > >
>> >> >> >> > > I think this needs to be sorted out better, I
>> >> >> >> > > am really unhappy about it. This has to do with
>> >> >> >> > > the FLTK panel for VST host opcodes. But even if
>> >> >> >> > > you don't build with these, when scons reads
>> >> >> >> > > widglobals.h it tries to find all header files
>> >> >> >> > > listed there (and ignores #ifdefs). Then fails
>> >> >> >> > > because it can't find it.
>> >> >> >> > >
>> >> >> >> > > But I think it's just a mess.
>> >> >> >> > >
>> >> >> >> > > Victor
>> >> >> >> > >
>> >> >> >> > > >
>> >> >> >> > > > I got one step further by installing an older version of
>> >> >> >> > > > scons that I had lying around (version 0.96). This gets me
>> >> >> >> > > > through to the actual building stag, but stops on this
>> >> >> >> > > > error:
>> >> >> >> > > >
>> >> >> >> > > > scons: done reading SConscript files.
>> >> >> >> > > > scons: Building targets ...
>> >> >> >> > > > scons: building terminated because of errors.
>> >> >> >> > > > scons: *** ParentOfRoot instance has no attribute
>> >> >> >> > > > 'must_be_a_Dir'
>> >> >> >> > > >
>> >> >> >> > > > What version of scons do you use ? Should it work with
>> >> >> >> > > > 0.96 ? >From a quick web search it seems that "older
>> >> >> >> > > > versions" (whatever that is) did not allow relative paths
>> >> >> >> > > > like ../ I would use the newest scons, but that one gives
>> >> >> >> > > > the UnicodeDecode errors for me.
>> >> >> >> > > >
>> >> >> >> > > > Oeyvind
>> >> >> >> > > >
>> >> >> >> > > > ----------------------------------------------------------
>> >> >> >> > > > --------------- This SF.net email is sponsored by: Splunk
>> >> >> >> > > > Inc. Still grepping through log files to find problems?
>> >> >> >> > > > Stop. Now Search log events and configuration files using
>> >> >> >> > > > AJAX and a browser. Download your FREE copy of Splunk now
>> >> >> >> > > > >> http://get.splunk.com/
>> >> >> >> > > > _______________________________________________
>> >> >> >> > > > Csound-devel mailing list
>> >> >> >> > > > Csound-devel@lists.sourceforge.net
>> >> >> >> > > > https://lists.sourceforge.net/lists/listinfo/csound-devel
>> >> >> >> > >
>> >> >> >> > > -------------------------------------------------------------------------
>> >> >> >> > > This SF.net email is sponsored by: Splunk Inc.
>> >> >> >> > > Still grepping through log files to find problems?  Stop.
>> >> >> >> > > Now Search log events and configuration files using AJAX and 
>> >> >> >> > > a
>> >> >> >> > > browser.
>> >> >> >> > > Download your FREE copy of Splunk now >> 
>> >> >> >> > > http://get.splunk.com/
>> >> >> >> > > _______________________________________________
>> >> >> >> > > Csound-devel mailing list
>> >> >> >> > > Csound-devel@lists.sourceforge.net
>> >> >> >> > > https://lists.sourceforge.net/lists/listinfo/csound-devel
>> >> >> >> > >
>> >> >> >> >
>> >> >> >> >-------------------------------------------------------------------------
>> >> >> >> >This SF.net email is sponsored by: Splunk Inc.
>> >> >> >> >Still grepping through log files to find problems?  Stop.
>> >> >> >> >Now Search log events and configuration files using AJAX and a
>> >> >> >> >browser.
>> >> >> >> >Download your FREE copy of Splunk now >> http://get.splunk.com/
>> >> >> >> >_______________________________________________
>> >> >> >> >Csound-devel mailing list
>> >> >> >> >Csound-devel@lists.sourceforge.net
>> >> >> >> >https://lists.sourceforge.net/lists/listinfo/csound-devel
>> >> >> >>
>> >> >> >> Victor Lazzarini
>> >> >> >> Music Technology Laboratory
>> >> >> >> Music Department
>> >> >> >> National University of Ireland, Maynooth
>> >> >> >>
>> >> >> >>
>> >> >> >> -------------------------------------------------------------------------
>> >> >> >> This SF.net email is sponsored by: Splunk Inc.
>> >> >> >> Still grepping through log files to find problems?  Stop.
>> >> >> >> Now Search log events and configuration files using AJAX and a
>> >> >> >> browser.
>> >> >> >> Download your FREE copy of Splunk now >> http://get.splunk.com/
>> >> >> >> _______________________________________________
>> >> >> >> Csound-devel mailing list
>> >> >> >> Csound-devel@lists.sourceforge.net
>> >> >> >> https://lists.sourceforge.net/lists/listinfo/csound-devel
>> >> >> >>
>> >> >> >
>> >> >> >-------------------------------------------------------------------------
>> >> >> >This SF.net email is sponsored by: Splunk Inc.
>> >> >> >Still grepping through log files to find problems?  Stop.
>> >> >> >Now Search log events and configuration files using AJAX and a
>> >> >> >browser.
>> >> >> >Download your FREE copy of Splunk now >> http://get.splunk.com/
>> >> >> >_______________________________________________
>> >> >> >Csound-devel mailing list
>> >> >> >Csound-devel@lists.sourceforge.net
>> >> >> >https://lists.sourceforge.net/lists/listinfo/csound-devel
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> -------------------------------------------------------------------------
>> >> >> This SF.net email is sponsored by: Splunk Inc.
>> >> >> Still grepping through log files to find problems?  Stop.
>> >> >> Now Search log events and configuration files using AJAX and a
>> >> >> browser.
>> >> >> Download your FREE copy of Splunk now >> http://get.splunk.com/
>> >> >> _______________________________________________
>> >> >> Csound-devel mailing list
>> >> >> Csound-devel@lists.sourceforge.net
>> >> >> https://lists.sourceforge.net/lists/listinfo/csound-devel
>> >> >>
>> >> >
>> >> > -------------------------------------------------------------------------
>> >> > This SF.net email is sponsored by: Splunk Inc.
>> >> > Still grepping through log files to find problems?  Stop.
>> >> > Now Search log events and configuration files using AJAX and a 
>> >> > browser.
>> >> > Download your FREE copy of Splunk now >> http://get.splunk.com/
>> >> > _______________________________________________
>> >> > Csound-devel mailing list
>> >> > Csound-devel@lists.sourceforge.net
>> >> > https://lists.sourceforge.net/lists/listinfo/csound-devel
>> >>
>> >>
>> >> -------------------------------------------------------------------------
>> >> This SF.net email is sponsored by: Splunk Inc.
>> >> Still grepping through log files to find problems?  Stop.
>> >> Now Search log events and configuration files using AJAX and a 
>> >> browser.
>> >> Download your FREE copy of Splunk now >> http://get.splunk.com/
>> >> _______________________________________________
>> >> Csound-devel mailing list
>> >> Csound-devel@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/csound-devel
>> >>
>> >
>> > -------------------------------------------------------------------------
>> > This SF.net email is sponsored by: Splunk Inc.
>> > Still grepping through log files to find problems?  Stop.
>> > Now Search log events and configuration files using AJAX and a browser.
>> > Download your FREE copy of Splunk now >> http://get.splunk.com/
>> > _______________________________________________
>> > Csound-devel mailing list
>> > Csound-devel@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/csound-devel
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Splunk Inc.
>> Still grepping through log files to find problems?  Stop.
>> Now Search log events and configuration files using AJAX and a browser.
>> Download your FREE copy of Splunk now >> http://get.splunk.com/
>> _______________________________________________
>> Csound-devel mailing list
>> Csound-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel 


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net