Menu

Problem compiling wineasio Linux 64 bit

ramon
2012-02-25
2013-01-27
  • ramon

    ramon - 2012-02-25

    I am receiving the following error when I try to compile wineasio on openSuse 64 bit.
    Any thoughts on this?

    winegcc -shared -m32 wineasio.dll.spec -mnocygwin -L/usr/lib32/wine -L/usr/lib32 -o wineasio.dll.so asio.o main.o regsvr.o     -ljack  -lodbc32 -lole32 -lwinmm -luuid
    /usr/bin/ld: Relocatable linking with relocations from format elf64-x86-64 (/usr/lib64/wine/libuuid.a(uuid.o)) to format elf32-i386 (wineasio.bMAxlz.o) is not supported

     
  • Anonymous

    Anonymous - 2012-03-23

    For building on Ubuntu 12.04 "precise" with wine1.4, I had to install gcc-4.5-multilib and I had to modify the Makefile.

    My Makefile looks like this now:

    ### Generated by Winemaker
    PREFIX                = /usr
    SRCDIR                = .
    SUBDIRS               =
    DLLS                  = wineasio.dll
    EXES                  =
    ### Common settings
    CEXTRA                = -m32 -g -O2 -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith
    CXXEXTRA              = -m32 -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith
    RCEXTRA               =
    INCLUDE_PATH          = -I. -I/usr/include -I$(PREFIX)/include -I$(PREFIX)/include/wine -I$(PREFIX)/include/wine/windows
    DLL_PATH              =
    LIBRARY_PATH          = 
    LIBRARIES             = -ljack
    ### wineasio.dll sources and settings
    wineasio_dll_MODULE   = wineasio.dll
    wineasio_dll_C_SRCS   = asio.c \
                main.c \
                regsvr.c
    wineasio_dll_CXX_SRCS =
    wineasio_dll_RC_SRCS  =
    wineasio_dll_LDFLAGS  = -shared \
                -m32 \
                $(wineasio_dll_MODULE:%=%.spec) \
                -mnocygwin \
                -L/usr/lib/i386-linux-gnu/wine \
                -L/usr/lib/i386-linux-gnu \
                -L/usr/lib/gcc/i686-linux-gnu/4.6.3 \
                -L/usr/lib/gcc/x86_64-linux-gnu/4.6/32 \
                -L/usr/lib32/wine \
                -L/usr/lib32
    wineasio_dll_DLL_PATH =
    wineasio_dll_DLLS     = odbc32 \
                ole32 \
                winmm
    wineasio_dll_LIBRARY_PATH=
    wineasio_dll_LIBRARIES= uuid
    wineasio_dll_OBJS     = $(wineasio_dll_C_SRCS:.c=.o) \
                $(wineasio_dll_CXX_SRCS:.cpp=.o) \
                $(wineasio_dll_RC_SRCS:.rc=.res)
    ### Global source lists
    C_SRCS                = $(wineasio_dll_C_SRCS)
    CXX_SRCS              = $(wineasio_dll_CXX_SRCS)
    RC_SRCS               = $(wineasio_dll_RC_SRCS)
    ### Tools
    CC = gcc
    CXX = g++
    WINECC = winegcc
    RC = wrc
    ### Generic targets
    all: asio.h $(SUBDIRS) $(DLLS:%=%.so) $(EXES:%=%.so)
    ### Build rules
    .PHONY: all clean dummy
    $(SUBDIRS): dummy
        @cd $@ && $(MAKE)
    # Implicit rules
    .SUFFIXES: .cpp .rc .res
    DEFINCL = $(INCLUDE_PATH) $(DEFINES) $(OPTIONS)
    .c.o:
        $(CC) -c $(DEFINCL) $(CFLAGS) $(CEXTRA) -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     = 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:%=%.so) $(EXES:%=%.so) $(EXES:%.exe=%)
    $(SUBDIRS:%=%/__clean__): dummy
        cd `dirname $@` && $(MAKE) clean
    $(EXTRASUBDIRS:%=%/__clean__): dummy
        -cd `dirname $@` && $(RM) $(CLEAN_FILES)
    distclean:: clean
        $(RM) asio.h
    ### Target specific build rules
    DEFLIB = $(LIBRARY_PATH) $(LIBRARIES) $(DLL_PATH)
    $(wineasio_dll_MODULE).so: $(wineasio_dll_OBJS)
        $(WINECC) $(wineasio_dll_LDFLAGS) -o $@ $(wineasio_dll_OBJS) $(wineasio_dll_LIBRARY_PATH) $(DEFLIB) $(wineasio_dll_DLLS:%=-l%) $(wineasio_dll_LIBRARIES:%=-l%)
    install:
        if [ -d /usr/lib/i386-linux-gnu/wine ]; then cp wineasio.dll.so /usr/lib/i386-linux-gnu/wine/; else cp wineasio.dll.so /usr/lib/wine; fi
    
     
  • Mensur

    Mensur - 2012-07-17

    Hi,
    I took the advice but I came to the point where terminal tells me:

    mensur@Memarra:~$ cd ~/Desktop
    mensur@Memarra:~/Desktop$ cd wineasio
    mensur@Memarra:~/Desktop/wineasio$ make
    winegcc -shared -m32 wineasio.dll.spec -mnocygwin -L/usr/lib/i386-linux-gnu/wine -L/usr/lib/i386-linux-gnu -L/usr/lib/gcc/i686-linux-gnu/4.6.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.6/32 -L/usr/lib32/wine -L/usr/lib32 -o wineasio.dll.so asio.o main.o regsvr.o     -ljack  -lodbc32 -lole32 -lwinmm -luuid
    /usr/bin/ld: cannot find -ljack
    collect2: ld returned 1 exit status
    winegcc: gcc-4.5 failed
    make: ***  Error 2

    What now, what to do?

     
  • Joakim Hernberg

    Joakim Hernberg - 2012-07-24

    Install the kxstudio repos http://kxstudio.sourceforge.net/Main_Page, and install wineasio from there.

     
  • Peter L Jones

    Peter L Jones - 2012-07-24

    I've added this hint to the project's front page.  If anyone's got links for other distros, drop a note.

     

Log in to post a comment.