Opened 2 years ago

Closed 2 years ago

#65811 closed defect (worksforme)

i3wm fails to install because outdated xkbcommon can’t be found

Reported by: jenstroeger (Jens Troeger) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: Cc:
Port: i3

Description

sudo port install i3 wants to install

--->  Fetching distfiles for xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://distfiles.macports.org/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://aarnet.au.distfiles.macports.org/pub/macports/distfiles/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://jog.id.distfiles.macports.org/macports/distfiles/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://ywg.ca.distfiles.macports.org/mirror/macports/distfiles/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://kmq.jp.distfiles.macports.org/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://pek.cn.distfiles.macports.org/macports/distfiles/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://xkbcommon.org/download/
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://fra.de.distfiles.macports.org/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://mse.uk.distfiles.macports.org/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://nue.de.distfiles.macports.org/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://cph.dk.distfiles.macports.org/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://cjj.kr.distfiles.macports.org/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://atl.us.distfiles.macports.org/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://ema.uk.distfiles.macports.org/xkbcommon
--->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://fco.it.distfiles.macports.org/xkbcommon
Error: Failed to fetch xkbcommon: The requested URL returned error: 404 Not Found

which is rather dated and fails. Is the port https://github.com/macports/macports-ports/tree/master/x11/i3 maintained?

Change History (7)

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

Priority: HighNormal

There isn't a port called xkbcommon in the current ports tree, and i3 does not list that as a dependency:

% port info xkbcommon       
Error: Port xkbcommon not found
% port deps i3              
Full Name: i3 @4.18.1_0
Build Dependencies:   asciidoc, docbook-xml-4.5, pkgconfig, xmlto
Library Dependencies: cairo, dmenu, gettext, glib2, libev, libiconv,
                      libxkbcommon, libxkbcommon-x11, pango, pcre, perl5,
                      startup-notification, xorg-libxcb, xorg-xcb-util,
                      xorg-xcb-util-cursor, xorg-xcb-util-keysyms,
                      xorg-xcb-util-wm, xorg-xcb-util-xrm, yajl

Can you make sure your ports are up to date and attach your log if the problem persists?

comment:2 Changed 2 years ago by jenstroeger (Jens Troeger)

I updated my local ports before I attempted to install i3.

Also, the package libxkbcommon is a library

https://ports.macports.org/port/libxkbcommon/
https://ports.macports.org/port/libxkbcommon-x11/

and i3

https://ports.macports.org/port/i3/

lists both:

https://github.com/macports/macports-ports/blob/12d32da89a6d275f9de6dd4e4e4f3dc6c0aea369/x11/i3/Portfile#L41-L42

The question is, why is i3 pulling in the outdated lib and why is that failing. A little poking around:

https://github.com/xkbcommon/libxkbcommon/releases/tag/xkbcommon-0.5.0

The log is here:

