Am Mittwoch, den 24.05.2006, 20:24 +0200 schrieb torbenh(a)gmx.de:
Hey torbenh,
On Wed, May 24, 2006 at 06:16:41PM +0200, Benjamin
Fabricius wrote:
Hi,
Got a good deal of work done for my madi vst server with embedded linux.
Tried wine20040505 and ran into some rather nasty errors. Did not spend
a lot of time on this version then.
Next I tried wine20050628 according to Gimpel's tutorial page.
Got that compiled and running for my host.
Then compiled fst-1.6 (and fst-1.7 but have not tried that yet) and
jack-fst-1.2. After altering the Makefiles I got them compiled and
running on the vst server.
Then downloaded the Oberon-8 vsti.
Now I get a wine error of the following sort:
[snip]
vst:/mnt/testsuite/oberon8 # jack_fst Oberon-8
(jack_fst:944): Gdk-WARNING **: locale not supported by Xlib
(jack_fst:944): Gdk-WARNING **: cannot set locale modifiers
(jack_fst:944): Gdk-WARNING **: Error converting from UTF-8 to STRING:
Conversion from character set 'UTF-8' to 'ISO-8859-1' is not supported
(jack_fst:944): Gdk-WARNING **: Error converting from UTF-8 to STRING:
Conversion from character set 'UTF-8' to 'ISO-8859-1' is not supported
wine: Unhandled exception (thread 0009), starting debugger...
err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0
addr 0xb7597545
err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0
addr 0xb7604e1f
err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0
addr 0xb7604e1f
err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0
addr 0xb7604e1f
err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0
addr 0xb7604e1f
err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0
addr 0xb7604e1f
err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0
addr 0xb7604e1f
err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0
addr 0xb7604e1f
...and so on...
[snip]
I expect the gdk warning not to be critical...
Have any of you experienced similar problems?
Or might it be better to use a different wine version?
Have not tried fst-1.7 yet because the README says there should be a
executable called jfst or xfst and plugins can be loaded
using ./fst /path/to/plugin.
fst-1.7 builds to a shared library called libfst.exe.so....? Is this
correct? I actually expected that fst-1.7 builds to a current version of
libfst.so... can anyone brief me on what's up here?
Any help would be great!
first make sure, that your libc supports thread local storage.
look at the output of /lib/libc.so.6
had allready checked that, thx for the tip
though.. thread local storage
supported.
fst-1.7 and up only compile to a standalone program. the libfst.so stuff
was a hack which stopped working, due to changes in wine.
so either use old wine (you dont want that)
or use new wine and link your app with wine build.
resulting in a wine executable .exe.so
Ok i set include and lib flags to my wine
build (still 050628) and told
make to use the wine binaries of the 050628 build.
I let make go... got an unhandled reference,
...
/home/ben/wine_vst_testing/usr/bin/winegcc -mwindows -o fst.exe
audiomaster.o fst.o fstinfofile.o gtk.o jfst.o vsti.o vstwin.o
`pkg-config --libs gtk+-2.0` `pkg-config --libs jack` `pkg-config --libs
alsa` -L/usr/X11R6/lib -lX11 -L/lib `pkg-config --libs wine`
-L/home/ben/wine_vst_testing/usr/local/lib/wine -luuid
jfst.o: In function `main':
jfst.c:(.text+0x830): undefined reference to `pthread_create'
vsti.o: In function `stop_midireceiver':
vsti.c:(.text+0x4e1): undefined reference to `pthread_join'
collect2: ld returned 1 exit status
winegcc: gcc failed.
make: *** [fst.exe] Fehler 2
...
.. then stripped all object files and it..
..compiled to fst wrapper script and fst.exe.so...
that should do the trick, right?
Unfortunately I still have errors:
vst:/mnt/testsuite/oberon4 # wine /usr/bin/fst.exe.so Oberon-8.dll
wine: Unhandled exception (thread 0009), starting debugger...
err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0
addr 0x404a7e54
Could this just be me still using a wine version which is to old?
Or should i use a new fst version? Could only find fst-1.7 on joe
buttons fst home.
little bit confused here still and hoping for help...
--------
i'll post my makefile here:
SDKDIR = `find . | grep 'vstsdk[^/]*\$$'`
VSTDIR = $(SDKDIR)/source/common
### Generated by Winemaker
SRCDIR = .
SUBDIRS =
DLLS =
EXES = fst.exe
### Common settings
CEXTRA = `pkg-config --cflags gtk+-2.0` `pkg-config
--cflags jack` `pkg-config --cflags jack`
CXXEXTRA = -mno-cygwin
RCEXTRA =
INCLUDE_PATH = -I. `pkg-config --cflags alsa` `pkg-config
--cflags wine` -I/home/ben/wine_vst_testing/usr/include/wine/windows
DLL_PATH =
LIBRARY_PATH =
LIBRARIES = `pkg-config --libs gtk+-2.0` `pkg-config --libs
jack` `pkg-config --libs alsa` -L/usr/X11R6/lib -lX11 -L/lib `pkg-config
--libs wine` -L/home/ben/wine_vst_testing/usr/local/lib/wine
### fst.exe sources and settings
fst_exe_MODULE = fst.exe
fst_exe_C_SRCS = audiomaster.c \
fst.c \
fstinfofile.c \
gtk.c \
jfst.c \
vsti.c \
vstwin.c
fst_exe_CXX_SRCS =
fst_exe_RC_SRCS =
fst_exe_LDFLAGS = -mwindows
fst_exe_DLL_PATH =
fst_exe_DLLS =
fst_exe_LIBRARY_PATH =
fst_exe_LIBRARIES = uuid
fst_exe_OBJS = $(fst_exe_C_SRCS:.c=.o) \
$(fst_exe_CXX_SRCS:.cpp=.o) \
$(fst_exe_RC_SRCS:.rc=.res)
### Global source lists
C_SRCS = $(fst_exe_C_SRCS)
CXX_SRCS = $(fst_exe_CXX_SRCS)
RC_SRCS = $(fst_exe_RC_SRCS)
### Tools
CC = /home/ben/wine_vst_testing/usr/bin/winegcc
CXX = /home/ben/wine_vst_testing/usr/bin/wineg++
RC = /home/ben/wine_vst_testing/usr/bin/wrc
WINEBUILD = /home/ben/wine_vst_testing/usr/bin/winebuild
### Generic targets
all: hackheaders $(SUBDIRS) $(DLLS:%=%.so) $(EXES:%=%)
### Build rules
hackheaders:
cp -a $(VSTDIR) ./vst
sed -i '/struct VstFileType\|struct VstFileSelect/,/};/d'
vst/aeffectx.h
distclean:clean
test -n $(SDKDIR) && $(RM) -rf $(SDKDIR)
.PHONY: all clean dummy
$(SUBDIRS): dummy
@cd $@ && $(MAKE)
# Implicit rules
.SUFFIXES: .cpp .rc .res
DEFINCL = $(INCLUDE_PATH) $(DEFINES) $(OPTIONS)
.c.o:
$(CC) -c $(CFLAGS) $(CEXTRA) $(DEFINCL) -o $@ $<
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(CXXEXTRA) $(DEFINCL) -o $@ $<
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(CXXEXTRA) $(DEFINCL) -o $@ $<
.rc.res:
$(RC) $(RCFLAGS) $(RCEXTRA) $(DEFINCL) -fo$@ $<
# Rules for cleaning
CLEAN_FILES = *.dbg.c y.tab.c y.tab.h lex.yy.c \
core *.orig *.rej \
\\\#*\\\# *~ *% .\\\#*
clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
$(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(C_SRCS:.c=.o)
$(CXX_SRCS:.cpp=.o)
$(RM) $(DLLS:%=%.dbg.o) $(DLLS:%=%.so)
$(RM) $(EXES:%=%.dbg.o) $(EXES:%=%.so) $(EXES:%.exe=%)
$(RM) -rf ./vst
$(SUBDIRS:%=%/__clean__): dummy
cd `dirname $@` && $(MAKE) clean
$(EXTRASUBDIRS:%=%/__clean__): dummy
-cd `dirname $@` && $(RM) $(CLEAN_FILES)
### Target specific build rules
DEFLIB = $(LIBRARY_PATH) $(LIBRARIES) $(DLL_PATH)
# $(xfst_exe_MODULE).dbg.c: $(xfst_exe_C_SRCS) $(xfst_exe_CXX_SRCS)
# $(WINEBUILD) -o $@ --debug -C$(SRCDIR) $(xfst_exe_C_SRCS)
$(xfst_exe_CXX_SRCS)
$(fst_exe_MODULE): $(fst_exe_OBJS)
$(CC) $(fst_exe_LDFLAGS) -o $@ $(fst_exe_OBJS)
$(fst_exe_LIBRARY_PATH) $(DEFLIB) $(fst_exe_DLLS:%=-l%)
$(fst_exe_LIBRARIES:%=-l%)
----------
thanks for you help and time...
which is started with the wrapper script.
or just "wine fst.exe.so"
Cheers,
Benjamin Fabricius
(German student, Lawo AG, Germany)
Greets,
bf