Coder Social home page Coder Social logo

Comments (12)

antonheryanto avatar antonheryanto commented on September 27, 2024

might need to add dll map to etc/mono/config

my setup prefix is /opt/mono so i edit /opt/mono/etc/mono/config an add this

<configuration>
...
  <dllmap dll="libhfc-native" target="/opt/mono/lib64/libhfc-native.so" os="!windows"/>
  <dllmap dll="libhfc-native" target="/opt/mono/lib64/libhfc-native.so" os="!windows"/>
</configuration>

from hyperfastcgi.

xplicit avatar xplicit commented on September 27, 2024

Where is mono installed? You can check it with ldconfig -p |grep libmono command. If mono is installed in other directory than /usr, for example /usr/local then you should pass it as prefix when compile hyperfastcgi ./autogen.sh --prefix=/usr/local

from hyperfastcgi.

jpasichnyk avatar jpasichnyk commented on September 27, 2024
root@p-dev:/tmp# ldconfig -p |grep libmono
        libmonosgen-2.0.so.1 (libc6,x86-64) => /usr/lib/libmonosgen-2.0.so.1
        libmonosgen-2.0.so (libc6,x86-64) => /usr/lib/libmonosgen-2.0.so
        libmonoboehm-2.0.so.1 (libc6,x86-64) => /usr/lib/libmonoboehm-2.0.so.1
        libmono-profiler-log.so.0 (libc6,x86-64) => /usr/lib/libmono-profiler-log.so.0
        libmono-profiler-log.so (libc6,x86-64) => /usr/lib/libmono-profiler-log.so
        libmono-profiler-iomap.so.0 (libc6,x86-64) => /usr/lib/libmono-profiler-iomap.so.0
        libmono-profiler-iomap.so (libc6,x86-64) => /usr/lib/libmono-profiler-iomap.so
        libmono-profiler-aot.so.0 (libc6,x86-64) => /usr/lib/libmono-profiler-aot.so.0
        libmono-profiler-aot.so (libc6,x86-64) => /usr/lib/libmono-profiler-aot.so

It seems like since both are in /usr/lib, it should "just work" right?

from hyperfastcgi.

jpasichnyk avatar jpasichnyk commented on September 27, 2024

I also tried adding the following to my /etc/mono/config, with no change in behavior:

<dllmap dll="libhfc-native" target="/usr/lib/libhfc-native.so" os="!windows"/>
<dllmap dll="libhfc-native.dll" target="/usr/lib/libhfc-native.so" os="!windows"/>

from hyperfastcgi.

xplicit avatar xplicit commented on September 27, 2024

Can you show output of ldd -r /usr/lib/libhfc-native.so ?

from hyperfastcgi.

jpasichnyk avatar jpasichnyk commented on September 27, 2024
/usr/lib/libhfc-native.so: /usr/lib/libmonoboehm-2.0.so.1: no version information available (required by /usr/lib/libhfc-native.so)
        linux-vdso.so.1 =>  (0x00007ffd477f6000)
        libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f8812efd000)
        libevent_pthreads-2.0.so.5 => not found
        libevent-2.0.so.5 => not found
        libmonoboehm-2.0.so.1 => /usr/lib/libmonoboehm-2.0.so.1 (0x00007f8812942000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8812724000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f881235e000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f8812120000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8811e1a000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8811c11000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8811a0d000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f88117f7000)
        /lib64/ld-linux-x86-64.so.2 (0x0000560cf9136000)
