[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
> >
> >
> >
>
>
>
>
>
- [fluid-dev] pkgconfig not found, David Back, 2017/11/15
- Re: [fluid-dev] pkgconfig not found, Tom M., 2017/11/16
- Re: [fluid-dev] pkgconfig not found, David Back, 2017/11/17
- Re: [fluid-dev] pkgconfig not found, Tom M., 2017/11/17
- Re: [fluid-dev] pkgconfig not found, David Back, 2017/11/17
- Re: [fluid-dev] pkgconfig not found, Tom M., 2017/11/18
- Re: [fluid-dev] pkgconfig not found, David Back, 2017/11/19
- Re: [fluid-dev] pkgconfig not found,
Tom M. <=
- Re: [fluid-dev] pkgconfig not found, David Back, 2017/11/20
- Re: [fluid-dev] pkgconfig not found, Tom M., 2017/11/20
- Re: [fluid-dev] pkgconfig not found, David Back, 2017/11/21
- Re: [fluid-dev] pkgconfig not found, Tom M., 2017/11/21
- Re: [fluid-dev] pkgconfig not found, Marcus Weseloh, 2017/11/21
- Re: [fluid-dev] pkgconfig not found, David Back, 2017/11/21
- Re: [fluid-dev] pkgconfig not found, David Back, 2017/11/21