-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Raspbian has Ruby already installed, why? And an older version to boot, 1.9.3 #900
Comments
This repo if for linux kernel issues. Your issue appears to be a raspbian image issue. Probably best to ask in the raspbian forum: http://www.raspberrypi.org/forums/viewforum.php?f=66 |
Thought I'd come back and post my results. More on the subject here: http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=104861&sid=c9a89d0005ee5cd2ff63cd137911a9f5 Finally I gave up just installed a clean Raspbian and used the 'old' packages (it worked by the way, it's a good thing): sudo apt-get netatalk - for mDNS and file sharing so I can contact my Pi on raspberrypi.local, if you only need mDNS then just install sudo apt-get avahi, I don't see why this is not included in Raspbian by default, no point in having a hostname if you can't use it to find your Pi on the local network. sudo apt-get update - update the repository list. sudo apt-get ruby1.9.1-dev - actually install Ruby 1.9.3-p227-dev the actual name of the package stayed the same while the contents were updated. You need it to compile stuff, especially on the Pi 2 where there are no prebuilt packages available. sudo gem install passenger - get Passenger (link between Ruby apps and Nginx) installed.
sudo passenger-install-nginx-module - compile and install Nginx with the Passenger module. sudo gem install your_app_of_choice - your app should compile and install it's own dependencies, follow on-screen instructions if it fails. |
It was possible for channel allocation logic to get confused between what it had and what it wanted, and end up trying to use the same channel for both PTP and regular TX. This led to a kernel panic: BUG: unable to handle page fault for address: 0000000000047635 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: 0002 [raspberrypi#1] SMP PTI CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 5.4.0-rc3-ehc14+ raspberrypi#900 Hardware name: Dell Inc. PowerEdge R710/0M233H, BIOS 6.4.0 07/23/2013 RIP: 0010:native_queued_spin_lock_slowpath+0x188/0x1e0 Code: f3 90 48 8b 32 48 85 f6 74 f6 eb e8 c1 ee 12 83 e0 03 83 ee 01 48 c1 e0 05 48 63 f6 48 05 c0 98 02 00 48 03 04 f5 a0 c6 ed 81 <48> 89 10 8b 42 08 85 c0 75 09 f3 90 8b 42 08 85 c0 74 f7 48 8b 32 RSP: 0018:ffffc90000003d28 EFLAGS: 00010006 RAX: 0000000000047635 RBX: 0000000000000246 RCX: 0000000000040000 RDX: ffff888627a298c0 RSI: 0000000000003ffe RDI: ffff88861f6b8dd4 RBP: ffff8886225c6e00 R08: 0000000000040000 R09: 0000000000000000 R10: 0000000616f080c6 R11: 00000000000000c0 R12: ffff88861f6b8dd4 R13: ffffc90000003dc8 R14: ffff88861942bf00 R15: ffff8886150f2000 FS: 0000000000000000(0000) GS:ffff888627a00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000047635 CR3: 000000000200a000 CR4: 00000000000006f0 Call Trace: <IRQ> _raw_spin_lock_irqsave+0x22/0x30 skb_queue_tail+0x1b/0x50 sock_queue_err_skb+0x9d/0xf0 __skb_complete_tx_timestamp+0x9d/0xc0 efx_dequeue_buffer+0x126/0x180 [sfc] efx_xmit_done+0x73/0x1c0 [sfc] efx_ef10_ev_process+0x56a/0xfe0 [sfc] ? tick_sched_do_timer+0x60/0x60 ? timerqueue_add+0x5d/0x70 ? enqueue_hrtimer+0x39/0x90 efx_poll+0x111/0x380 [sfc] ? rcu_accelerate_cbs+0x50/0x160 net_rx_action+0x14a/0x400 __do_softirq+0xdd/0x2d0 irq_exit+0xa0/0xb0 do_IRQ+0x53/0xe0 common_interrupt+0xf/0xf </IRQ> In the long run we intend to rewrite the channel allocation code, but for 'net' fix this by allocating extra_channels, and giving them TX queues, even if we do not in fact need them (e.g. on NICs without MAC TX timestamping), and thereby using simpler logic to assign the channels once they're allocated. Fixes: 3990a8f ("sfc: allocate channels for XDP tx queues") Signed-off-by: Edward Cree <ecree@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
I'm trying out a Ruby gem, and it took a lot of work to get up and running on Raspbian. It seems Ruby 1.9.3 was present, tried:
"apt-get remove ruby1.9.3" only to find out the actual package name is ruby1.9.1 and it got updated. Searching a little deeper reveals a lot of packages if not all, are outdated.
Why is it there? I mean, It can very well continue to be listed in the repositories, but I was thinking it would be best not to include it in the initial installation.
PS. Apparently the Ruby community even has a quote on this:
"Under no circumstance should you install Ruby, Rubygems or any Ruby-related packages from apt-get. This system is out-dated and leads to major headaches. Avoid it for Ruby-related packages. We do Ruby, we know what's best. Trust us."
Oh yeah?! What if it comes preinstalled? 💃
The text was updated successfully, but these errors were encountered: