# Can't install Mod_mono



## beamar (Jun 1, 2013)

Hello,

I am trying to install Mod_mono and It fails. I'm used to ports failing due to missing packages. Not sure what the issue is or where to start for this one.



```
===>  Building for ap22-mod_mono-2.10_1
Making all in src
/bin/sh /usr/local/bin/libtool --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I. -I../include   -O2 -pipe -fno-strict-aliasing -I/usr/include/apache  -g -O2  -I/usr/include/apache  -g -O2  -I/usr/include/apache -I/usr/local/include -O2 -pipe -fno-strict-aliasing -I/usr/include/apache  -g -O2  -I/usr/include/apache  -g -O2  -I/usr/include/apache -O2 -pipe -fno-strict-aliasing -I/usr/include/apache  -g -O2  -O2 -pipe -fno-strict-aliasing -I/usr/include/apache  -g -O2   -I/usr/include/apache  -g -O2   -I/usr/include/apache -I/usr/local/include -Wall -DDFLT_MONO_CONFIG_DIR=\"/etc/httpd/conf/mod-mono-applications\" -O2 -pipe -fno-strict-aliasing -I/usr/include/apache  -g -O2  -I/usr/include/apache  -g -O2  -I/usr/include/apache -I/usr/local/include -MT mod_mono_la-mod_mono.lo -MD -MP -MF .deps/mod_mono_la-mod_mono.Tpo -c -o mod_mono_la-mod_mono.lo `test -f 'mod_mono.c' || echo './'`mod_mono.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -I../include -O2 -pipe -fno-strict-aliasing -I/usr/include/apache -g -O2 -I/usr/include/apache -g -O2 -I/usr/include/apache -I/usr/local/include -O2 -pipe -fno-strict-aliasing -I/usr/include/apache -g -O2 -I/usr/include/apache -g -O2 -I/usr/include/apache -O2 -pipe -fno-strict-aliasing -I/usr/include/apache -g -O2 -O2 -pipe -fno-strict-aliasing -I/usr/include/apache -g -O2 -I/usr/include/apache -g -O2 -I/usr/include/apache -I/usr/local/include -Wall -DDFLT_MONO_CONFIG_DIR=\"/etc/httpd/conf/mod-mono-applications\" -O2 -pipe -fno-strict-aliasing -I/usr/include/apache -g -O2 -I/usr/include/apache -g -O2 -I/usr/include/apache -I/usr/local/include -MT mod_mono_la-mod_mono.lo -MD -MP -MF .deps/mod_mono_la-mod_mono.Tpo -c mod_mono.c  -fPIC -DPIC -o .libs/mod_mono_la-mod_mono.o
mod_mono.c: In function 'apache_get_userid':
mod_mono.c:389: error: 'unixd_config' undeclared (first use in this function)
mod_mono.c:389: error: (Each undeclared identifier is reported only once
mod_mono.c:389: error: for each function it appears in.)
mod_mono.c: In function 'apache_get_groupid':
mod_mono.c:399: error: 'unixd_config' undeclared (first use in this function)
mod_mono.c: In function 'apache_get_username':
mod_mono.c:409: error: 'unixd_config' undeclared (first use in this function)
mod_mono.c: In function 'ensure_dashboard_initialized':
mod_mono.c:488: warning: implicit declaration of function 'unixd_set_global_mutex_perms'
mod_mono.c: In function 'connection_get_remote_port':
mod_mono.c:854: warning: implicit declaration of function 'apr_sockaddr_port_get'
mod_mono.c:854: error: 'conn_rec' has no member named 'remote_addr'
mod_mono.c: In function 'send_initial_data':
mod_mono.c:1981: error: 'conn_rec' has no member named 'remote_ip'
mod_mono.c:2029: error: 'conn_rec' has no member named 'remote_ip'
*** [mod_mono_la-mod_mono.lo] Error code 1

Stop in /usr/ports/www/mod_mono/work/mod_mono-2.10/src.
*** [all-recursive] Error code 1

Stop in /usr/ports/www/mod_mono/work/mod_mono-2.10.
*** [do-build] Error code 1

Stop in /usr/ports/www/mod_mono.
```


Any help would be great!

Thanks,
Brian


----------



## jozze (Jun 2, 2013)

I took a look at the port now, and it gave me some pointers:

```
************************************************************************
If you have build/runtime errors with Mono and Gtk# apps please try the
following first:

* Build Mono and gtk+ (x11-toolkits/gtk20) without CPUTYPE and with the
  default FreeBSD CFLAGS ('-O2 -fno-strict-aliasing -pipe') as Mono has
  been known to expose compiler bugs.

* Try building and running Mono with the GENERIC kernel.
  - Mono requires SYSVSHM, SYSVMSG, and SYSVSEM which are part of the
    GENERIC kernel.
  - Removing kernel options or changing defaults to use experimental
    options can adversely affect Mono's ability to build and run.

* Remove leftover semaphores / increase semaphore limits.
  - Close apps which use Mono and run `ipcs -sbt`.  Remove the
    semaphores with MODE "--rw-------" and NSEMS "8" using ipcrm (1)
  - _OR_ simply reboot which is the safest method.
  - On multi-user systems the semaphore limits may need to be increased
    from the defaults. The following should comfortably support 30 users.

    # echo "kern.ipc.semmni=40" >> /boot/loader.conf
    # echo "kern.ipc.semmns=300" >> /boot/loader.conf

* If you are in a jailed environment, ensure System V IPC are enabled.
  You can rely on the security.jail.sysvipc_allowed  sysctl to check
  this status.  The following enables this feature on the host system:
    # echo "jail_sysvipc_allow=\"YES\"" >> /etc/rc.conf

* Some process information are acceded through /proc (e.g. when using
  NUnit) and procfs(5) has to be mounted for these features to work:
    # echo "proc            /proc   procfs  rw 0 0" >> /etc/fstab
************************************************************************
```

Try them out first, and tell us how it goes.


----------