undefined symbol: bufferevent_read      (/usr/lib/libhfc-native.so)
undefined symbol: bufferevent_set_timeouts      (/usr/lib/libhfc-native.so)
undefined symbol: event_base_new        (/usr/lib/libhfc-native.so)
undefined symbol: event_base_set        (/usr/lib/libhfc-native.so)
undefined symbol: bufferevent_socket_new        (/usr/lib/libhfc-native.so)
undefined symbol: bufferevent_write_buffer      (/usr/lib/libhfc-native.so)
undefined symbol: event_base_loopexit   (/usr/lib/libhfc-native.so)
undefined symbol: event_del     (/usr/lib/libhfc-native.so)
undefined symbol: evthread_use_pthreads (/usr/lib/libhfc-native.so)
undefined symbol: evbuffer_free (/usr/lib/libhfc-native.so)
undefined symbol: bufferevent_get_output        (/usr/lib/libhfc-native.so)
undefined symbol: bufferevent_base_set  (/usr/lib/libhfc-native.so)
undefined symbol: event_add     (/usr/lib/libhfc-native.so)
undefined symbol: evbuffer_unlock       (/usr/lib/libhfc-native.so)
undefined symbol: event_base_free       (/usr/lib/libhfc-native.so)
undefined symbol: evbuffer_add  (/usr/lib/libhfc-native.so)
undefined symbol: event_base_get_method (/usr/lib/libhfc-native.so)
undefined symbol: evbuffer_get_length   (/usr/lib/libhfc-native.so)
undefined symbol: event_set     (/usr/lib/libhfc-native.so)
undefined symbol: bufferevent_free      (/usr/lib/libhfc-native.so)
undefined symbol: evbuffer_new  (/usr/lib/libhfc-native.so)
undefined symbol: event_base_dispatch   (/usr/lib/libhfc-native.so)
undefined symbol: bufferevent_enable    (/usr/lib/libhfc-native.so)
undefined symbol: bufferevent_setcb     (/usr/lib/libhfc-native.so)
undefined symbol: event_get_version     (/usr/lib/libhfc-native.so)
undefined symbol: evbuffer_enable_locking       (/usr/lib/libhfc-native.so)
undefined symbol: evbuffer_lock (/usr/lib/libhfc-native.so)

from hyperfastcgi.

xplicit avatar xplicit commented on September 27, 2024

You need to install libevent2 (it's libevent-dev package on Ubuntu system) and then recompile

from hyperfastcgi.

xplicit avatar xplicit commented on September 27, 2024

I wonder why is mono linked to libmonoboehm-2.0.so.1? It should be linked to libmonosgen What operating system/mono version do you use? It's not related to the issue, just interesting.

from hyperfastcgi.

jpasichnyk avatar jpasichnyk commented on September 27, 2024

Ok, i'll install libevent2 and rebuild.

would that GC linking matter on the box it was built on, or running on? Box it is running on is as follows:

root@p-dev:/usr/lib# mono -V
Mono JIT compiler version 4.6.1 (Stable 4.6.1.5/ef43c15 Wed Oct 12 09:10:37 UTC 2016)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        LLVM:          supported, not enabled.
        GC:            sgen

from hyperfastcgi.

jpasichnyk avatar jpasichnyk commented on September 27, 2024

Actually, it looks like just installing libevent-dev package on the web server allows it to run with the Native listener!

Now i just need to do some performance/stability testing to see how this new version works. :)

from hyperfastcgi.

xplicit avatar xplicit commented on September 27, 2024

Library is linked on the machine where you build. Boehm garbage collector is deprecated and should be avoided to use due to heap fragmentation issues. You can check on your web server which garbage collector library your mono installation uses via ls -al /usr/lib/libmono-2* command. Files should point to libmonosgen-2.0.so*.
I highly recommend to rebuild HyperFastCgi directly on your web server or on the server with the same configuration of mono and other dependend libraries installation.

from hyperfastcgi.

jpasichnyk avatar jpasichnyk commented on September 27, 2024
i# ls -al /usr/lib/libmono-2*
lrwxrwxrwx 1 root root 17 Oct 12 02:21 /usr/lib/libmono-2.0.a -> libmonosgen-2.0.a
lrwxrwxrwx 1 root root 18 Oct 12 02:21 /usr/lib/libmono-2.0.so -> libmonosgen-2.0.so
lrwxrwxrwx 1 root root 20 Oct 12 02:21 /usr/lib/libmono-2.0.so.1 -> libmonosgen-2.0.so.1
lrwxrwxrwx 1 root root 24 Oct 12 02:21 /usr/lib/libmono-2.0.so.1.0.0 -> libmonosgen-2.0.so.1.0.0

Ok, yeah i'll rebuild after upgrading mono on our build box and give it another try.

from hyperfastcgi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.