fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] pkgconfig not found


From: Tom M.
Subject: Re: [fluid-dev] pkgconfig not found
Date: Sun, 19 Nov 2017 16:57:24 +0100

It uses c++ as linker? No matter 1.1.6, 1.1.7 or master? Shouldnt happen. I 
think it's time for a full build log:

cmake -DCMAKE_VERBOSE_MAKEFILE=1 ..
make > build.log

You can try setting these cmake variables to gcc.exe
CMAKE_LINKER
CMAKE_C_LINK_EXECUTABLE
CMAKE_CXX_LINK_EXECUTABLE

> Cmake is trying to make a working program ONLY for the system it is running 
> on which is NOT what I want to do.

But this is exactly how cross platform deployment works. I dont understand why 
you want to bundle all audio drivers (even foreign ones) in a single dll. Think 
about it: How would you compile fluidsynth with ALSA or OSS support on windows? 
The ABI and calling conventions between different OSs vary. I dont see how this 
could work.

And unless you want to privately fork fluidsynth, writing a custom makefile is 
IMO the worst choice you could make. If upstream changes anything related to 
the buildsystem your build will break.

Tom


Am Sonntag, 19. November 2017, 15:40:58 CET schrieben Sie:
> Hi Tom
> I am now working with version 1.1.8. which has the same linker problem as all 
> the others.
> Thanks for your reply and am interested and surprised to hear that you do not 
> have any solution to thelinker errors.
> Having done a bit of research it appears to me (and I could easily be wrong) 
> that the problem liesin compiling fluidsynth with a c++ compiler when the 
> header files indicate to me that the program is writtenin plain old C. 
> (Please tell me if I am wrong.)
> The linker is looking to generate extra code which initialises all the  c++  
> constructors it finds. (Presumably thisis the only way to initialise a .dll 
> ). The fact that it does not find ANY constructors is probably causing the 
> error.(Inserting a dummy constructor may cure the problem).
> I think the solution may be to compile fluidsynth with a C compiler. Does 
> cmake have any option to force usingC rather than c++.  I tell it -G "MinGW 
> Makefiles" (there is no other useful option) so it does not know whetherit is 
> working with C or c++ so it goes for c++ which can (in theory) do both.
> I will have to investigate portaudio. I am currently in learning mode 
> regarding audio interfaces but it would seemto me that fluidsynth DOES have 
> the capability to contain ALL of the common audio interfaces (for Mac, 
> Linux,and Windows) and the interface it uses depends upon which one it finds 
> first when it is run. This is documentedin fluidsynth's user documentation.
> Cmake  is trying to make a working program ONLY for the system it is running 
> on which is NOT what I want todo. I suspect it would be best for me to write 
> my own makefile and I can then put what I want into it. This willavoid me 
> trying to understand the mess (which usually does work) that cmake creates.
> Best WishesDavid.
> 
>       From: Tom M. <address@hidden>
>  To: David Back <address@hidden> 
> Cc: FluidSynth Mailing List <address@hidden>
>  Sent: Saturday, 18 November 2017, 12:35
>  Subject: Re: [fluid-dev] pkgconfig not found
>    
> Ok, good to hear. You should however use 1.1.8 for your testings, as the 
> older versions are unsupported. For those linker errors I currently cant 
> provide a solution.
> 
> > I will need some extra packages to get Pulseaudio and otherLinux and mac 
> > sound drivers incorporated.
> 
> Sry, never attempted to make pulseaudio run on windows myself. 
> 
> > The whole purpose of thisexercise is to get a fluidsynth.dll which has ALL 
> > the sound drivers available so it SHOULD work on allsystems (under Wine) 
> > with minimum latency.
> 
> That would be awful job I guess, you should consider simply using portaudio, 
> as it provides exactly that kind of abstraction.
> 
> Tom
> 
> 
> Am Freitag, 17. November 2017, 21:20:24 CET schrieb David Back:
> > Tom
> > C:\MinGW32 is the correct case sensitive path, the reason for the 
> > discrepancy you foundis that I typed "dir c:\mingw32 > dir.txt" when I made 
> > the dir.txt file knowing that Windows didnot care about the case. It has 
> > printed what I typed in the file and not the actual real path.
> > As far as I know c:\mingw32\bin\libglib-2.0-0.dll did come from the 
> > official mingw source -- Iupdated mingw a few days ago. I have been careful 
> > not to "corrupt" it with any of your files.
> > The good news is that I have now got cmake working and it now runs to 
> > completion withouterrors. The solution was "belt and braces" I added the 
> > original complete unzipped foldersI downloaded from you into the 
> > c:\mingw32\deps\bin folder as well as the executable filesalready there (as 
> > in the directory listing I sent you).
> > I have run the Makefile on fluidsynth-1.1.6, fluidsynth-1.1.7 and 
> > fluidsynth-master.
> > 1.1.6 and master give a linker error "cannot find -lintl collect2.exe". The 
> > files intl.dlland collect2.exe are both in the mingw32 folder. I am not 
> > totally sure which file itcannot find because collect2.exe is in 
> > c:\mingw32\libexec\gcc\mingw32\6.3.0 andis not found when I type collect2 
> > on the command line -- though I would expect the compilerand linker to know 
> > where it was located. intl.dll is in your deps folder Looking on Googlethis 
> > type of error is quite common but I did not find any useful solution. It is 
> > important that thiserror is cured, can you help?
> > 1.1.7 has an obscure error in one of fluidsynth's  .h files and will not 
> > compile any further.It will likely have the other linker error as well. I 
> > will not bother with this version any further.
> > The two files requested are attached. Your commands to make cmake.log 
> > needed a bit of adjustment but file wasmade OK. Looking at this file myself 
> > I can see that I will need some extra packages to get Pulseaudio and 
> > otherLinux and mac sound drivers incorporated. Where am I supposed to get 
> > these? The whole purpose of thisexercise is to get a fluidsynth.dll which 
> > has ALL the sound drivers available so it SHOULD work on allsystems (under 
> > Wine) with minimum latency.
> > The project is an organ, you can download it from my website 
> > https:\\midimusic.github.io (its calledeplayOrgan, link on home page) and 
> > try it out yourself.
> > David
> > 
> > 
> > 
> >      From: Tom M. <address@hidden>
> >  To: David Back <address@hidden> 
> > Cc: FluidSynth Mailing List <address@hidden>
> >  Sent: Friday, 17 November 2017, 16:52
> >  Subject: Re: [fluid-dev] pkgconfig not found
> >    
> > Ok, your environment looks good so far. The only thing that strikes me is 
> > that your %PATH% contains C:\MinGW32 but according to `dir` it should be 
> > c:\mingw32. I know dirs are case insensitive on win, but I vaguely remeber 
> > to once have used unix software on windows that enforced case sensitivity.
> > 
> > c:\mingw32\bin\libglib-2.0-0.dll comes from mingw installation?
> > 
> > Please post:
> > 
> > pkg-config --list-all
> > 
> > rmdir fluidsynth\bluid\ /s
> > mkdir build
> > cd build
> > cmake .. > cmake.log
> > 
> > 
> > Tom
> > 
> > 
> >    
> 
> 
> 
> 
>    





reply via email to

[Prev in Thread] Current Thread [Next in Thread]