KoKuToru / koku-xinput-wine

Adds xinput support to wine, without changing the source of wine.
BSD 2-Clause "Simplified" License
69 stars 21 forks source link

Issue attempting to compile on Ubuntu 16.04 #19

Open TiZ-HugLife opened 7 years ago

TiZ-HugLife commented 7 years ago

I installed CMake 3.7.2 from PPSSPP's PPA to try to compile this, and received the following huge list of errors:

TiZLappy:koku-xinput-wine$ cmake -DBUILD_M32=OFF .
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'sdl2'
--   Found sdl2, version 2.0.4
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tiz/Source/koku-xinput-wine
TiZLappy:koku-xinput-wine$ make
Scanning dependencies of target koku-xinput-wine
[ 25%] Building CXX object CMakeFiles/koku-xinput-wine.dir/main.cpp.o
[ 50%] Building CXX object CMakeFiles/koku-xinput-wine.dir/xinput.cpp.o
In file included from /opt/wine-staging/include/wine/windows/windef.h:266:0,
                 from /opt/wine-staging/include/wine/windows/xinput.h:23,
                 from /home/tiz/Source/koku-xinput-wine/xinput.cpp:11:
/opt/wine-staging/include/wine/windows/winnt.h:783:35: warning: attributes ignored on elaborated-type-specifier that is not a forward declaration [-Wattributes]
 typedef struct DECLSPEC_ALIGN(16) _SLIST_ENTRY *PSLIST_ENTRY;
                                   ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:136:38: error: array must be initialized with a brace-enclosed initializer
 koku::jumper<decltype(XInputEnable)> XInputEnableJumper;
                                      ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:136:38: error: too many initializers for ‘std::array<unsigned char, 12ul>’
In file included from /home/tiz/Source/koku-xinput-wine/main.h:6:0,
                 from /home/tiz/Source/koku-xinput-wine/xinput.cpp:1:
/home/tiz/Source/koku-xinput-wine/jumper.h: In constructor ‘koku::jumper<F>::jumper() [with F = void(int)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: array must be initialized with a brace-enclosed initializer
   jumper() = default;
   ^
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/xinput.cpp: At global scope:
/home/tiz/Source/koku-xinput-wine/xinput.cpp:136:38: note: synthesized method ‘koku::jumper<F>::jumper() [with F = void(int)]’ first required here 
 koku::jumper<decltype(XInputEnable)> XInputEnableJumper;
                                      ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:150:40: error: array must be initialized with a brace-enclosed initializer
 koku::jumper<decltype(XInputSetState)> XInputSetStateJumper;
                                        ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:150:40: error: too many initializers for ‘std::array<unsigned char, 12ul>’
In file included from /home/tiz/Source/koku-xinput-wine/main.h:6:0,
                 from /home/tiz/Source/koku-xinput-wine/xinput.cpp:1:
/home/tiz/Source/koku-xinput-wine/jumper.h: In constructor ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, _XINPUT_VIBRATION*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: array must be initialized with a brace-enclosed initializer
   jumper() = default;
   ^
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/xinput.cpp: At global scope:
/home/tiz/Source/koku-xinput-wine/xinput.cpp:150:40: note: synthesized method ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, _XINPUT_VIBRATION*)]’ first required here 
 koku::jumper<decltype(XInputSetState)> XInputSetStateJumper;
                                        ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:185:40: error: array must be initialized with a brace-enclosed initializer
 koku::jumper<decltype(XInputGetState)> XInputGetStateJumper;
                                        ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:185:40: error: too many initializers for ‘std::array<unsigned char, 12ul>’
In file included from /home/tiz/Source/koku-xinput-wine/main.h:6:0,
                 from /home/tiz/Source/koku-xinput-wine/xinput.cpp:1:
/home/tiz/Source/koku-xinput-wine/jumper.h: In constructor ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, _XINPUT_STATE*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: array must be initialized with a brace-enclosed initializer
   jumper() = default;
   ^
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/xinput.cpp: At global scope:
/home/tiz/Source/koku-xinput-wine/xinput.cpp:185:40: note: synthesized method ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, _XINPUT_STATE*)]’ first required here 
 koku::jumper<decltype(XInputGetState)> XInputGetStateJumper;
                                        ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:229:44: error: array must be initialized with a brace-enclosed initializer
 koku::jumper<decltype(XInputGetKeystroke)> XInputGetKeystrokeJumper;
                                            ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:229:44: error: too many initializers for ‘std::array<unsigned char, 12ul>’
In file included from /home/tiz/Source/koku-xinput-wine/main.h:6:0,
                 from /home/tiz/Source/koku-xinput-wine/xinput.cpp:1:
