/*
SYNOPSIS:
With GCC >= 4.6:
# gccgo gcd.go -o gcd-go
# ./gcd-go 11 22 33 44 121
With Google Go (6g for amd64, 8g for x86):
# 6g -o gcd-go.o gcd.go
# 6l -o gcd-go-6g gcd-go.o
# ./gcd-go-6g 11 22 33 44 121
GCC makes dynamically linked binary,
but Google Go - statically linked
*/
package main
// Both Google Go and GCC issue an error "imported and not used",
// if imported and not used :-)
import "fmt"
import "flag"
import "strconv"
func gcd2 (a, b uint) uint {
if b == 0 {
return a
}
/* 6g issues an error "function ends without a return statement",
if we use if ... {... return} else {... return}.
But GCC doesn't.
*/
return gcd2(b, a % b)
}
func gcdn (ns []uint) uint {
var r uint // zero by default
for i := range ns {
r = gcd2(r, ns[i])
}
return r
}
func main() {
flag.Parse() // without this 6g will give flag.NArg() = 0 next (WTF?)
n := flag.NArg()
if n > 0 {
ns := make([]uint, n) // We have garbage collector!
// Or: for i := range ns, since range of ns is equal to flag.NArg()
for i := 0; i < n; i++ {
// Drop the second return value (error code):
ns[i], _ = strconv.Atoui(flag.Arg(i))
}
g := gcdn(ns)
fmt.Printf("%v\n", g)
}
}
https://github.com/ip1981/ebuilds/t
Оказывается, в Дебиане библиотеки «неисполняемые»,
а в Генте — «исполняемые», как и в Солярисе.
Гента:
-rwxr-xr-x 1 root root 154K Янв 11 20:47 /usr/lib/libexpat.so.1.5.2
Дебиан:
-rw-r--r-- 1 root root 162K Дек 30 2009 /usr/lib/libexpat.so.1.5.2
Дела...
Если что, kbuild надо собирать строго локально:
FEATURES='-distcc' emerge -v dev-util/kbuild
Иначе сборка вываливается с сообщением:
kmk: Leaving directory `/var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5' kmk: Entering directory `/var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5' kBuild: Pass - Build Programs kBuild: Pass - Libraries kBuild: Compiling kDep - /var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5/src/lib/kDep.c i686-pc-linux-gnu-gcc: не задан аргумент ключа '-o' distcc[20217] ERROR: compile (null) on localhost failed kmk: *** [/var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5/out/linux.x86/release/obj/kDep/kDep.o] Error 1 The failing command: @gcc -c -O2 -g -O3 -m32 -I/var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5/src/lib -DKBUILD_VERSION_MAJOR=0 -DKBUILD_VERSION_MINOR=1 -DKBUILD_VERSION_PATCH=98 -DKBUILD_OS_LINUX -DKBUILD_ARCH_X86 -DNDEBUG -Wp,-MD,/var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5/out/linux.x86/release/obj/kDep/kDep.o.dep -Wp,-MT,/var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5/out/linux.x86/release/obj/kDep/kDep.o -Wp,-MP -o /var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5/out/linux.x86/release/obj/kDep/kDep.o /var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5/src/lib/kDep.c kmk: Leaving directory `/var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5' make: *** [/var/tmp/portage/dev-util/kbuild-0.1.5-r1/work/kBuild-0.1.5/out/linux.x86/release/bootstrap/ts-stage2-build] Ошибка 2 kBuild/env.sh: info: rc=2: make -f bootstrap.gmk AUTORECONF=true
https://github.com/ip1981/ebuilds
Ekiga 3.3.0, PTlib 2.8.4, Opal 3.8.4.
Оно звонит!
UPD: http://git.gnome.org/browse/ekiga/commi
Дано: Garmin eTrex Venture HC с интерфейсом USB,
но как USB Storage не работает.
(http://www.garmin.ru/portativnye-turis
Надо: Загрузить в него новую карту.
Разумеется, свободную.
Условия: Только свободные программы.
Решение:
# java -Xmx2000m -jar splitter-r164/splitter.jar map.osm # mkgmap --tdbfile --codepage=1251 --charset=cp1251 63240001.osm.gzmkgmap есть в портежах Gentoo, а splitter — нету, поэтому так по разному
https://github.com/ip1981/ebuilds/t
По-моему вопреки ману, при шлёпанье по моему тачпаду
происходит событие TapButton2, а не TapButton1.
Это удалось выяснить с помощью xev.
Алсо, ещё один конфиг синаптика (Asus X80L):
# cat /etc/X11/xorg.conf.d/50-synaptics.conf Section "InputClass" Identifier "touchpad" Driver "synaptics" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "SHMConfig" "true" Option "TapButton1" "1" Option "TapButton2" "1" Option "TapButton3" "1" Option "FastTaps" "1" Option "FingerLow" "10" Option "FingerHigh" "13" Option "MaxSpeed" "2" Option "MaxDoubleTapTime" "30" EndSection
Option "TapButton1" "integer" Which mouse button is reported on a non-corner one-finger tap. Set to 0 to disable. Property: "Synaptics Tap Action" Option "TapButton2" "integer" Which mouse button is reported on a non-corner two-finger tap. Set to 0 to disable. Property: "Synaptics Tap Action" Option "TapButton3" "integer" Which mouse button is reported on a non-corner three-finger tap. Set to 0 to disable. Property: "Synaptics Tap Action"
https://github.com/ip1981/ebuilds/b
Жду критики.
Снёс Слаку, поставил Генту. Более семи лет я шёл к своему счатью :-)
Генту — это правильный Дебиан.