LINUX.ORG.RU

Сообщения nullb0t

 

Помогите по CMake

Форум — Development

Пробую сделать кроссплатформенную сборку SHARED библиотеки. Начал с подготовки конфига для VS solution. Нужно чтобы конфиг cmake’a генерил такой солюшн https://gitlab.com/nullbot/tiny-lua-ffi

Песочница, где веду работу находится здесь https://gitlab.com/nullbot/tiny-lua-ffi-cmake

Проблема в том что я не могу прилинковать внешнюю dll зависимость, чтобы она включалась в солюшене. Какое заклинание нужно прописать здесь https://gitlab.com/nullbot/tiny-lua-ffi-cmake/-/blob/master/customlib/CMakeLists.txt#L5 ?

Включить нужно lib/32bit/lua51.dll (которая находится в этом же репозитории). Это для примера, потом добавлю условия в зависимости от разрядности среды и т.п.

 ,

nullb0t
()

Вопросы по Netty

Форум — Development

В процессе получения экспертизы по этому фреймворку, хотелось бы получить ответы на некоторые затыки, которые сам не смог решить.

Каналы отличная абстракция, но кажется, что на каждое сообщение создавать канал не очень производительное решение. Есть ли у кого опыт заворачивания прогонки батча сообщений в один канал или это не стоит того ? То есть хотелось бы уйти от

bootstrap.connect().addListener(
                (ChannelFutureListener) connectionFuture -> connectionFuture.channel().writeAndFlush(msg));
на каждое сообщение.

Самый главный вопрос, в моем приложении мне нужно получить финальный респонс от сервера, в котором будет статус код. Не нашел элегантного решения, кроме как складывать статус в аттрибут канала. К тому же, чтобы гарантированно дождаться ответа с респонзом нужно вызывать sync(), что ударяет про перформансу обработки пайплайна. Хотелось бы уйти от sync() и как-то решить вопрос откуда мне забирать статус и куда его соответственно сохранять.

pipelineFuture.channel().closeFuture().sync().addListener( // здесь хотелось бы урать метод sync(), но пока без него мы не гарантируем получения статус кода
                (ChannelFutureListener) future -> {
                    if (future.isSuccess()) {
                        AttributeKey<Integer> status = AttributeKey.valueOf(future.channel().id().asShortText());
                        Integer statusCode = future.channel().attr(status).get();
                        // deal with status code
                    }
                });

сторим статус в финальном хендлере

    @Override
    public void channelRead(ChannelHandlerContext ctx, Object in) {
	//...
       ctx.channel().attr(AttributeKey.valueOf(channelId)).set(statusCode);
    }

 ,

nullb0t
()

Кроссплатформенный мультиплеер. В чем боль разработки ?

Форум — Development

Видел такую проблему (сетевая часть между клиентами под разными ОС) только в геймдеве.

Вменяемых ответов почему возникают эпичные проблемы не нашел.

Смотрел тут http://gamedev.stackexchange.com/questions/101040/why-cant-cross-platform-mul...

и тут https://www.quora.com/Why-dont-they-make-cross-platform-multiplayer-games

Ткните кто-нибудь в толковые статьи, пейперы или сайты. Ну или сами расскажите. Крайне интересно стало.

 ,

nullb0t
()

LOR уехал на Selectel

Форум — Linux-org-ru

Собственно сабж. А чего это тишина на самом сайте ?)

https://blog.selectel.ru/gostevoj-post-kak-linux-org-ru-pereezzhal-v-selektel/

 

nullb0t
()

LOR перекатывается на Scala ?

Форум — Linux-org-ru

 , ,

nullb0t
()

Opera 12.17

Форум — Desktop

Внезапно, http://get.geo.opera.com/pub/opera/win/1217/int/

Кто что знает, будет ли версия под Linux ??

nullb0t
()

кому не безразлично OpenShift XMPP

Форум — Talks

Воообщем есть отличная возможность получить от RedHat халявные облака для поднятия своего jabber сервера. Но для этого нужно проголосовать за фичу https://www.openshift.com/content/allow-xmpp-ports-522252695298 . Кому надоело держать VDS'ки крайне советую поддержать, вместо этого получите вечные бесплатные жаббер ноды)

nullb0t
()

libuv & *BSD

Форум — Development

Кто нибудь пробовал собирать сабж под *BSD ? Есть истории успеха ? Я решил попробовать, но фейл :

FreeBSD:

