Project

General

Profile

Actions

Emulator Issues #8375

closed

Can't compile after system update

Added by tescorg over 9 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?
N/A

Game ID?
N/A

What's the problem? Describe what went wrong in few words.
The latest dev builds compiled fine on my PC up until a system update yesterday.
The error I now get is "error: invalid conversion from ‘const void*’ to ‘const uint8_t* {aka const unsigned char*}‘"

See log below for the full error message.

I can successfully make dolphin compile using -fpermissive flag for cmake
"cmake .. -DCMAKE_CXX_FLAGS='-fpermissive'"

What did you expect to happen instead?
Should compile without issue.

What steps will reproduce the problem?

git pull
cmake ..
make -j8

Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?
7216e94 <- last successfully compiled (no longer compiles)
b267e51 <- latest at this time

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
no

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
Arch Linux
intel core i5-4690k
geforce GTX 960

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
Here is a log showing the full error while compiling. http://pastebin.com/T4nADuKz

Here is my pacman.log showing which packages were updated. I'm 90% sure one of these broke compilation. http://pastebin.com/Bh54DupZ

Actions #1

Updated by Sonicadvance1 over 9 years ago

This actually looks like a bug in the bluetooth package.
This should most likely be taken up with Arch package maintainers...or bluez?
One of the two.

Actions #2

Updated by phire over 9 years ago

Why does that header define it's own byte swap macros, which leak into the global namespace?

Anyway, this is the commit in question: http://git.kernel.org/cgit/bluetooth/bluez.git/commit/lib/bluetooth.h?id=232015aeefd1c945ccfaf9744e791c5888eafcf7

I think gcc is being a little overzealous, the code is inside an extern "C" block, c isn't as strict with cast requirements.

Actions #3

Updated by tueidj over 9 years ago

"extern "C" " only applies to function declarations (it's a linkage directive), it does not cause the compiler to treat code any differently.

Actions #4

Updated by mathieui over 9 years ago

A patch has been sent to the bluez mailing-list, I think this will be fixed in the next release. http://thread.gmane.org/gmane.linux.bluez.kernel/60647/

Actions #5

Updated by skidau over 9 years ago

  • Status changed from New to Fixed

bluez(& bluez-libs) 5.30 has been released, which fixes the offending function, so Dolphin should now build without issues

Actions

Also available in: Atom PDF