/home/tiz/Source/koku-xinput-wine/jumper.h: In constructor ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, unsigned int, _XINPUT_KEYSTROKE*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: array must be initialized with a brace-enclosed initializer
   jumper() = default;
   ^
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/xinput.cpp: At global scope:
/home/tiz/Source/koku-xinput-wine/xinput.cpp:229:44: note: synthesized method ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, unsigned int, _XINPUT_KEYSTROKE*)]’ first required here 
 koku::jumper<decltype(XInputGetKeystroke)> XInputGetKeystrokeJumper;
                                            ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:240:47: error: array must be initialized with a brace-enclosed initializer
 koku::jumper<decltype(XInputGetCapabilities)> XInputGetCapabilitiesJumper;
                                               ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:240:47: error: too many initializers for ‘std::array<unsigned char, 12ul>’
In file included from /home/tiz/Source/koku-xinput-wine/main.h:6:0,
                 from /home/tiz/Source/koku-xinput-wine/xinput.cpp:1:
/home/tiz/Source/koku-xinput-wine/jumper.h: In constructor ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, unsigned int, _XINPUT_CAPABILITIES*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: array must be initialized with a brace-enclosed initializer
   jumper() = default;
   ^
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/xinput.cpp: At global scope:
/home/tiz/Source/koku-xinput-wine/xinput.cpp:240:47: note: synthesized method ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, unsigned int, _XINPUT_CAPABILITIES*)]’ first required here 
 koku::jumper<decltype(XInputGetCapabilities)> XInputGetCapabilitiesJumper;
                                               ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:273:5: error: array must be initialized with a brace-enclosed initializer
     XInputGetDSoundAudioDeviceGuidsJumper;
     ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:273:5: error: too many initializers for ‘std::array<unsigned char, 12ul>’
In file included from /home/tiz/Source/koku-xinput-wine/main.h:6:0,
                 from /home/tiz/Source/koku-xinput-wine/xinput.cpp:1:
/home/tiz/Source/koku-xinput-wine/jumper.h: In constructor ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, _GUID*, _GUID*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: array must be initialized with a brace-enclosed initializer
   jumper() = default;
   ^
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/xinput.cpp: At global scope:
/home/tiz/Source/koku-xinput-wine/xinput.cpp:273:5: note: synthesized method ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, _GUID*, _GUID*)]’ first required here 
     XInputGetDSoundAudioDeviceGuidsJumper;
     ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:297:5: error: array must be initialized with a brace-enclosed initializer
     XInputGetBatteryInformationJumper;
     ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:297:5: error: too many initializers for ‘std::array<unsigned char, 12ul>’
In file included from /home/tiz/Source/koku-xinput-wine/main.h:6:0,
                 from /home/tiz/Source/koku-xinput-wine/xinput.cpp:1:
/home/tiz/Source/koku-xinput-wine/jumper.h: In constructor ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, unsigned char, _XINPUT_BATTERY_INFORMATION*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: array must be initialized with a brace-enclosed initializer
   jumper() = default;
   ^
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/xinput.cpp: At global scope:
/home/tiz/Source/koku-xinput-wine/xinput.cpp:297:5: note: synthesized method ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, unsigned char, _XINPUT_BATTERY_INFORMATION*)]’ first required here 
     XInputGetBatteryInformationJumper;
     ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:319:42: error: array must be initialized with a brace-enclosed initializer
 koku::jumper<decltype(XInputGetStateEx)> XInputGetStateExJumper;
                                          ^
/home/tiz/Source/koku-xinput-wine/xinput.cpp:319:42: error: too many initializers for ‘std::array<unsigned char, 12ul>’
In file included from /home/tiz/Source/koku-xinput-wine/main.h:6:0,
                 from /home/tiz/Source/koku-xinput-wine/xinput.cpp:1:
/home/tiz/Source/koku-xinput-wine/jumper.h: In constructor ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, _XINPUT_STATE_EX*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: array must be initialized with a brace-enclosed initializer
   jumper() = default;
   ^
/home/tiz/Source/koku-xinput-wine/jumper.h:27:3: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/xinput.cpp: At global scope:
/home/tiz/Source/koku-xinput-wine/xinput.cpp:319:42: note: synthesized method ‘koku::jumper<F>::jumper() [with F = unsigned int(unsigned int, _XINPUT_STATE_EX*)]’ first required here 
 koku::jumper<decltype(XInputGetStateEx)> XInputGetStateExJumper;
                                          ^
In file included from /home/tiz/Source/koku-xinput-wine/main.h:6:0,
                 from /home/tiz/Source/koku-xinput-wine/xinput.cpp:1:
