LINUX.ORG.RU

Сообщения dismal_faun

 

Не компилируется net-im/psi-9999

Сабж

# LINGUAS="" emerge -av '=net-im/psi-9999'

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    *] net-im/psi-9999  USE="crypt ssl -dbus -debug -doc -enchant -extras -iconsets -jingle -plugins -powersave -spell -webkit -whiteboarding -xscreensaver" LINGUAS="-ar -be -bg -br -ca -cs -da -de -ee -el -eo -es -et -fi -fr -hr -hu -it -ja -mk -nl -pl -pt -pt_BR -ru -se -sk -sl -sr -sr@latin -sv -sw -uk -ur_PK -vi -zh_CN -zh_TW" 0 kB

Total: 1 package (1 new), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] 

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) net-im/psi-9999
>>> Unpacking source...
Already on 'master'
GIT update -->
   repository:               git://github.com/psi-im/psi.git
   at the commit:            9232d1220fabadfa010d679a1b1bdca589baab87
   branch:                   master
   storage directory:        "/datum/gentoo-distfiles/egit-src/psi.git"
   checkout type:            non-bare repository
Synchronizing submodule url for 'iris'
Synchronizing submodule url for 'src/libpsi'
Branch branch-master set up to track remote branch master from origin.
Switched to a new branch 'branch-master'
>>> Unpacked to /var/tmp/portage/net-im/psi-9999/work/psi-9999
>>> Source unpacked in /var/tmp/portage/net-im/psi-9999/work
>>> Preparing source in /var/tmp/portage/net-im/psi-9999/work/psi-9999 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/net-im/psi-9999/work/psi-9999 ...
 * ./configure 
 *              --prefix=/usr
 *              --qtdir=/usr
 *              --disable-bundled-qca
 *              --disable-growl
 *              --no-separate-debug-info
 *       --disable-qdbus --disable-aspell --disable-enchant --disable-xss
Usage: ./configure [OPTION]...

This script creates necessary configuration files to build/install.

Main options:
  --prefix=[path]     Base path for build/install.  Default: /usr/local
  --bindir=[path]     Directory for binaries.  Default: PREFIX/bin
  --libdir=[path]     Directory for libraries.  Default: PREFIX/lib
  --datadir=[path]    Directory for data.  Default: PREFIX/share
  --qtdir=[path]      Directory where Qt is installed.
  --verbose           Show extra configure output.
  --help              This help text.

Project options:
  --release                   Build with debugging turned off (default).
  --debug                     Build with debugging turned on.
  --no-separate-debug-info    Do not store debug information in a separate
                              file (default for mac).
  --separate-debug-info       Strip debug information into a separate .debug
                              file (default for non-mac).

Dependency options:
  --with-qca-inc=[path]       Path to QCA include files
  --with-qca-lib=[path]       Path to QCA library or framework files
  --with-zlib-inc=[path]      Path to zlib include files
  --with-zlib-lib=[path]      Path to zlib library files
  --enable-universal          Enable use of Mac OS X universal binary support
  --disable-qdbus             Disable use of QDBUS
  --disable-growl             Disable use of Growl
  --with-growl=[path]         Path to the Growl framework
  --enable-whiteboarding      Enable use of White Board support
  --disable-xss               Disable use of the XScreenSaver extension
  --disable-aspell            Disable use of aspell
  --with-aspell-inc=[path]    Path to Aspell include files
  --with-aspell-lib=[path]    Path to Aspell library files
  --disable-enchant           Disable use of enchant

 * Running qmake ...
 *  - fixed CONFIG in qa/oldtest/unittest.pri
 *  - fixed CONFIG in src/AutoUpdater/guitest/testapp/testapp.pro
