osxmidi / LinVst

Linux Windows vst wrapper/bridge
GNU General Public License v3.0
682 stars 41 forks source link

Compiling error "winegcc: g++ failed" on Ubuntu 20.04 #198

Closed tbx1b closed 3 years ago

tbx1b commented 3 years ago

Hello! Nice work on LinVst!

I've done quite a bit of work today trying to LinVst to work with Bitwig 3.3 today. I followed the quick start guide - and managed to convert Xfer Serum over. Though, there were issues - and I couldn't load it into Bitwig (Serum takes a long time to scan. Please check that the plug-in does not have a dialog open that is obscured by Bitwig Studio's user interface.).

I came across Issue #138 - and that lead me to #142 . I realize that I gotta recompile LinVst with the special makefile - and I'm currently trying to do that, but that is where this issue comes from! I can't compile it, no matter what I try.

g++ -fPIC -O2 -DLVRT -DVST6432 -DEMBED -DEMBEDDRAG -DWAVES -DTRACKTIONWM -DVESTIGE -DNEWTIME -DINOUTMEM -DCHUNKBUF -DEMBEDRESIZE -DPCACHE -DXECLOSE -DBITWIG  -c linvst.cpp -o linvst.unix.o
g++ -fPIC -O2 -DLVRT -DVST6432 -DEMBED -DEMBEDDRAG -DWAVES -DTRACKTIONWM -DVESTIGE -DNEWTIME -DINOUTMEM -DCHUNKBUF -DEMBEDRESIZE -DPCACHE -DXECLOSE -DBITWIG  -c remotevstclient.cpp -o remotevstclient.unix.o
remotevstclient.cpp: In function ‘const char* selfname()’:
remotevstclient.cpp:89:37: warning: no return statement in function returning non-void [-Wreturn-type]
   89 | const char *selfname() { int i = 5; }
      |                                     ^
g++ -fPIC -O2 -DLVRT -DVST6432 -DEMBED -DEMBEDDRAG -DWAVES -DTRACKTIONWM -DVESTIGE -DNEWTIME -DINOUTMEM -DCHUNKBUF -DEMBEDRESIZE -DPCACHE -DXECLOSE -DBITWIG  -c remotepluginclient.cpp -o remotepluginclient.unix.o
remotepluginclient.cpp: In member function ‘int RemotePluginClient::sizeShm()’:
remotepluginclient.cpp:876:12: warning: ignoring return value of ‘int ftruncate(int, __off_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  876 |   ftruncate(m_shmFd, sz);
      |   ~~~~~~~~~^~~~~~~~~~~~~
remotepluginclient.cpp: In member function ‘float RemotePluginClient::getParameter(int)’:
remotepluginclient.cpp:1104:1: warning: control reaches end of non-void function [-Wreturn-type]
 1104 | }
      | ^
g++ -fPIC -O2 -DLVRT -DVST6432 -DEMBED -DEMBEDDRAG -DWAVES -DTRACKTIONWM -DVESTIGE -DNEWTIME -DINOUTMEM -DCHUNKBUF -DEMBEDRESIZE -DPCACHE -DXECLOSE -DBITWIG  -c paths.cpp -o paths.unix.o
g++ linvst.unix.o remotevstclient.unix.o remotepluginclient.unix.o paths.unix.o -shared -lpthread -ldl -lX11 -lrt  -o linvst.so
wineg++ -m64 -O2 -DVST6432 -DEMBED -DEMBEDDRAG -DWAVES -DTRACKTIONWM -DVESTIGE -DNEWTIME -DINOUTMEM -DCHUNKBUF -DEMBEDRESIZE -DPCACHE -DXECLOSE -I/usr/include/wine-development/windows -I/usr/include/wine-development/wine/windows -I/usr/include/wine/wine/windows -c lin-vst-server.cpp -o lin-vst-server.wine.o
lin-vst-server.cpp: In member function ‘virtual int RemoteVSTServer::getParameterCount()’:
lin-vst-server.cpp:136:3: warning: control reaches end of non-void function [-Wreturn-type]
  136 |   }
      |   ^
lin-vst-server.cpp: In member function ‘virtual int RemoteVSTServer::getProgramCount()’:
lin-vst-server.cpp:147:3: warning: control reaches end of non-void function [-Wreturn-type]
  147 |   }
      |   ^
lin-vst-server.cpp: In member function ‘virtual int RemoteVSTServer::getUID()’:
lin-vst-server.cpp:109:3: warning: control reaches end of non-void function [-Wreturn-type]
  109 |   }
      |   ^
lin-vst-server.cpp: In member function ‘virtual int RemoteVSTServer::getinitialDelay()’:
lin-vst-server.cpp:105:3: warning: control reaches end of non-void function [-Wreturn-type]
  105 |   }
      |   ^
lin-vst-server.cpp: In member function ‘virtual int RemoteVSTServer::getFlags()’:
lin-vst-server.cpp:101:3: warning: control reaches end of non-void function [-Wreturn-type]
  101 |   }
      |   ^
lin-vst-server.cpp: In member function ‘virtual int RemoteVSTServer::getOutputCount()’:
lin-vst-server.cpp:97:3: warning: control reaches end of non-void function [-Wreturn-type]
   97 |   }
      |   ^
lin-vst-server.cpp: In member function ‘virtual int RemoteVSTServer::getInputCount()’:
lin-vst-server.cpp:93:3: warning: control reaches end of non-void function [-Wreturn-type]
   93 |   }
      |   ^
wineg++ -m64 -O2 -DVST6432 -DEMBED -DEMBEDDRAG -DWAVES -DTRACKTIONWM -DVESTIGE -DNEWTIME -DINOUTMEM -DCHUNKBUF -DEMBEDRESIZE -DPCACHE -DXECLOSE -I/usr/include/wine-development/windows -I/usr/include/wine-development/wine/windows -I/usr/include/wine/wine/windows -c remotepluginserver.cpp -o remotepluginserver.wine.o
wineg++ -m64 -O2 -DVST6432 -DEMBED -DEMBEDDRAG -DWAVES -DTRACKTIONWM -DVESTIGE -DNEWTIME -DINOUTMEM -DCHUNKBUF -DEMBEDRESIZE -DPCACHE -DXECLOSE -I/usr/include/wine-development/windows -I/usr/include/wine-development/wine/windows -I/usr/include/wine/wine/windows -c paths.cpp -o paths.wine.o
wineg++ -m64 lin-vst-server.wine.o remotepluginserver.wine.o paths.wine.o -L/opt/wine-stable/lib64/wine -L/opt/wine-devel/lib64/wine -L/opt/wine-staging/lib64/wine -L/usr/lib/x86_64-linux-gnu/wine-development -lpthread -lrt  -o lin-vst-servertrack.exe
/usr/bin/ld: lin-vst-servertrack.exe-BS1z9m.spec.o: in function `__wine_spec_pe_header':
(.init+0x11006): undefined reference to `__wine_spec_init_ctor'
collect2: error: ld returned 1 exit status
winegcc: g++ failed
make: *** [Makefile:39: lin-vst-servertrack.exe] Error 2

Now - obviously I've followed the make guide. I did: sudo apt-get install libx11-dev sudo apt-get install wine-stable-dev sudo apt-get install wine-staging-dev sudo apt-get install libwine-dev sudo dpkg --add-architecture i386 sudo apt-get install libc6-dev-i386 sudo apt-get install gcc-multilib g++-multilib

I'm sorry to take your time, and thank you for this project.

tbx1b commented 3 years ago

I have given up in favor of yabridge.