Opened 7 years ago
Last modified 6 years ago
#55104 assigned defect
kde4-workspace: fails to compile on High Sierra
Reported by: | meabandit | Owned by: | RJVB (René Bertin) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | highsierra | Cc: | jjstickel (Jonathan Stickel) |
Port: | kde4-workspace |
Description
Find the attached log from clean build with build.jobs=1
Attachments (3)
Change History (14)
Changed 7 years ago by meabandit
Attachment: | main.log.gz added |
---|
comment:1 Changed 7 years ago by mf2k (Frank Schima)
Owner: | set to RJVB |
---|---|
Status: | new → assigned |
comment:2 Changed 7 years ago by RJVB (René Bertin)
Apparently something goes wrong building, a component that we should be able to drop without any loss in functionality.
Can you please do something along the lines
> (cd `port work kde4-workspace`/build ; make -wk)
to check if this is the only component that fails to build?
comment:3 Changed 7 years ago by kencu (Ken)
This looked a lot like the error in libalkimia
, and indeed, the same fix used there fixes this also:
# darwin17 (and later?) does not export visibile symbols # https://trac.macports.org/ticket/55090 if { ${os.platform} eq "darwin" && ${os.major} >= 17 } { configure.cxxflags-append -D__KDE_HAVE_GCC_VISIBILITY }
$ port -v installed kde4-workspace The following ports are currently installed: kde4-workspace @4.14.4.20150324_3+oxygen (active) platform='darwin 17' archs='x86_64' date='2017-10-29T11:31:40-0700'
So there is some kind of systemic change, either in Darwin17 or in Xcode 9 (I don't have a darwin16/Xcode9 setup any more) that is causing this.
Rather than add this bit to every KDE4 port, perhaps someone who knows the guts of this might fix it properly? Or at least we can add this hack into the kde4 1.1
PortGroup so that all the kde ports get it.
comment:4 Changed 7 years ago by RJVB (René Bertin)
I wouldn't be surprised if the visibility model has moved to 'hidden by default' in recent compiler versions and/or C++ flavours (I've been running into visibility issues even on 10.9 of late).
Does the AppleClang from Darwin17 still support -fvisibility=hidden
? I see several tests
# visibility support check_cxx_compiler_flag(-fvisibility=hidden __KDE_HAVE_GCC_VISIBILITY) set( __KDE_HAVE_GCC_VISIBILITY ${__KDE_HAVE_GCC_VISIBILITY} CACHE BOOL "GCC support for hidden visibility")
in the various cmake modules installed by KDElibs4. If I'm not mistaken that will define __KDE_HAVE_GCC_VISIBILITY
provided the compiler supports the flag.
You may need to check the cmake error file (probably ${build.dir}/CMakeFiles/CMakeError.log or ${build.dir}/CMakeFiles/CMakeOutput.log) to see what happens with that test.
comment:5 Changed 7 years ago by kencu (Ken)
Here are those two files, from a failing build on darwin17 It almost seems like those tests are not even happening...
Changed 7 years ago by kencu (Ken)
Attachment: | CMakeError.log added |
---|
Changed 7 years ago by kencu (Ken)
Attachment: | CMakeOutput.log added |
---|
comment:6 Changed 7 years ago by RJVB (René Bertin)
Strange, I cannot seem to find any trace of that the test above is being executed. Maybe it isn't, in which case it would probably indeed make sense to define __KDE_HAVE_GCC_VISIBILITY
in the KDE4 PG.
Pinging @nicos...
comment:7 Changed 7 years ago by kencu (Ken)
This port still breaks, to no great surprise. I did add the block to the kde4-1.1.tcl file, and so far it seems to work as expected:
if { ${os.platform} eq "darwin" && ${os.major} >= 17 } { configure.cxxflags-append -D__KDE_HAVE_GCC_VISIBILITY }
comment:8 follow-up: 9 Changed 7 years ago by RJVB (René Bertin)
Is this the only KDE4 port which requires this? Have you tried what happens after you rebuild kde4libs with this flag added, and even if it is still required to keep adding the flag when kde4libs was built with it? (port:kde4libs installs the cmake modules used to determine how KDE4 software is built and just might include this setting too.)
If the KDE4 port:kde4libs build is not affected by this then it should be fine to put that block in the PG. Officially that call would be for @nicos to make, but I'd do it myself if I had commit access.
comment:9 Changed 7 years ago by Nowaker (Damian Nowak)
comment:10 Changed 7 years ago by RJVB (René Bertin)
You don't have to tell me - I made the kde4-workspace possible back in the day.
That said, you don't actually need it AFAIK. You need a kdeglobals file to set up the theme and it's not impossible to create that file by hand - or simply copy it from a Linux desktop.
comment:11 Changed 6 years ago by jjstickel (Jonathan Stickel)
Cc: | jjstickel added |
---|
In the future, please Cc the port maintainers (
port info --maintainers kde4-workspace
), if any.