WARNING: /var/tmp/portage/net-im/psi-9999/work/psi-9999/psi.pro:7: Unable to find file for inclusion conf.pri                                             [ ok ]
>>> Source configured.
>>> Compiling source in /var/tmp/portage/net-im/psi-9999/work/psi-9999 ...
make -j1 
cd iris/ && /usr/bin/qmake /var/tmp/portage/net-im/psi-9999/work/psi-9999/iris/iris.pro QTDIR=/usr/lib64 QMAKE=/usr/bin/qmake QMAKE_AR=x86_64-pc-linux-gnu-ar\ cqs QMAKE_CC=x86_64-pc-linux-gnu-gcc QMAKE_CXX=x86_64-pc-linux-gnu-g++ QMAKE_LINK=x86_64-pc-linux-gnu-g++ QMAKE_OBJCOPY=x86_64-pc-linux-gnu-objcopy QMAKE_RANLIB= QMAKE_STRIP= QMAKE_CFLAGS=-march=native\ -O2\ -pipe QMAKE_CFLAGS_RELEASE= QMAKE_CFLAGS_DEBUG= QMAKE_CXXFLAGS=-march=native\ -O2\ -pipe QMAKE_CXXFLAGS_RELEASE= QMAKE_CXXFLAGS_DEBUG= QMAKE_LFLAGS=-Wl,-O1\ -Wl,--as-needed QMAKE_LFLAGS_RELEASE= QMAKE_LFLAGS_DEBUG= QMAKE_LIBDIR_QT=/usr/lib64/qt4 QMAKE_LIBDIR_X11=/usr/lib64 QMAKE_LIBDIR_OPENGL=/usr/lib64 -o Makefile
WARNING: /var/tmp/portage/net-im/psi-9999/work/psi-9999/src/conf_iris.pri:5: Unable to find file for inclusion ../conf.pri
cd iris/ && make -f Makefile 
make[1]: Entering directory `/var/tmp/portage/net-im/psi-9999/work/psi-9999/iris'
cd src/ && /usr/bin/qmake /var/tmp/portage/net-im/psi-9999/work/psi-9999/iris/src/src.pro QTDIR=/usr/lib64 QMAKE=/usr/bin/qmake QMAKE_AR=x86_64-pc-linux-gnu-ar\ cqs QMAKE_CC=x86_64-pc-linux-gnu-gcc QMAKE_CXX=x86_64-pc-linux-gnu-g++ QMAKE_LINK=x86_64-pc-linux-gnu-g++ QMAKE_OBJCOPY=x86_64-pc-linux-gnu-objcopy QMAKE_RANLIB= QMAKE_STRIP= QMAKE_CFLAGS=-march=native\ -O2\ -pipe QMAKE_CFLAGS_RELEASE= QMAKE_CFLAGS_DEBUG= QMAKE_CXXFLAGS=-march=native\ -O2\ -pipe QMAKE_CXXFLAGS_RELEASE= QMAKE_CXXFLAGS_DEBUG= QMAKE_LFLAGS=-Wl,-O1\ -Wl,--as-needed QMAKE_LFLAGS_RELEASE= QMAKE_LFLAGS_DEBUG= QMAKE_LIBDIR_QT=/usr/lib64/qt4 QMAKE_LIBDIR_X11=/usr/lib64 QMAKE_LIBDIR_OPENGL=/usr/lib64 -o Makefile
Project LOAD(): Feature ../src/conf_iris.pri cannot be found.
make[1]: *** [src/Makefile] Error 3
make[1]: Leaving directory `/var/tmp/portage/net-im/psi-9999/work/psi-9999/iris'
make: *** [sub-iris-make_default] Error 2
 * ERROR: net-im/psi-9999 failed (compile phase):
 *   emake failed

Гуглинг по ключевым словам и выражения не принес полезной информации. Как эту фигню побороть?

 

dismal_faun
()

Gentoo udev /usr

Читал тут новости пришедшие с синком.

tl;dr
Если у вас /usr отдельным разделом и нету initrd, то после апдейтов udev'а от 19 марта система станет небутабельной.

Лично я пользуюсь genkernel'ом и мой /usr не отделён от корня, зависимость есть, брат жив.

2012-03-16-udev-181-unmasking
  Title                     udev-181 unmasking
  Author                    William Hubbs <williamh@gentoo.org>
  Posted                    2012-03-16
  Revision                  1

udev-181 is being unmasked on 2012-03-19.

This news item is to inform you that once you upgrade to a version of
udev >=181, if you have /usr on a separate partition, you must boot your
system with an initramfs which pre-mounts /usr.

An initramfs which does this is created by
>=sys-kernel/genkernel-3.4.25.1 or
>=sys-kernel/dracut-017-r1. If you do not want to use these tools, be
sure any initramfs you create pre-mounts /usr.

Also, if you are using OpenRC, you must upgrade to >= openrc-0.9.9.

For more information on why this has been done, see the following URL:
http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
dismal_faun
()

[node.js] Custom exception handling

Заинтересовался я тут проблемой формирования и обработки исключений для сабжевого фреймворка. На стековерфлов имеются некоторые намеки как это можно сделать.

Существует ли элегантный способ?

Вот собственно недорешение:

#!/usr/bin/env node

