need to recompile some packages after upgrading to -current
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
need to recompile some packages after upgrading to -current
I've been running i3 window manager on 13.37. A few weeks ago I upgraded to -current and since then i3 wouldn't start. When I typed startx it wouldn't start X. It would revert back to cli without any apparent error messages. I checked /var/log/Xorg.0.log and couldn't see anything that would clearly indicate an error. It happened only with i3. All other DE/WM would work normally after the upgrade.
I've solved my problem by recompiling i3 and its dependencies: libev and yajl so it's working fine now. I'll show my ignorance and ask why it happened?
libev/yail don't seem to depend on anything specific, do they? I looked at the -current changelog but I don't yet understand all the relations between packages. I know that the kernel has changed since 13.37, the build tools as well, and I know that the versions of packages from slackbuilds.org are not really meant for -current. Is there any specific package/change between 13.37 and current that broke it?
Thank you.
Thanks. It partially make sense (to me) because eg. libc and ld-linux which are listed in the ldd output belong to glibc which has been upgraded, however, why did other non-stock packages that I compiled from slackbuilds.org work fine?
Btw, if you decide to try i3, I'd suggest getting the latest version (4.1.1) as there were quite a few changes from the 3.x version which is available from slackbuilds.org. 4.x has a MUCH cleaner config file and extra functionality (eg. supports icons in the status bar). I've modified the slackbuild from slackbuilds.org to work with 4.x. If you want I can send it to you.
I've had the SlackBuilds version installed for a couple of days now. Does the 4.1.1 have the same versions of dependencies as the 3.x.x? I could probably edit the SlackBuild myself, then build it and use upgradepkg. There's i3-status, too, that would need updating.
edit: didn't see your post above when I typed my reply
Quote:
Originally Posted by brianL
Does the 4.1.1 have the same versions of dependencies as the 3.x.x?
As far as I know, it does (libev, yajl and dmenu)
Quote:
Originally Posted by brianL
I could probably edit the SlackBuild myself, then build it and use upgradepkg.
True.
Quote:
Originally Posted by brianL
There's i3-status, too, that would need updating.
You could stick to version 2.1 from slackbuilds.org but you'd have to make sure that you include the option output_format = none in i3 config file. Otherwise it'd probably be best to upgrade it to 2.3. Personally, I don't use i3status at all. i3status is probably the most optimal way of displaying information, but somehow I got used to my conky script.
There's also i3lock but I didn't even bother installing it as it requires PAM. Instead I use slock from slackbuilds.org.
This is my i3 config. It mostly contains the default settings. There are however my additions as well.
(edit: the config file below is incompatible with 3.x)
Code:
force_xinerama yes
workspace_auto_back_and_forth yes
set $mod Mod1
set $ms Mod4
# font for window titles. ISO 10646 = Unicode
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
new_window 1pixel
# start a terminal
bindsym $mod+Return exec --no-startup-id /usr/bin/sakura
bindsym $mod+b exec /usr/bin/firefox
bindsym $mod+m exec /usr/bin/thunderbird
# With the ms button
bindsym $ms+Return exec --no-startup-id /usr/bin/urxvt
bindsym $ms+f exec --no-startup-id /usr/bin/urxvt -c mc
bindsym $ms+e exec --no-startup-id /usr/bin/sakura -x "emacs -nw ~/data/projects/"
bindsym $ms+p exec --no-startup-id /usr/bin/ncmpcpp toggle
bindsym $ms+equal exec --no-startup-id /usr/bin/aumix -v +5
bindsym $ms+minus exec --no-startup-id /usr/bin/aumix -v -5
# kill focused window
bindsym $mod+Shift+Q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+J move left
bindsym $mod+Shift+K move down
bindsym $mod+Shift+L move up
bindsym $mod+Shift+colon move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# change container layout (stacked, tabbed, default)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout default
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindcode $mod+d focus child
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move workspace 1
bindsym $mod+Shift+2 move workspace 2
bindsym $mod+Shift+3 move workspace 3
bindsym $mod+Shift+4 move workspace 4
bindsym $mod+Shift+5 move workspace 5
bindsym $mod+Shift+6 move workspace 6
bindsym $mod+Shift+7 move workspace 7
# reload the configuration file
bindsym $mod+Shift+C reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+R restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+E exit
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# They resize the border in the direction you pressed, e.g.
# when pressing left, the window is resized so that it has
# more space on its left
bindsym j resize shrink left 10 px or 10 ppt
bindsym Shift+J resize grow left 10 px or 10 ppt
bindsym k resize shrink down 10 px or 10 ppt
bindsym Shift+K resize grow down 10 px or 10 ppt
bindsym l resize shrink up 10 px or 10 ppt
bindsym Shift+L resize grow up 10 px or 10 ppt
bindsym semicolon resize shrink right 10 px or 10 ppt
bindsym Shift+colon resize grow right 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink left 10 px or 10 ppt
bindsym Shift+Left resize grow left 10 px or 10 ppt
bindsym Down resize shrink down 10 px or 10 ppt
bindsym Shift+Down resize grow down 10 px or 10 ppt
bindsym Up resize shrink up 10 px or 10 ppt
bindsym Shift+Up resize grow up 10 px or 10 ppt
bindsym Right resize shrink right 10 px or 10 ppt
bindsym Shift+Right resize grow right 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
assign [class="(?i)firefox"] 2
assign [class="(?i)urxvt"] 4
assign [class="(?i)sakura"] 1
assign [class="Thunderbird"] 2
# Colors
#
client.focused #000000 #55d400 #000000
client.focused_inactive #225500 #225500 #000000
client.unfocused #888888 #888888 #888888
client.urgent #ff6600 #a00000 #ffffff
bar {
status_command conky -c ~/.i3/scripts/conkyrc
position: bottom
colors {
background: #000000
statusline: #55d400
focused_workspace: #000000 #55d400 #999999
inactive_workspace: #55d400 #000000 #999999
}
}
The i3 website contains very good documentation. Additionally the irc channel is active and friendly (and Michael Stapelberg, i3's creator, is almost always present there).
A couple of years ago when I was starting with i3 and its status bar configuration was slightly messy and complex, I received a lot of help from GrapefruiTgirl (just wondering what has happened to her ) who even wrote a status display script in Awk. With i3 v 4.x they cleaned the config files and it's now much more straightforward than it used to be. It takes time to get used to controlling most things via keyboard but it pays off eventually. Having said that, my impression is that to really appreciate the benefits of tiling wm in general it's handy to use them on large displays.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.