/home/tiz/Source/koku-xinput-wine/jumper.h: In instantiation of ‘koku::jumper<F>::jumper(F*, F*) [with F = void(int)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:89:28:   required from ‘koku::jumper<F> koku::make_jumper(F*, F*) [with F = void(int)]’
/home/tiz/Source/koku-xinput-wine/xinput.cpp:328:72:   required from here
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: array must be initialized with a brace-enclosed initializer
   jumper(F *src, F *dst) : src(src), dst(dst) {
                                             ^
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/jumper.h: In instantiation of ‘koku::jumper<F>::jumper(F*, F*) [with F = unsigned int(unsigned int, _XINPUT_VIBRATION*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:89:28:   required from ‘koku::jumper<F> koku::make_jumper(F*, F*) [with F = unsigned int(unsigned int, _XINPUT_VIBRATION*)]’
/home/tiz/Source/koku-xinput-wine/xinput.cpp:335:75:   required from here
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: array must be initialized with a brace-enclosed initializer
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/jumper.h: In instantiation of ‘koku::jumper<F>::jumper(F*, F*) [with F = unsigned int(unsigned int, _XINPUT_STATE*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:89:28:   required from ‘koku::jumper<F> koku::make_jumper(F*, F*) [with F = unsigned int(unsigned int, _XINPUT_STATE*)]’
/home/tiz/Source/koku-xinput-wine/xinput.cpp:342:75:   required from here
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: array must be initialized with a brace-enclosed initializer
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/jumper.h: In instantiation of ‘koku::jumper<F>::jumper(F*, F*) [with F = unsigned int(unsigned int, unsigned int, _XINPUT_KEYSTROKE*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:89:28:   required from ‘koku::jumper<F> koku::make_jumper(F*, F*) [with F = unsigned int(unsigned int, unsigned int, _XINPUT_KEYSTROKE*)]’
/home/tiz/Source/koku-xinput-wine/xinput.cpp:350:60:   required from here
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: array must be initialized with a brace-enclosed initializer
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/jumper.h: In instantiation of ‘koku::jumper<F>::jumper(F*, F*) [with F = unsigned int(unsigned int, unsigned int, _XINPUT_CAPABILITIES*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:89:28:   required from ‘koku::jumper<F> koku::make_jumper(F*, F*) [with F = unsigned int(unsigned int, unsigned int, _XINPUT_CAPABILITIES*)]’
/home/tiz/Source/koku-xinput-wine/xinput.cpp:358:63:   required from here
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: array must be initialized with a brace-enclosed initializer
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/jumper.h: In instantiation of ‘koku::jumper<F>::jumper(F*, F*) [with F = unsigned int(unsigned int, _GUID*, _GUID*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:89:28:   required from ‘koku::jumper<F> koku::make_jumper(F*, F*) [with F = unsigned int(unsigned int, _GUID*, _GUID*)]’
/home/tiz/Source/koku-xinput-wine/xinput.cpp:366:73:   required from here
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: array must be initialized with a brace-enclosed initializer
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/jumper.h: In instantiation of ‘koku::jumper<F>::jumper(F*, F*) [with F = unsigned int(unsigned int, unsigned char, _XINPUT_BATTERY_INFORMATION*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:89:28:   required from ‘koku::jumper<F> koku::make_jumper(F*, F*) [with F = unsigned int(unsigned int, unsigned char, _XINPUT_BATTERY_INFORMATION*)]’
/home/tiz/Source/koku-xinput-wine/xinput.cpp:374:69:   required from here
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: array must be initialized with a brace-enclosed initializer
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: too many initializers for ‘std::array<unsigned char, 12ul>’
/home/tiz/Source/koku-xinput-wine/jumper.h: In instantiation of ‘koku::jumper<F>::jumper(F*, F*) [with F = unsigned int(unsigned int, _XINPUT_STATE_EX*)]’:
/home/tiz/Source/koku-xinput-wine/jumper.h:89:28:   required from ‘koku::jumper<F> koku::make_jumper(F*, F*) [with F = unsigned int(unsigned int, _XINPUT_STATE_EX*)]’
/home/tiz/Source/koku-xinput-wine/xinput.cpp:382:59:   required from here
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: array must be initialized with a brace-enclosed initializer
/home/tiz/Source/koku-xinput-wine/jumper.h:33:45: error: too many initializers for ‘std::array<unsigned char, 12ul>’
cc1plus: warning: unrecognized command line option ‘-Wno-subobject-linkage’
cc1plus: warning: unrecognized command line option ‘-Wno-ignored-attributes’
CMakeFiles/koku-xinput-wine.dir/build.make:86: recipe for target 'CMakeFiles/koku-xinput-wine.dir/xinput.cpp.o' failed
make[2]: *** [CMakeFiles/koku-xinput-wine.dir/xinput.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/koku-xinput-wine.dir/all' failed
make[1]: *** [CMakeFiles/koku-xinput-wine.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
TiZLappy:koku-xinput-wine$ 
MegaS0ra commented 7 years ago

I am getting the same errors on Linux Mint 18.2 (Ubuntu 16.04)

Kidlike commented 6 years ago

I don't know why I didn't see this before, but I opened a duplicate of this, and resolved myself... lol

check #20

essentially you need cpp version 6.

MegaS0ra commented 6 years ago

Great ! I managed to compile it with your instructions, thank you !

MaxPerl commented 6 years ago

I have the same problem but with Mageia Linux. Here I cannot install cpp version 6. Would it be possible to make koku-xinput-wine compatible with cpp version 5.x? Why doesn't compile the mingw-g++ compiler the xinput.cpp? There I have version 6...

TiZ-HugLife commented 6 years ago

After some updates you made, I decided to try again. Now ld complains that it can't find -lSDL2. This only happens when I'm compiling the 32-bit version. 64-bit version compiles fine, but I can't build the 32-bit one. I have the 32-bit version of libsdl2-2.0-0 installed.

MegaS0ra commented 6 years ago

Yes, same problem here right now. But the current readme does not tell how to compile 32-bit or 64-bit specific version, so I don't know which one it is trying to compile.

Edit : Tried again and here's how I have managed to solve this (I think).

I am using Linux Mint 18.2 (Based on Ubuntu 16.04) and can't have both libsdl2-dev and libsdl2-dev:i386 packages (at least apt-get or aptitude won't let me install both)

So here are the steps I have done to compile both koku-xinput-wine.so and koku-xinput-wine64.so

git clone https://github.com/KoKuToru/koku-xinput-wine.git
cd koku-xinput-wine/
cmake .

Here, cmake gives error "No package 'sdl2' found"

sudo apt-get install libsdl2-dev
cmake .

No error this time : "Configuring done Generating done Build files have been written to ..."

make Here, make gives error "/usr/bin/ld : can't find -lSDL2"

sudo apt-get remove libsdl2-dev
sudo apt-get autoremove
sudo apt-get install libsdl2-dev:i386
make

Here, make succeeds to compile koku-xinput-wine.so, but not koku-xinput-wine64.so

sudo apt-get remove libsdl2-dev:i386
sudo apt-get autoremove
sudo apt-get install libsdl2-dev
make

Here, make succeeds to compile koku-xinput-wine64.so

TiZ-HugLife commented 6 years ago

It tries to compile both, because both versions are useful. It tries to do the 32-bit version first. You can do make koku-xinput-wine64.so to only make the 64-bit one, and that one works fine.

MegaS0ra commented 6 years ago

I have edited my post just before I saw yours. I did not managed to only make the 64-bit version, but I managed to made both, just not in one time.

TiZ-HugLife commented 6 years ago

That's a substantial edit.

That process doesn't work on my system because installing libsdl2-dev:i386 tries to pull a bunch of other packages that it doesn't want to install. "Depends: libegl1-mesa-dev:i386 but it is not going to be installed" and a bunch of others. Trying to explicitly install those just creates even more lines like that, so I'm suspecting that something like this will straight up break the package manager. How the heck did you do that?

MegaS0ra commented 6 years ago

I see why you get this problem, I might have not been clear enough in my previous post (sorry English is not my mother tongue).

You seem to currently have the 64-bit version of libsdl2-dev installed, with its dependencies. Therefore, you need to remove it (if not already done) and use "apt-get autoremove" to remove all the dependencies automatically installed (libgles2-mesa-dev libgel1-mesa-dev... and some more). Once these dependencies are removed, you should be able to install libsdl2-dev:i386, and apt will ask you to install the same dependencies as before but with the :i386 suffix.

Unless you installed the dependencies manually, you should be able to remove it with autoremove.

I hope it will be okay for you

TiZ-HugLife commented 6 years ago

I ran a script when I first installed Xubuntu 16.04 that installs -dev and -doc versions of every package on the system. So all the -dev packages are manually installed. I had no idea it would cause such a fracas. Is debian structured in such a way that you're not supposed to have 64- and 32- bit development packages at the same time? That seems silly to me...

MegaS0ra commented 6 years ago

It should, I think I have some other packages that are installed in both 64- and 32-bit, without any problem, but can't install these both, and can't tell why, don't know much about package conflicts.