Последние сообщения

Страницы: [1] 2 3 ... 10
1
Разработки Kirov OSUG / Re: Обращение к ядру на ассемблере
« Последний ответ от keremet Июнь 30, 2017, 12:09:57 pm »
gcc -O3 -fno-ident -I. -DLOCALE=\"ru_RU.UTF-8\" -c  set_lng.c
ld -s set_lng.o

Размер исполняемого файла около 500байт, но программа работает не на всех машинах. Может выдать ошибку Illegal Instruction (core dumped)
2
OpenIndiana / Ошибка pkg
« Последний ответ от keremet Декабрь 08, 2016, 05:28:34 pm »
$ sudo pkg install  pkg:/developer/gnu-binutils@2.25.1-2016.0.1.2
Linked image publisher check
Traceback (most recent call last):
  File "/usr/bin/pkg", line 5444, in handle_errors
    __ret = func(*args, **kwargs)
  File "/usr/bin/pkg", line 5430, in main_func
    pargs=pargs, **opts)
  File "/usr/bin/pkg", line 2100, in install
    display_plan_cb=display_plan_cb, logger=logger)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/client_api.py", line 1554, in _install
    logger=logger)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/client_api.py", line 1442, in __api_op
    logger=logger, **kwargs)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/client_api.py", line 1313, in __api_plan
    display_plan_cb=display_plan_cb)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/client_api.py", line 1285, in __api_plan
    for pd in api_plan_func(**kwargs):
  File "/usr/lib/python2.7/vendor-packages/pkg/client/api.py", line 1517, in __plan_op
    log_op_end_all=True)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/api.py", line 1427, in __plan_op
    self.__linked_pubcheck(_op)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/api.py", line 1610, in __linked_pubcheck
    self._img.linked.api_recurse_pubcheck(self.__progresstracker)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/linkedimage/common.py", line 2367, in api_recurse_pubcheck
    _failfast=False))
  File "/usr/lib/python2.7/vendor-packages/pkg/client/linkedimage/common.py", line 2057, in __children_op
    stage=pkgdefs.API_STAGE_DEFAULT
  File "/usr/lib/python2.7/vendor-packages/pkg/client/linkedimage/common.py", line 2159, in __children_op_vec
    _syncmd_tmp, **kwargs)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/linkedimage/common.py", line 3229, in child_op_setup
    self.__child_setup_pubcheck(_pmd, **kwargs)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/linkedimage/common.py", line 3187, in __child_setup_pubcheck
    pkgdefs.PKG_OP_PUBCHECK)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/pkgremote.py", line 408, in setup
    self.__rpc_server_setup(img_path)
  File "/usr/lib/python2.7/vendor-packages/pkg/client/pkgremote.py", line 163, in __rpc_server_setup
    rpc_client = pkg.pipeutils.PipedServerProxy(client_cmd_pipe)
  File "/usr/lib/python2.7/vendor-packages/pkg/pipeutils.py", line 628, in __init__
    http_enc=http_enc)
  File "/usr/lib/python2.7/vendor-packages/pkg/pipeutils.py", line 412, in __init__
    rpc.Transport.__init__(self)
TypeError: __init__() takes exactly 2 arguments (1 given)


pkg: This is an internal error in pkg(5) version b2f36a5.  Please log a
Service Request about this issue including the information above and this
message.



Решение:
vi /usr/lib/python2.7/vendor-packages/pkg/pipeutils.py.

Добавить в секцию импорта:
import jsonrpclib.config as rpcconfig

Изменить строку 412 (теперь 413) на:
rpc.Transport.__init__(self,config=rpcconfig.DEFAULT)
3
Сеть, сетевые сервисы, сетевой софт / Ekiga 4.0.1
« Последний ответ от keremet Декабрь 08, 2016, 05:15:15 am »
Открывает порты на каждом сетевом интерфейсе. Хотелось бы, чтобы открывала только на заданном.

