|
From: Benno S. <ben...@go...> - 2007-12-05 18:45:56
|
Hi Brian and others, I compiled linuxsampler on mingw and tried to to create shared lib for it ( liblinuxsampler DLL) but it still does not work. here is the Makefile we are using http://cvs.linuxsampler.org/cgi-bin/viewcvs.cgi/linuxsampler/src/Makefile.am?rev=1.24&content-type=text/vnd.viewcvs-markup and here you see the full compile output, http://download.linuxsampler.org/dev/win32_probs/linuxsampler-compile-out.txt the relevant part is from line 477 to 514 on the contrary libgig used by linuxsampler compiles fine as a shared DLL. here you can see the full compile log: http://download.linuxsampler.org/dev/win32_probs/libgig-compile-output.txt the linking part which generates the DLL is at line 71 any idea how to convince autotools to generate liblinuxsampler.dll instead linuxsampler.a when compiling linuxsampler ? thanks in advance, cheers, Benno http://www.linuxsampler.org 2007/12/5, Benno Senoner <ben...@go...>: > > thank you very much for your tips Brian, > > yes dirname was already installed > ----- > $ dirname --version > dirname (GNU sh-utils) 2.0 > Written by David MacKenzie and Jim Meyering. > ----- > > anyway while compiling the main linuxsampler package on mingw > (which is mainly a collection of classes which get built as > liblinuxsampler and then > a small main app which links to liblinuxsampler in addition to libgig used > to read the sample file format ) > I have problems autotools generating only static libs, even after > installing the 'file' utility (which except for make install did the trick > for libgig). > > compiling linuxsampler on linux generated dynamic libs as default > and everything is ok. > on mingw it generates only the static libs but gives no errors or warnings > other than the warning: > libtool: link: warning: undefined symbols not allowed in i686-pc-mingw32 > shared libraries > > ------------------------------- > > /bin/sh ../libtool --mode=link g++ -Wreturn-type -ffast-math -O3 -Wall > -msse -march=pentium4 -mfpmath=sse -ffast-math -fomit-frame-pointer > -funroll-loo > ps -msse -o liblinuxsampler.la -rpath /usr/local/lib/linuxsampler > -version-info 1:0:0 Sampler.lo ../src/db/liblinuxsamplerdb.la > ../src/network/libli > nuxsamplernetwork.la ../src/engines/gig/liblinuxsamplergigengine.la > ../src/engines/common/liblinuxsamplercommonengine.la > ../src/engines/liblinuxsamplere > ngines.la ../src/drivers/liblinuxsamplerdrivers.la > ../src/drivers/audio/liblinuxsampleraudiodriver.la > ../src/drivers/midi/liblinuxsamplermididriver.la . > ./src/plugins/liblinuxsamplerplugins.la > ../src/common/liblinuxsamplercommon.la > > libtool: link: warning: undefined symbols not allowed in i686-pc-mingw32 > shared libraries > > ar cru .libs/liblinuxsampler.a Sampler.o > .libs/liblinuxsampler.lax/liblinuxsamplernetwork.a/lscpevent.o > .libs/liblinuxsampler.lax/liblinuxsamplernetwo > rk.a/lscpparser.o > .libs/liblinuxsampler.lax/liblinuxsamplernetwork.a/lscpresultset.o > .libs/liblinuxsampler.lax/liblinuxsamplernetwork.a/lscpserver.o .l > ibs/liblinuxsampler.lax/liblinuxsamplergigengine.a/DiskThread.o > .libs/liblinuxsampler.lax/liblinuxsamplergigengine.a/EGADSR.o > .libs/liblinuxsampler.lax/ > liblinuxsamplergigengine.a/EGDecay.o > .libs/liblinuxsampler.lax/liblinuxsamplergigengine.a/Engine.o > .libs/liblinuxsampler.lax/liblinuxsamplergigengine.a/ > EngineChannel.o.libs/liblinuxsampler.lax/liblinuxsamplergigengine.a/InstrumentResourceManager.o > .libs/liblinuxsampler.lax/liblinuxsamplergigengine.a/Pr > ofiler.o.libs/liblinuxsampler.lax/liblinuxsamplergigengine.a/SmoothVolume.o > .libs/liblinuxsampler.lax/liblinuxsamplergigengine.a/Stream.o .libs/liblinu > xsampler.lax/liblinuxsamplergigengine.a/Synthesizer.o > .libs/liblinuxsampler.lax/liblinuxsamplergigengine.a/Voice.o > .libs/liblinuxsampler.lax/liblinuxsa > mplercommonengine.a/Event.o > .libs/liblinuxsampler.lax/liblinuxsamplerengines.a/Engine.o > .libs/liblinuxsampler.lax/liblinuxsamplerengines.a/EngineChanne > l.o.libs/liblinuxsampler.lax/liblinuxsamplerengines.a/EngineChannelFactory.o > .libs/liblinuxsampler.lax/liblinuxsamplerengines.a/EngineFactory.o .libs/l > iblinuxsampler.lax/liblinuxsamplerengines.a/FxSend.o > .libs/liblinuxsampler.lax/liblinuxsamplerengines.a/InstrumentManager.o > .libs/liblinuxsampler.lax/li > blinuxsamplerengines.a/InstrumentManagerThread.o > .libs/liblinuxsampler.lax/liblinuxsamplerdrivers.a/DeviceParameter.o > .libs/liblinuxsampler.lax/liblinu > xsamplerdrivers.a/DeviceParameterFactory.o > .libs/liblinuxsampler.lax/liblinuxsampleraudiodriver.a/asio.o > .libs/liblinuxsampler.lax/liblinuxsampleraudio > driver.a/asiodrivers.o > .libs/liblinuxsampler.lax/liblinuxsampleraudiodriver.a/asiolist.o > .libs/liblinuxsampler.lax/liblinuxsampleraudiodriver.a/AudioCha > nnel.o.libs/liblinuxsampler.lax/liblinuxsampleraudiodriver.a/AudioOutputDevice.o > .libs/liblinuxsampler.lax/liblinuxsampleraudiodriver.a/AudioOutputDevi > ceAsio.o.libs/liblinuxsampler.lax/liblinuxsampleraudiodriver.a/AudioOutputDeviceFactory.o > .libs/liblinuxsampler.lax/liblinuxsampleraudiodriver.a/iasiot > hiscallresolver.o > .libs/liblinuxsampler.lax/liblinuxsamplermididriver.a/MidiInputDevice.o > .libs/liblinuxsampler.lax/liblinuxsamplermididriver.a/MidiInp > utDeviceFactory.o.libs/liblinuxsampler.lax/liblinuxsamplermididriver.a/MidiInputDeviceMme.o > .libs/liblinuxsampler.lax/liblinuxsamplermididriver.a/MidiI > nputPort.o.libs/liblinuxsampler.lax/liblinuxsamplermididriver.a/MidiInstrumentMapper.o > .libs/liblinuxsampler.lax/liblinuxsamplerplugins.a/InstrumentEd > itor.o.libs/liblinuxsampler.lax/liblinuxsamplerplugins.a/InstrumentEditorFactory.o > .libs/liblinuxsampler.lax/liblinuxsamplercommon.a/Condition.o .libs > /liblinuxsampler.lax/liblinuxsamplercommon.a/ConditionServer.o > .libs/liblinuxsampler.lax/liblinuxsamplercommon.a/Features.o > .libs/liblinuxsampler.lax/li > blinuxsamplercommon.a/global_private.o > .libs/liblinuxsampler.lax/liblinuxsamplercommon.a/Mutex.o > .libs/liblinuxsampler.lax/liblinuxsamplercommon.a/optio > nal.o .libs/liblinuxsampler.lax/liblinuxsamplercommon.a/Path.o > .libs/liblinuxsampler.lax/liblinuxsamplercommon.a/RTMath.o > .libs/liblinuxsampler.lax/libl > inuxsamplercommon.a/stacktrace.o > .libs/liblinuxsampler.lax/liblinuxsamplercommon.a/Thread.o > .libs/liblinuxsampler.lax/liblinuxsamplercommon.a/WorkerThre > ad.o > ranlib .libs/liblinuxsampler.a > rm -fr .libs/liblinuxsampler.lax > creating liblinuxsampler.la > (cd .libs && rm -f liblinuxsampler.la && ln -s ../liblinuxsampler.la > liblinuxsampler.la) > > ------------------------------ > > is this warning the cause of libtool chosing to link statically ? > if I retun configure with --enable-shared --disable-static > I get linking errors. > > basically it executes the same commands as above, creating > liblinuxsampler.a instead of liblinuxsampler.dll > > and when trying to linking the exe I get lots of undefined references, see > here the linking command and a few lines of errors: > > -------------------- > /bin/sh ../libtool --mode=link g++ -Wreturn-type -ffast-math -O3 -msse > -march=pentium4 -mfpmath=sse -ffast-math -fomit-frame-pointer > -funroll-loops -msse -o linuxsampler.exe linuxsampler.o../src/liblinuxsampler.la > g++ -Wreturn-type -ffast-math -O3 -msse -march=pentium4 -mfpmath=sse > -ffast-math -fomit-frame-pointer -funroll-loops -msse -o linuxsampler.exe > linuxsampler.o ../src/.libs/liblinuxsampler.a -lws2_32 -lole32 > -LC:/msys/1.0/local/lib /usr/local/lib/libgig.dll.a -lrpcrt4 -lwinmm > -L/usr/local/lib -L/usr/local/lib > linuxsampler.o:linuxsampler.cpp:(.text+0x688): undefined reference to > `LinuxSampler::Sampler::Sampler()' > linuxsampler.o:linuxsampler.cpp:(.text+0x1303): undefined reference to > `LinuxSampler::Sampler::GetSamplerChannels()' > linuxsampler.o:linuxsampler.cpp:(.text+0x1335): undefined reference to > `LinuxSampler::SamplerChannel::GetEngineChannel()' > ....... > ------------------ > any ideas ? > thanks in advance for your help, > cheers, > Benno > http://www.linuxsampler.org > > > > 2007/12/5, Brian Dessent <br...@de...>: > > > > Benno Senoner wrote: > > > > > it seems like the variable $dldir is not set > > > > But it's set right there in the command: > > > > > dldir=/usr/local/lib/`dirname $dlpath` > > > > Do you have the dirname command installed? > > > > Brian > > > > > > ------------------------------------------------------------------------- > > SF.Net email is sponsored by: The Future of Linux Business White Paper > > from Novell. From the desktop to the data center, Linux is going > > mainstream. Let it simplify your IT future. > > http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 > > _______________________________________________ > > MinGW-users mailing list > > Min...@li... > > > > You may change your MinGW Account Options or unsubscribe at: > > https://lists.sourceforge.net/lists/listinfo/mingw-users > > > > |