Build failure on Gentoo Linux
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Pipelight |
Fix Released
|
Low
|
Michael Müller | ||
Gentoo Linux |
New
|
Undecided
|
Unassigned |
Bug Description
I get the following errors when trying to build with a mingw32 toolchain (gcc 4.7.3) on Gentoo Linux.
mingw32-g++ -Wall -DXP_WIN=1 -std=c++0x -march=corei7 -O2 -pipe pluginloader.c communication.o handlemanager.o npclass.o npnfunctions.o apihook.o -lversion -lgdi32 -lole32 -o pluginloader.exe
pluginloader.c: In function 'bool InitDLL(
pluginloader.
pluginloader.c: In function 'int main(int, char**)':
pluginloader.
I checked the headers and found that SetDllDirectory was not defined because no Windows version was set. Adding -D_WIN32_
_fdopen was not defined due to -std=c++0x, which enables __STRICT_ANSI__. After searching, I discovered that using -std=gnu++0x (or -std=gnu++11 as it should be now) works around this by enabling the new standards while also including this non-standard function.
Why didn't this affect you? I can hazard a guess. I initially tried to build this as an x64 executable using a x86_64-w64-mingw32 toolchain. I didn't encounter these problems but I did encounter a different one, which I fixed, before realising I was on the wrong track. I see that you are using a 32-bit "w64" toolchain. It was the "w64" bit that threw me but maybe there is still some difference between a 32-bit "w32" toolchain and a 32-bit "w64" toolchain.
I did get it to more or less work in the end. The test page worked and blinkbox.com looked like it was about to play something but eventually bombed with an error. I have only tried Silverlight 5.1 so far though, maybe 4 will work. I have created a Gentoo ebuild for Pipelight, which I will submit to Gentoo bugzilla soon.
description: | updated |
Changed in pipelight: | |
assignee: | nobody → Michael Müller (mqchael) |
Changed in pipelight: | |
importance: | Undecided → Low |
Changed in pipelight: | |
status: | Fix Committed → Fix Released |
Hi,
thanks for the information concerning the build flags. Probably there is really some kind of difference between the "w32" and "w64" toolchain - we will adjust the build flags in our next update (if they don't break other stuff).
The remaining problem with the errors might be related to a missing user agent switcher which is required to get some streaming services to work: https:/ /answers. launchpad. net/pipelight/ +faq/2351.
Error N8109 often also has to do with the same problem.
Please try it if it works by installing one the user agent switchers described there.
When you decide to try 4/5.0 the following page probably might help (although you cannot use the silverlight dependency installer of the wine-compholio package directly on Gentoo): /answers. launchpad. net/pipelight/ +faq/2358
https:/
Sebastian