Посмотрим, где это происходит
Для начала поставим gc++filt, если его еще нет
sudo pkg install pkg:/developer/gnu-binutils@2.25.1-2016.0.1.2
Запустим скрипт, а  потом екигу
sudo dtrace -n 'syscall::so_socket:entry/execname=="ekiga"/{ if((arg0 == 2)&&(arg1 == 2)&&(arg2 == 0)){ustack(); printf("family = %d, type_w_flags = %d, protocol = %d\n", arg0, arg1, arg2);} }'|gc++filt
dtrace: description 'syscall::so_socket:entry' matched 5 probes
CPU     ID                    FUNCTION:NAME
  0  12832                  so_socket:entry
              libc.so.1`_so_socket+0x15
              libsocket.so.1`__xnet_socket+0x23
              libpt.so.2.10.11`PSocket::os_socket(int, int, int)+0x25
              libpt.so.2.10.11`PTCPSocket::OpenSocket(int)+0x29
              libpt.so.2.10.11`PIPSocket::Listen(PIPSocket::Address const&, unsigned int, unsigned short, PSocket::Reusability)+0x1fe
              libpt.so.2.10.11`PTCPSocket::Listen(PIPSocket::Address const&, unsigned int, unsigned short, PSocket::Reusability)+0x2b
              libopal.so.3.10.10`OpalListenerTCP::Open(PNotifierTemplate<int> const&, OpalListener::ThreadMode)+0x1e6
              libopal.so.3.10.10`OpalEndPoint::StartListener(OpalListener*)+0xaf
              libopal.so.3.10.10`OpalEndPoint::StartListener(OpalTransportAddress const&)+0x17b
              libopal.so.3.10.10`OpalEndPoint::StartListeners(PStringArray const&)+0x104
              libekiga.so`Opal::H323::EndPoint::set_listen_port(unsigned int)+0x11f
              libekiga.so`Opal::H323::EndPoint::EndPoint(Opal::CallManager&, Ekiga::ServiceCore&, unsigned int, unsigned int)+0x1e2
              libekiga.so`OPALSpark::try_initialize_more(Ekiga::ServiceCore&, int*, char***)+0x8da
              libekiga.so`Ekiga::KickStart::kick(Ekiga::ServiceCore&, int*, char***)+0x2c0
              libekiga.so`engine_init(boost::shared_ptr<Ekiga::ServiceCore>, int, char**)+0x838
              ekiga`main+0x30e
              ekiga`_start+0x83
family = 2, type_w_flags = 2, protocol = 0

COMPONENT_NAME=opal
COMPONENT_VERSION=3.10.10
COMPONENT_SRC=$(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz

wget http://ftp.gnome.org/pub/GNOME/sources/$COMPONENT_NAME/3.10/$COMPONENT_ARCHIVE

wget http://ftp.gnome.org/pub/GNOME/sources/ekiga/4.0/ekiga-4.0.1.tar.xz

Протокол UDP
sudo soconfig -l

sudo dtrace -n 'syscall::so_socket:entry/execname=="ekiga"/{ if(((arg0 == 2)||(arg0 == 26))&&(arg1 == 1)){ustack(); printf("family = %d, type_w_flags = %d, protocol = %d\n", arg0, arg1, arg2);} }'|gc++filt




  1   8082                  so_socket:entry
              libc.so.1`_so_socket+0x7
              libsocket.so.1`__xnet_socket+0x23
              libpt.so.2.10.11`PSocket::os_socket(int, int, int)+0x25
              libpt.so.2.10.11`PUDPSocket::OpenSocket(int)+0x29
              libpt.so.2.10.11`PUDPSocket::PUDPSocket(unsigned short, int)+0xfd
              libpt.so.2.10.11`PMonitoredSockets::CreateSocket(PMonitoredSockets::SocketInfo&, PIPSocket::Address const&)+0x91
              libpt.so.2.10.11`PMonitoredSocketBundle::OpenSocket(PString const&)+0x56
              libpt.so.2.10.11`PMonitoredSocketBundle::Open(unsigned short)+0xc5
              libopal.so.3.10.10`OpalListenerUDP::Open(PNotifierTemplate<int> const&, OpalListener::ThreadMode)+0x3c
              libopal.so.3.10.10`OpalEndPoint::StartListener(OpalListener*)+0xaf
              libopal.so.3.10.10`OpalEndPoint::StartListener(OpalTransportAddress const&)+0x17b
              libopal.so.3.10.10`OpalEndPoint::StartListeners(PStringArray const&)+0x104
              libekiga.so`Opal::Sip::EndPoint::set_listen_port(unsigned int)+0x13c
              libekiga.so`Opal::Sip::EndPoint::EndPoint(Opal::CallManager&, Ekiga::ServiceCore&, unsigned int)+0x550
              libekiga.so`OPALSpark::try_initialize_more(Ekiga::ServiceCore&, int*, char***)+0x811
              libekiga.so`Ekiga::KickStart::kick(Ekiga::ServiceCore&, int*, char***)+0x2c0
              libekiga.so`engine_init(boost::shared_ptr<Ekiga::ServiceCore>, int, char**)+0x838
              ekiga`main+0x30e
              ekiga`_start+0x83
