Opened 8 years ago

Closed 8 years ago

#50504 closed defect (fixed)

webkit2-gtk build error

Reported by: mvenkadesan (MV) Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: dbevans (David B. Evans)
Port: webkit2-gtk

Description

Trying to upgrade to the latest yelp tried to install webkit2-gtk on my computer. I have been using yelp fine without webkit2-gtk installed until recently. However, the attempted build of webkit2-gtk fails with an error message. The line from the logfile reporting the error is:

:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_www_webkit2-gtk/webkit2-gtk/work/webkitgtk-2.11.4/Source/WebCore/platform/graphics/PlatformDisplay.cpp:49:10: fatal error: 'gdk/gdkx.h' file not found
:info:build #include <gdk/gdkx.h>

There are a whole bunch of other messages that I don't know how to parse. So, I have attached the log file from the build. Is anyone else facing this? Usual attempts of sudo port clean and then install did not fix it. I cannot force uninstall and reinstall, because webkit2-gtk does not even exist on my system. Any other help?

Attachments (1)

main.log.zip (1.5 MB) - added by mvenkadesan (MV) 8 years ago.
ZIP file with the log file from the failed install.

Download all attachments as: .zip

Change History (8)

Changed 8 years ago by mvenkadesan (MV)

Attachment: main.log.zip added

ZIP file with the log file from the failed install.

comment:1 Changed 8 years ago by dbevans (David B. Evans)

Cc: devans@… added
Owner: changed from macports-tickets@… to jeremyhu@…
Port: webkit2-gtk added
Version: 2.3.4

The error message indicates that gtk3 +x11 is expected but not installed. I assume this means that you are building +quartz.

As far as yelp goes, the latest version requires webkit2-gtk, 3.17.2 and older used webkit-gtk3.

In future, when submitting a ticket please copy the maintainers

port info --maintainers webkit2-gtk

and if you are building +quartz please mention that as well. Thanks.

comment:2 Changed 8 years ago by dbevans (David B. Evans)

From a reexamination of the attached log file, it appears that this is not a +quartz but an X11 build on El Capitan. The log shows that the port is configured for an X11 build and that gtk3 +x11 is installed and install paths recognized. In particular the gtk3 include path is configured as /opt/local/include/gtk-3.0. gtk3 installs gdk/gdkx.h at /opt/local/include/gtk-3.0/gdk/gdkx.h so the build should work (and does on my machine).

Please make sure gtk3 is installed correctly and /opt/local/include/gtk-3.0/gdk/gdkx.h exists. If not you should reinstall gtk3. Please also make sure that in upgrading to El Capitan you followed all the Migration instructions including the uninstall and reinstall of MacPorts and that you are using the latest Xcode 7.2 for El Capitan.

comment:3 in reply to:  2 ; Changed 8 years ago by mvenkadesan (MV)

I will be certain to copy the maintainers in the future.

I am not building +quartz. The build of webkit2-gtk was launched by "port upgrade outdated" after a selfupdate. I migrated to El Capitan several months ago, and followed all posted instructions, including uninstall + reinstall of Macports and the latest Xcode (verified once again using xcodebuild -version).

As for gtk3, that also seems to installed fine on the computer, including gdkx.h. On a whim, I looked up /opt/local/include/gtk-2.0/gdk/gdkx.h and found that to be missing. The folder is around and has other .h files in it, just not gdkx.h. This is strange because "port installed webkit2-gtk" says, "None of the specified ports are installed". On my second computer that is running El Capitan, and successfully upgraded yelp, the gdkx.h file exists inside the gtk-2.0 tree.

Replying to devans@…:

From a reexamination of the attached log file, it appears that this is not a +quartz but an X11 build on El Capitan. The log shows that the port is configured for an X11 build and that gtk3 +x11 is installed and install paths recognized. In particular the gtk3 include path is configured as /opt/local/include/gtk-3.0. gtk3 installs gdk/gdkx.h at /opt/local/include/gtk-3.0/gdk/gdkx.h so the build should work (and does on my machine).

Please make sure gtk3 is installed correctly and /opt/local/include/gtk-3.0/gdk/gdkx.h exists. If not you should reinstall gtk3. Please also make sure that in upgrading to El Capitan you followed all the Migration instructions including the uninstall and reinstall of MacPorts and that you are using the latest Xcode 7.2 for El Capitan.

comment:4 in reply to:  3 Changed 8 years ago by dbevans (David B. Evans)

Replying to m.venkadesan@…:

As for gtk3, that also seems to installed fine on the computer, including gdkx.h. On a whim, I looked up /opt/local/include/gtk-2.0/gdk/gdkx.h and found that to be missing. Is it installed? The folder is around and has other .h files in it, just not gdkx.h.

This would be installed by gtk2. Is it installed?

This is strange because "port installed webkit2-gtk" says, "None of the specified ports are installed".

This just means that you haven't successfully installed webkit2-gtk as yet.

On my second computer that is running El Capitan, and successfully upgraded yelp, the gdkx.h file exists inside the gtk-2.0 tree.

This goes to reinforce the idea that there is a problem with your MacPorts installation or configuration on the failing machine. If nothing else works you may have to just remove your existing installation entirely (as per the Migration instructions) and make a fresh install.

comment:5 in reply to:  3 ; Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Replying to m.venkadesan@…:

As for gtk3, that also seems to installed fine on the computer, including gdkx.h. On a whim, I looked up /opt/local/include/gtk-2.0/gdk/gdkx.h and found that to be missing. The folder is around and has other .h files in it, just not gdkx.h.

That seems to be the problem. The compilation line shows that it's building for gtk-2 support at that point. I have /opt/local/include/gtk-2.0/gdk/gdkx.h on my system. What are your installed variants for gtk2?

On my second computer that is running El Capitan, and successfully upgraded yelp, the gdkx.h file exists inside the gtk-2.0 tree.

Which suggests a problem with your gtk2 install. Are you sure it's not installed +quartz? Run 'port installed gtk2'

comment:6 in reply to:  5 Changed 8 years ago by mvenkadesan (MV)

That's it! The upgrade to yelp was calling for webkit2-gtk (x11 variant) to be installed. But, several other packages that webkit2-gtk needed were the quartz variant. That clash was not reported in those terms. There were several other packages (to do with inkscape and meld) that I had to force uninstall and install the +x11 variant. I am including the list in case someone else finds it useful.

  • gtk2
  • gtkmm
  • py27-pygtk
  • gtk-osx-application-gtk2
  • gtksourceview2
  • py27-pygtksourceview
  • inkscape

Thank you for the help!

Replying to jeremyhu@…:

Replying to m.venkadesan@…:

As for gtk3, that also seems to installed fine on the computer, including gdkx.h. On a whim, I looked up /opt/local/include/gtk-2.0/gdk/gdkx.h and found that to be missing. The folder is around and has other .h files in it, just not gdkx.h.

That seems to be the problem. The compilation line shows that it's building for gtk-2 support at that point. I have /opt/local/include/gtk-2.0/gdk/gdkx.h on my system. What are your installed variants for gtk2?

On my second computer that is running El Capitan, and successfully upgraded yelp, the gdkx.h file exists inside the gtk-2.0 tree.

Which suggests a problem with your gtk2 install. Are you sure it's not installed +quartz? Run 'port installed gtk2'

comment:7 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed

r145380 should provide detection of the issue.

Note: See TracTickets for help on using tickets.