:debug:clean Starting logging for xkbcommon @0.5.0_0
:debug:sysinfo macOS 10.14.6 (darwin/18.7.0) arch i386
:debug:sysinfo MacPorts 2.7.2
:debug:sysinfo Xcode 11.3
:debug:sysinfo SDK 10.14
:debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.14
:debug:clean dropping privileges: euid changed to 502, egid changed to 501.
:debug:main Executing org.macports.main (xkbcommon)
:debug:main Privilege de-escalation not attempted as not running as root.
:debug:archivefetch archivefetch phase started at Sat Sep 10 07:09:15 AEST 2022
:debug:archivefetch Executing org.macports.archivefetch (xkbcommon)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:fetch fetch phase started at Sat Sep 10 07:09:16 AEST 2022
:notice:fetch --->  Fetching distfiles for xkbcommon
:debug:fetch Executing org.macports.fetch (xkbcommon)
:info:fetch --->  libxkbcommon-0.5.0.tar.xz does not exist in /opt/local/var/macports/distfiles/xkbcommon
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://distfiles.macports.org/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://aarnet.au.distfiles.macports.org/pub/macports/distfiles/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://jog.id.distfiles.macports.org/macports/distfiles/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://ywg.ca.distfiles.macports.org/mirror/macports/distfiles/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://kmq.jp.distfiles.macports.org/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://pek.cn.distfiles.macports.org/macports/distfiles/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://xkbcommon.org/download/
:debug:fetch Fetching distfile failed: SSL certificate problem: certificate has expired
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://fra.de.distfiles.macports.org/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://mse.uk.distfiles.macports.org/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://nue.de.distfiles.macports.org/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://cph.dk.distfiles.macports.org/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://cjj.kr.distfiles.macports.org/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://atl.us.distfiles.macports.org/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://ema.uk.distfiles.macports.org/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:notice:fetch --->  Attempting to fetch libxkbcommon-0.5.0.tar.xz from http://fco.it.distfiles.macports.org/xkbcommon
:debug:fetch Fetching distfile failed: The requested URL returned error: 404 Not Found
:error:fetch Failed to fetch xkbcommon: The requested URL returned error: 404 Not Found
:debug:fetch Error code: NONE
:debug:fetch Backtrace: The requested URL returned error: 404 Not Found
:debug:fetch     while executing
:debug:fetch "error $lastError"
:debug:fetch     (procedure "portfetch::fetchfiles" line 66)
:debug:fetch     invoked from within
:debug:fetch "portfetch::fetchfiles"
:debug:fetch     (procedure "portfetch::fetch_main" line 17)
:debug:fetch     invoked from within
:debug:fetch "$procedure $targetname"
:error:fetch See /opt/local/var/macports/logs/_Users_savage_opt_ports_x11_xkbcommon/xkbcommon/main.log for details.

comment:3 in reply to:  2 Changed 2 years ago by jmroot (Joshua Root)

Replying to jenstroeger:

I updated my local ports before I attempted to install i3.

Also, the package libxkbcommon is a library

https://ports.macports.org/port/libxkbcommon/
https://ports.macports.org/port/libxkbcommon-x11/

Yes, but your log says xkbcommon, not libxkbcommon. It looks like you have a local ports tree at /Users/savage/opt/ports, which is listed earlier than the official tree in your sources.conf, and contains this port and quite likely a modified i3 port.

comment:4 Changed 2 years ago by jenstroeger (Jens Troeger)

@jmroot Dang, you’re right! I removed cleared out the ~/opt/ports/ folder which contained an i3 and xkbcommon port and then I was able to build the i3 port.

However, it doesn’t run:

dyld: lazy symbol binding failed: Symbol not found: _cairo_xcb_surface_create
  Referenced from: /opt/local/bin/i3
  Expected in: /opt/local/lib/libcairo.2.dylib

dyld: Symbol not found: _cairo_xcb_surface_create
  Referenced from: /opt/local/bin/i3
  Expected in: /opt/local/lib/libcairo.2.dylib

Abort trap: 6

and I noticed that

cairo @1.17.4_0+quartz (active)

was built with the quartz variant (so is pango) whereas

> port info i3
i3 @4.18.1 (x11)

...

requires x11, and it doesn’t list _any_ variants. Could that be an issue?

comment:5 Changed 2 years ago by jmroot (Joshua Root)

Yes, it may well need cairo +x11. Depending on a variant isn't possible, so the best that can be done without refactoring cairo into separate subports for x11 and quartz components is to use the active_variants portgroup. Unfortunately the i3 port currently has no maintainer.

comment:6 Changed 2 years ago by jenstroeger (Jens Troeger)

I think I’m getting somewhere: added x11 as a variant to both:

  cairo @1.17.4_0+quartz+x11 (active)
  pango @1.50.7_0+quartz+x11 (active)

and then I could start i3. However, the i3bar doesn’t show and I’m trying to get that sorted.

That’s when I noticed that there’s no i3status port. So I installed the libconfuse port and the pulseaudio +x11 port, and built it locally. Did you want a ticket for that?

I suppose we can close this ticket then.

comment:7 in reply to:  6 Changed 2 years ago by jmroot (Joshua Root)

Resolution: worksforme
Status: newclosed

Replying to jenstroeger:

That’s when I noticed that there’s no i3status port. So I installed the libconfuse port and the pulseaudio +x11 port, and built it locally. Did you want a ticket for that?

A GitHub PR is preferable for contributions, but a ticket also works.

I suppose we can close this ticket then.

OK, closing.

Note: See TracTickets for help on using tickets.