family = 2, type_w_flags = 1, protocol = 0

Поменял тут: libekiga.so`Opal::Sip::EndPoint::set_listen_port(unsigned int)
ekiga-4.0.1/lib/engine/components/opal/sip-endpoint.cpp
Opal::Sip::EndPoint::set_listen_port (unsigned port)
{
  unsigned udp_min, udp_max;

  listen_iface.protocol = "udp";
  listen_iface.voip_protocol = "sip";
  listen_iface.id = "*";

  manager.get_udp_ports (udp_min, udp_max);

  if (port > 0) {

    std::stringstream str;
    RemoveListener (NULL);

    str << "udp$192.168.1.1:" << port; //!
    if (!StartListeners (PStringArray (str.str ()))) {

      port = udp_min;
      str << "udp$*:" << port;
      while (port <= udp_max) {

        if (StartListeners (PStringArray (str.str ()))) {

          listen_iface.port = port;
          return true;
        }

        port++;
      }
    }
    else {
      listen_iface.port = port;
      return true;
    }
  }

  return false;
}


Отключить STUN
#define NAT_KEY "/apps/" PACKAGE_NAME "/general/nat/"

  else if (key == NAT_KEY "stun_server") {

    gchar* stun_server = gm_conf_entry_get_string (entry);
    manager.set_stun_server (stun_server ? stun_server : "stun.ekiga.net");
    g_free (stun_server);
  }
  else if (key == NAT_KEY "enable_stun") {

    manager.set_stun_enabled (gm_conf_entry_get_bool (entry));
  }
4
OpenIndiana / Компиляция PHP
« Последний ответ от keremet Август 05, 2016, 04:54:16 pm »
http://ar2.php.net/get/php-5.6.24.tar.bz2/from/this/mirror
./configure
make
Будет ошибка
/usr/include/sys/feature_tests.h:355:2: #error "Compiler or options invalid; UNIX 03 and POSIX.1-2001 applications    require the use of c99"

Надо скомпилить этот файл с параметром -std=c99

/bin/sh /home/True/Скачивание/php-5.6.24/libtool --silent --preserve-dup-deps --mode=compile gcc -I/home/True/Скачивание/php-5.6.24/ext/sqlite3/libsqlite -DSQLITE_ENABLE_FTS3=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_THREADSAFE=0  -Iext/sqlite3/ -I/home/True/Скачивание/php-5.6.24/ext/sqlite3/ -DPHP_ATOM_INC -I/home/True/Скачивание/php-5.6.24/include -I/home/True/Скачивание/php-5.6.24/main -I/home/True/Скачивание/php-5.6.24 -I/home/True/Скачивание/php-5.6.24/ext/date/lib -I/home/True/Скачивание/php-5.6.24/ext/ereg/regex -I/usr/include/libxml2 -I/home/True/Скачивание/php-5.6.24/ext/sqlite3/libsqlite -I/home/True/Скачивание/php-5.6.24/TSRM -I/home/True/Скачивание/php-5.6.24/Zend  -D_POSIX_PTHREAD_SEMANTICS  -I/usr/include -g -O2  -c /home/True/Скачивание/php-5.6.24/ext/sqlite3/libsqlite/sqlite3.c -std=c99 -o ext/sqlite3/libsqlite/sqlite3.lo

make
make test
5
OpenIndiana / flashplayer после oi151.7
« Последний ответ от keremet Январь 06, 2016, 09:17:23 am »
Нормально воспроизводится звук, но не видео

ptree
1552  /usr/lib/firefox37/lib/firefox-37.0/firefox.exe
      1577  /usr/lib/firefox37/lib/firefox-37.0/plugin-container /usr/lib/firef

truss -p 1577

/3:     lwp_park(0x00000000, 0)                         = 0
/1:     lwp_unpark(3)                                   = 0
/3:     open("/dev/cpu/self/cpuid", O_RDONLY)           = 18
/10:    clock_gettime(4, 0xF25FEC08)                    = 0
/3:     ioctl(18, (('c'<<24)|('i'<<16)|('d'<<8 ) | 0), 0xF45EEE08) = 0
/3:     close(18)                                       = 0
/3:         Incurred fault #6, FLTBOUNDS  %pc = 0xF5195DC2
/3:           siginfo: SIGSEGV SEGV_MAPERR addr=0x00000014
/3:         Received signal #11, SIGSEGV [default]
/3:           siginfo: SIGSEGV SEGV_MAPERR addr=0x00000014

mdb core
mdb: core file data for mapping at ef4a0000 not saved: Bad address
mdb: core file data for mapping at ef6e0000 not saved: Bad address
mdb: core file data for mapping at f19c0000 not saved: Bad address
mdb: core file data for mapping at f1de0000 not saved: Bad address
mdb: core file data for mapping at f23a0000 not saved: Bad address
mdb: core file data for mapping at f2780000 not saved: Bad address
Loading modules: [ libc.so.1 libuutil.so.1 libnvpair.so.1 ld.so.1 ]
> $C
f45eede8 0xf5195dc2(f261c000, 280, b4, 280, 280, f1a85010)
f45eee48 0xf51745e9(8046550, 280, b4, f45eeeb0, 280, 280)
f45eeed8 0xf4e02645(f4272700, 8046550, 0, b4)
f45eef08 0xf4b7d181(f4209070, fef5a000, f45eef88, f49aa20e)
f45eef88 0xf49aa236(f4209078, 0, 0, 0)
f45eefa8 0xf49aa290(f4209078, 62, f7dc12a0, fef5a000)
f45eefc8 0xf49a9f50(f4209078, 0, 0, 0)
f45eefe8 libc.so.1`_thrp_setup+0x88(f7dc1240)
f45eeff8 libc.so.1`_lwp_start(f7dc1240, 0, 0, 0, 0, 0)
>


Ключ к пониманию проблемы  в сравнении /illumos-gate/usr/src/uts/common/sys/cpuid_drv.h с его предыдущей версией
http://src.illumos.org/source/diff/illumos-gate/usr/src/uts/common/sys/cpuid_drv.h?r2=%2Fillumos-gate%2Fusr%2Fsrc%2Futs%2Fcommon%2Fsys%2Fcpuid_drv.h%40ebb8ac078e9265f87093fbb363e8c2cbc6ee13e6&r1=%2Fillumos-gate%2Fusr%2Fsrc%2Futs%2Fcommon%2Fsys%2Fcpuid_drv.h%407c478bd95313f5f23a4c958a745db2134aa03244

6
OpenSolaris / Re: Полезные скрипты DTrace
« Последний ответ от keremet Август 15, 2015, 07:29:42 am »
Определение времени, потраченного в сумме на каждую функцию. Скрипт подходит для многопоточных приложений.

$ cat a.out.d
#!/usr/sbin/dtrace -s
pid$1:a.out::entry{
   self->ts[probefunc] = timestamp;
}

pid$1:a.out::return
/self->ts[probefunc]/
{
   @func_time[probefunc] = sum(timestamp - self->ts[probefunc]);
   self->ts[probefunc] = 0;
}

Запуск pfexec ./a.out.d `pgrep a.out`
7
Сеть, сетевые сервисы, сетевой софт / Re: Уточнение времени
« Последний ответ от keremet Апрель 05, 2015, 04:11:30 pm »
Чтобы при уточнении времени оно устанавливалось правильно, следует задать часовой пояс в /etc/default/init в переменной TZ. Например "Europe/Minsk". Возможные значения выводятся по команде find /usr/share/lib/zoneinfo
8
OpenIndiana / Re: Замечательный оконный менеджер DWM
« Последний ответ от openuser Февраль 02, 2015, 05:06:34 am »
Набросал скриптик на выход, перезагрузку и выключение.
Открывается из dmenu, если его подходяще назвать
и положить в /usr/bin
#!/usr/bin/bash

zenity_list() {
  RETURN=$(/usr/bin/zenity --list \
             --title="$(uname -svp)" \
             --text="                        $HOSTNAME" \
             --column='' --column="Pick me" \
             --hide-column=1 \
             1 Logout \
             2 Reboot \
             3 Shutdown
  )
}

if [ -x /usr/bin/zenity ]; then
  if [ -n "$DISPLAY" ]; then
    zenity_list
      if [ -n "$RETURN" ]; then
        case "$RETURN" in
          1)  /usr/bin/zenity --question --timeout=10 \
                --title "Logout Confirmation" --text "\nLogout?"
              if [ "$?" -eq "0" ]
              then
                /usr/gnu/bin/kill -1 $(/usr/bin/pgrep X) > /dev/null 2>&1
              fi
              ;;
          2)  /usr/bin/zenity --entry --title "Reboot Confirmation" \
                --text "Enter user password to reboot:" --entry-text "" \
                --hide-text|/usr/bin/sudo -S /usr/sbin/reboot -p > /dev/null 2>&1
              ;;
          3)  /usr/bin/zenity --entry --title "Shutdown Confirmation" \
                --text "Enter user password to shutdown:" --entry-text "" \
                --hide-text|/usr/bin/sudo -S /usr/sbin/init 5 > /dev/null 2>&1
              ;;
        esac
      fi
  fi
fi

А если сделать ~/.bash_profile то иксы будут стартовать
при входе.
if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/console ]]; then
  echo ""
  echo "Hello!"
  echo ""
  exec startx
fi
9
OpenIndiana / Re: Замечательный оконный менеджер DWM
« Последний ответ от keremet Январь 28, 2015, 04:17:05 pm »
Нашел пачт, чтобы сделать добавить трей в правом верхем углу: http://dwm.suckless.org/patches/systray

Чтобы отображались дата и время, а также менялась раскладка:
keremet@openindiana:~$ cat .xinitrc
setxkbmap -layout "us,ru"
setxkbmap -option "grp:ctrl_shift_toggle"
while xsetroot -name "`date '+%d.%m.%y %H:%M:%S'`"
    do
       sleep 1
    done &
exec dwm
10
OpenIndiana / Re: Замечательный оконный менеджер DWM
« Последний ответ от openuser Январь 25, 2015, 04:52:01 pm »
Собралось на пробу кое-что

md5: 4519eaa6191eeed6ac090bc368258ca2   terminus-font-4.38-x86-oi_151a9.pkg.tar.bz2
md5: 8ccf38f14e2d72024c33ea0a0b944290   dwm-6.0-x86-oi_151a9.pkg.tar.bz2
md5: a9e480f21d8f7f80e1da03c8f887be8d   dmenu-4.5-x86-oi_151a9.pkg.tar.bz2

Страницы: [1] 2 3 ... 10