ghost# gmake
... 
deps/uv/uv.a(freebsd.o): In function `uv_resident_set_memory':
/deps/uv/src/unix/freebsd.c:171: undefined reference to `kvm_open'
/deps/uv/src/unix/freebsd.c:174: undefined reference to `kvm_getprocs'
/deps/uv/src/unix/freebsd.c:183: undefined reference to `kvm_close'
/deps/uv/src/unix/freebsd.c:188: undefined reference to `kvm_close'
gmake: *** [build/luvit] Error 1

OpenBSD:

#gmake 
...
cc --std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -Iinclude -Iinclude/uv-private -Isrc/unix/ev -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Isrc/ares/config_openbsd -Isrc  -g -c src/unix/openbsd.c -o src/unix/openbsd.o
In file included from /usr/include/uvm/uvm_extern.h:401,
                 from /usr/include/sys/sysctl.h:46,
                 from src/unix/openbsd.c:29:
/usr/include/sys/lock.h:46: warning: struct has no members
src/unix/openbsd.c: In function 'uv_cpu_info':
src/unix/openbsd.c:248: error: 'for' loop initial declaration used outside C99 mode
gmake[1]: *** [src/unix/openbsd.o] Error 1
gmake[1]: Leaving directory `/deps/uv'
gmake: *** [deps/uv/uv.a] Error 2





P.S.Самое интересное гуглил. Десятки всяких реп с патчами якобы решающие проблемы, но рабочего чет я так и не нашел.

 ,

nullb0t
()

Need help :OpenBSD + php-gd + chroot

Форум — Admin

Короче нужно просто пнуть в нужном направлении куда копать. php загнан в chroot , запускается через lighttpd + fastcgi . не работает gd либа в chroot'e.
все необходимые зависимости extension'a загнал в соответствующие пути, то есть из chroot'a php они видны:

$ ldd gd.so
	Start    End      Type Open Ref GrpRef Name
	00f31000 20f59000 dlib 1    0   0      /usr/local/lib/gd.so
	04138000 24157000 rlib 0    1   0      /usr/local/lib/libt1.so.6.0
	0ab45000 2ab5d000 rlib 0    1   0      /usr/X11R6/lib/libfreetype.so.18.1
	0d9db000 2da58000 rlib 0    2   0      /usr/X11R6/lib/libX11.so.15.0
	0014d000 20151000 rlib 0    1   0      /usr/X11R6/lib/libXpm.so.8.0
	02dfb000 22e02000 rlib 0    1   0      /usr/local/lib/libpng.so.13.0
	049b3000 249ba000 rlib 0    1   0      /usr/lib/libz.so.4.1
	0f84e000 2f854000 rlib 0    1   0      /usr/local/lib/libjpeg.so.64.0
	0d0fd000 2d106000 rlib 0    1   0      /usr/lib/libm.so.7.0
	0e58c000 2e591000 rlib 0    2   0      /usr/X11R6/lib/libxcb.so.2.2
	02e20000 22e24000 rlib 0    1   0      /usr/X11R6/lib/libpthread-stubs.so.1.0
	0b456000 2b45a000 rlib 0    1   0      /usr/X11R6/lib/libXau.so.9.0
	0a562000 2a567000 rlib 0    1   0      /usr/X11R6/lib/libXdmcp.so.10.0

перед этим заносил extention для pg все отлично работает, а gd не подхватывается.Физическое наличие файлов проверил и имена файлов тоже - все совпадает. Есть идеи ?

P.S> конфиги lighttpd и php.ini

lighttpd.conf:

server.modules              = (
                                "mod_access",
                                "mod_fastcgi",
                                "mod_accesslog" )

## A static document-root. For virtual hosting take a look at the
## mod_simple_vhost module.
server.document-root        = "htdocs/"
server.upload-dirs        = ("/tmp")

#### accesslog module
accesslog.filename          = "logs/access.log"

## where to send error-messages to
server.errorlog             = "logs/error.log"

# files to check for if .../ is requested
index-file.names            = ( "index.php" ,"index.html", "index.htm", 
"default.htm" )

server.event-handler = "kqueue"
server.network-backend = "writev"

server.bind = "0.0.0.0"
server.port = "81"

$SERVER["socket"] == "[::]:81" { }


url.access-deny             = ( "~", ".inc" )

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

server.pid-file            = "/var/run/lighttpd.pid"

server.chroot              = "/var/www/"

server.username            = "_lighttpd"
server.groupname           = "_lighttpd"

fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
                                   "socket" => "/tmp/php-fastcgi.socket",
                                   "bin-path" => "/usr/local/bin/php -c /etc/php.ini",
                                   "bin-environment" => (
                                      "PHP_FCGI_CHILDREN" => "4",
                                      "PHP_FCGI_MAX_REQUESTS" => "1000"
                                   ),
                                   "min-procs" => 1,
                                   "max-procs" => 1,
                                   "idle-timeout" => 20,
                                   "broken-scriptfilename" => "enable"
                                 )
                               )
                            )


php.ini (только основная часть относящееся к делу)

  ...
    doc_root = "/htdocs"
    extension_dir = "/usr/local/lib/" 
    cgi.fix_pathinfo=1
    extension=pgsql.so         // напоминаю этот extension работает отлично
    extension=gd.so
  ...

 , ,

nullb0t
()

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