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: David Back
Subject: Re: [fluid-dev] pkgconfig not found
Date: Mon, 20 Nov 2017 11:58:14 +0000 (UTC)


Tom

Herewith attached the build.log as requested. I had to redirect stderr to the file as well otherwise the interesting
bit was not recorded in the file.

I do not understand your CMAKE_LINKER etc. Are these cmake -D options? I will try them later.
Do you mean for example "cmake -DCMAKE_LINKER=gcc.exe"

Compiling support for other (foreign to windows) sound systems is just a matter of using the appropriate
header files. No problem at all. I am already compiling similar support for foreign midi inputs into my project.
Obviously it wont use the interfaces when the program is run on windows but it can use them when it is
run on other operating systems. Read the fluidsynth user documentation and read up about, or even try
my eplayOrgan which uses four instances of fluidsynth. See https://midimusic.github.io/
and can redirect each output to a different sound driver.

eplayOrgan will run on ANY system as supplied, without any recompiling or other changes.

Good luck with the build.log

David

From: Tom M. <address@hidden>
To: David Back <address@hidden>
Cc: address@hidden
Sent: Sunday, 19 November 2017, 15:57
Subject: Re: [fluid-dev] pkgconfig not found

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



Attachment: build.log
Description: Binary data


reply via email to

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