function defineException(name, parent) {
  var _parent = (parent || Error);
  var ex = function(message) {
    _parent.call(this);
    _parent.captureStackTrace(this, this.constructor);
    this.name = (this.constructor.name || this._name);
    this.message = (message || '');
  }
  ex.prototype.__proto__ = _parent.prototype;
  ex.prototype._parent = _parent;
  ex.prototype._name = name;
  //return ex;
  global[name] = ex;
}

//var EvilError = defineException();
defineException('EvilError');

function lol() {
  console.log('lol. start');
  throw new EvilError('smth very bad!');
  console.log('lol. end');
}

try {
  //throw new Error('ololo');
  lol();
}
catch (err) {
  if (err instanceof EvilError) {
    console.log('>:E 13/666');
    console.log('name:    %s\nmessage: %s\nstack:   %s',
      err.name, err.message, err.stack);
  } else {
    console.log('name:    %s\nmessage: %s\nstack:   %s',
      err.name, err.message, err.stack);
  }
}

 

dismal_faun
()

Отображение забанненого профиля из-под анона

Почему бы не сделать сабж таким же как из-под регистранта?
А то надпись «Пользователь такой-то не существует» вводит в некоторое замешательство.
Дискасс

dismal_faun
()

[gentoo] deadbeef @ git

Сегодня немного что-то обновлял на своей гентушечке и портеж мне предложил среди всех прочих preserved-rebuild'ов перекомпилить deadbeef; 0.5.1-r1 упорно не желал компилиться, после недолгих раздумий добавил оверлей stuff, ибо в нем имеется 9999.

И вот уже раз двадцатый подряд не может портеж его гит-репу склонировать.

Это у меня провайдер фиговый или гребаный сф рвет соединения? Есть ли способ скачать гит-репу тарболом, по какой-нибудь ссылке стойкой к разрывам или еще как?

ps: 2 megabaks

 * git.eclass is deprecated.
 * Please update your ebuilds to use git-2 instead. For details, see
 * http://archives.gentoo.org/gentoo-dev/msg_b7ba363cae580845819ae3501fb157e9.xml

 

dismal_faun
()

gentoo и wl-167g v3

значит есть gentoo ~amd64 и usb wifi адаптер asus wl-167g v3. как мне на эту шнягу заставить работать?

я тут скомпилировал каких-то модулей к ядру

 # zcat /proc/config.gz | grep -i 8192
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_RTL8192CE=m
CONFIG_RTL8192SE=m
CONFIG_RTL8192DE=m
CONFIG_RTL8192CU=m
CONFIG_RTL8192C_COMMON=m
CONFIG_RTL8192U=m
CONFIG_RTL8192E=m
 # find /lib/modules/3.1.0-gentoo-r1 -iname '*8192*' -print 
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/net/wireless/rtlwifi/rtl8192c
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/net/wireless/rtlwifi/rtl8192ce
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/net/wireless/rtlwifi/rtl8192de
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/net/wireless/rtlwifi/rtl8192cu
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/net/wireless/rtlwifi/rtl8192se
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/staging/rtl8192e
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/staging/rtl8192e/r8192e_pci.ko
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/staging/rtl8192u
/lib/modules/3.1.0-gentoo-r1/kernel/drivers/staging/rtl8192u/r8192u_usb.ko

не знаю нормальный ли это вывод

# iwconfig 
lo        no wireless extensions.

eth1      no wireless extensions.

wlan0     unassociated  Nickname:"rtl_wifi"
          Mode:Auto  Access Point: Not-Associated   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

сеть вроде на wpa2

net-wireless/wpa_supplicant и net-wireless/wireless-tools поставлены

wicd не желает искать сеть или подключаться к скрытой сети. может networkmanager скомпилить?..

r8192u_usb какбы добавлен в загрузку, но что-то не грузится автоматически

# grep 8192 /etc/conf.d/modules        
module="powernow_k8 r8192u_usb"

# lsmod | grep 8192
# modprobe r8192u_usb
# lsmod | grep 8192  
r8192u_usb            247151  0 
usbcore               118468  12 r8192u_usb,snd_usb_audio,snd_usbmidi_lib,r8712u,hid_sony,sl811_hcd,usbhid,ohci_hcd,uhci_hcd,usb_storage,ehci_hcd

dismal_faun
()

[C++] Несколько глупых вопросов

Я тут вознамерился переписать парочку стандартных контейнеров джаст фо лулз и встретил некоторые непонятности

