Opened 13 years ago

Closed 11 years ago

#14931 closed defect (fixed)

wxWidgets26 does not build on Leopard - conflicting function declarations

Reported by: simon@… Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: leopard fsvolumemount Cc: jyrkiwahlstedt, macports.users@…, whalenster@…
Port: wxWidgets26

Description

FSVolumeMount has conflicting declarations, see below (complete build log attached):

../src/mac/carbon/morefilex/MoreFilesX.h: At global scope:
../src/mac/carbon/morefilex/MoreFilesX.h:1488: error: declaration of C function 'OSErr FSVolumeMount(const void*, FSVolumeRefNum*)' conflic
ts with
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Files.h:7299: error: previous declaration 'OSStat
us FSVolumeMount(UInt8*, FSVolumeRefNum*)' here

System Information:

simon@moria:~/bugs$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.5.2
BuildVersion:	9C7010

Attachments (2)

wxwidgets26.txt (56.7 KB) - added by simon@… 13 years ago.
Portfile.diff (418 bytes) - added by simon@… 13 years ago.

Download all attachments as: .zip

Change History (13)

Changed 13 years ago by simon@…

Attachment: wxwidgets26.txt added

comment:1 Changed 13 years ago by jmroot (Joshua Root)

Cc: jwa@… added; mww jwa removed
Owner: changed from macports-tickets@… to mww@…

I don't think putting bare usernames in the cc field works.

comment:2 Changed 13 years ago by afb@…

Keywords: leopard added
Summary: wxWidgets26 does not build - conflicting function declarationswxWidgets26 does not build on Leopard - conflicting function declarations

AFAIK, you need wxWidgets 2.8 for Leopard support...

comment:3 Changed 13 years ago by simon@…

Thanks. I tripped over this as a dependency of the bittorrent port. Would it make sense to apply the changes in Portfile.diff to this port?

Changed 13 years ago by simon@…

Attachment: Portfile.diff added

comment:4 Changed 12 years ago by blb@…

Cc: macports.users@… added

Cc reporter of dup #16278.

comment:5 Changed 12 years ago by rogerpack2005@…

Just ran into this doing "sudo port install bittorrent" Fixing it would be kind :)

comment:6 Changed 11 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:7 Changed 11 years ago by whalenster@…

Please fix this. I can't install SPE.

comment:8 Changed 11 years ago by whalenster@…

Cc: whalenster@… added

Cc Me!

comment:9 Changed 11 years ago by jmroot (Joshua Root)

Keywords: wxwidgets26 removed
Port: wxWidgets26 added

Just to clearly state the problem: wxWidgets26 uses MoreFilesX internally, which defines a function called FSVolumeMount. Leopard introduced an identically-named function in Carbon. A fix would have to remove or rename MoreFilesX's version of the function, depending on whether it is equivalent to Carbon's version.

comment:10 Changed 11 years ago by jyrkiwahlstedt

Well, I got that fixed, but then the next incompatibility appeared:

../src/mac/carbon/thread.cpp:1022: error: invalid conversion from 'long int' to 'void*'
../src/mac/carbon/thread.cpp:1022: error:   initializing argument 2 of 'OSStatus MPSetTaskStorageValue(TaskStorageIndex, void*)'.

That is a type conversion thing that can be fixed. If all the problems are type conversions only, there is hope. However, it is totally possible that the package can be built, but it does not work, which is the worst case. But we'll see...

comment:11 Changed 11 years ago by jyrkiwahlstedt

Resolution: fixed
Status: newclosed

Ok, now this builds on Leopard with patches added in r54612.

Note: See TracTickets for help on using tickets.