#include <cstring>
#include <string>
#include <vector>
#include <iostream>
#include <stdio.h>

int main() {
    std::cout << sizeof(std::string) << std::endl;
    std::string s0;
    std::cout << sizeof(s0.c_str()) << std::endl;
    std::cout << sizeof(std::vector<char>) << std::endl;

    std::string s1 = "";
    printf("%p\n", &s1[0]);
    printf("%ld\n", s1.capacity());
    char s2[] = "_lol ololololo";
    int s2_l = std::strlen(s2);
    for (int i = 0; i < s2_l; i++) {
        s1.push_back(s2[i]);
        printf("%p\n", &s1[0]);
        printf("%ld\n", s1.capacity());
    }

    printf("%ld, %ld\n", s1.max_size(), sizeof(s1.max_size()));

    std::string s3 ("ol\0lo", 5);
    std::cout << s3 << std::endl;

    //s1 += s2;
    //printf("%p\n", s1.c_str());
}

1) почему размер std::string равен размеру указателя (8 байт в 64-битной системе), вроде ж в нем должен храниться указатель на байты и размер строки или нет? (в строке могут быть нулевые символы, без размера никак; где бы глянуть сорцы gcc'шного std::string?...)

2) отчего вектор чаров аж 24 байта занимает? по логике вещей ему должно хватать указателя на то что хранит (в данном примере байты) и длина вектора

3) изменение размера контейнеров делается realloc'ом (какбы после добавления чего-то в конец указатель не всегда меняется) или хитрой манипуляцией с new/delete?

4) чтобы запихнуть в std::string нулевые символы приходится еще длину строки передавать, как ее программно считать? strlen же до первого нулевого определит

 

dismal_faun
()

[python] юникот и байтосроки во 2 и 3 версиях

Допустим я хочу чтобы запуская скрипт во 2м и 3м петонах, я был уверен юникодные или байтовые строки там.

вот немного г-внокода:

lol.py

# -*- coding: utf-8 -*-

#from __future__ import absolute_import, division, print_function, unicode_literals
import sys

if sys.version_info < (3, 0):
    strtypes = {'bstr': str, 'ustr': unicode}
else:
    strtypes = {'bstr': bytes, 'ustr': str}

def isbstr(s):
    return type(s) is strtypes['bstr']

def isustr(s):
    return type(s) is strtypes['ustr']

def ustr(s):
    if isustr(s):
        return s
    elif isbstr(s):
        return s.decode('utf-8')
    else:
        return strtypes['ustr'](s)

def bstr(s):
    if isbstr(s):
        return s
    elif isustr(s):
        return s.encode('utf-8')
    else:
        return strtypes['ustr'](s).encode('utf-8')

if __name__ == '__main__':
    pass

и типа скрипт, активно жонглирующий строками: ololo.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#from __future__ import absolute_import, division, print_function, unicode_literals
from pprint import pprint
import sys
from lol import *

class Smth:
    a = 13
    b = 666
    def __repr__(self):
        return '((%d/%d))' % (self.a, self.b)
    def __str__(self):
        return '[[%d/%d]]' % (self.a, self.b)
    #def __unicode__(self):
    #    return '{{%d/%d}}' % (self.a, self.b)

if __name__ == '__main__':
    print(sys.version_info)
    s = b'\xd0\xbb\xd0\xbe\xd0\xbb\xd0\xb4'
    s1 = ustr(s)
    s2 = bstr(s)
    pprint(s1)
    pprint(s2)
    print('')
    smth = Smth()
    #pprint(smth)        
    #pprint(repr(smth))  
    #pprint(str(smth))   
    #try:                
    #    pprint(unicode(smth)):
    #except:
    #    pass
    pprint(bstr(smth))  
    pprint(ustr(smth))  
    print('')

Нормальное решение или может какие косяки? 2to3 калечить такую конструкцию не будет?

 

dismal_faun
()

Можно ли RoR за день выучить?

Пригласили меня на завтра собеседоваться на вакансию ror-девелопера.
Собственно знаю чуток php (yii совсем чуток), javascript (малость jquery и node.js) и python (поверхностно flask и django).

Смогу ли я его за день выучить до такого уровня, чтобы не выглядеть совсем валенком?

Да и сто́ит ли? Я читал в интернетах, что у него проблемы есть

dismal_faun
()

Почто анона забижаете?

Везде, куда ни плюнь имется надпись

Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=0

Баг или геноцид аноньего племени?

dismal_faun
()

RSS подписка на новые темы