# Installing a tar.gz package and how to "compile" with pkg



## oxyaxion (Jul 21, 2014)

Hi all,

I would like to install geoaccess tool for parsing http log.

I know it's present on pkg source :


```
root@www-prod:~ # pkg search goaccess
goaccess-0.7.1
```

But I would like install the last version 0.8.1 with more feature from here : http://goaccess.io/download

The problem It's completely impossible to install/compile .


```
root@www-prod:~/goaccess-0.8.2 # ./configure --enable-geoip --enable-utf8
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking for gcc... no
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of cc... gcc3
checking for pthread_create in -lpthread... yes
checking for GeoIP_new in -lGeoIP... no
configure: error: *** Missing development files for the GeoIP library
```

I have triing whith pecl-geoip-1.0.8 but nothing to do ...

Documentation of goaccess say : 



> --enable-utf8
> Compile with wide character support. Ncursesw is required.
> --enable-geoip
> Compile with GeoLocation support. MaxMind's GeoIP is required.



I have triing to follow this for the "MaxMind's GeoIP" :http://bin63.com/how-to-install-nginx-and-php-fpm-on-freebsd

But Failed ... 
I have actually the same problem with Nginx if I would like to use "geoip_localization" (need compilation) module ... I need to install with port ?!


```
root@www-prod:~/goaccess-0.8.2 # ./configure --enable-utf8
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking for gcc... no
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of cc... gcc3
checking for pthread_create in -lpthread... yes
checking for mvaddwstr in -lncursesw... yes
checking for ncursesw/ncurses.h... no
checking for ncurses.h... yes
checking for pkg-config... no
checking for pkg-config... no
configure: error:
     *** pkg-config script could not be found. Make sure it is
     *** in your path, or set the PKG_CONFIG environment variable
     *** to the full path to pkg-config. Otherwise, reinstall glib2
     *** development files (libglib2.0-dev)
```



> root@www-prod:~/goaccess-0.8.2 # pkg search libglib2.0-dev
> root@www-prod:~/goaccess-0.8.2 # pkg search libglib



....

I used the "old" port method but problem is exactly the same ... 

I don't really understand it's totally impossible to install software who is not in the repository ?!

Thanks in advance guy's.


----------



## SirDice (Jul 21, 2014)

*Re: Installing a tar.gz packet and how to "compile" with pkg*



			
				oxyaxion said:
			
		

> The problem It's completely impossible to install/compile.


That's why the ports system exists. Sometimes sources need specific FreeBSD patches to be able to compile them, this is what the ports system does.



> I have actually the same problem with Nginx if I would like to use "geoip_localization" (need compilation) module ... I need to install with port ?!


Different problem. Yes, if you want options that aren't set by default you will have to build from ports.


----------



## junovitch@ (Jul 22, 2014)

*Re: Installing a tar.gz package and how to "compile" with pk*

Have you asked the listed maintainer to update the official package to the newest version?  That's probably a good place to start.  If you have some time to do it yourself and contribute your work back; sometimes it's as easy as editing the version number in the Makefile that is in that port's directory, running a `make makesum` to update the SHA hash, and finishing with a `make install`.  Sometimes its not that easy as there are changes between versions or the FreeBSD specific patches that @SirDice mentioned may not apply anymore.  If the easy way does work, you can send a patch to the maintainer or submit a bug report to get it updated.


----------



## manas (Sep 14, 2016)

I hope I'm not breaking a rule by bumping an old thread. I found this thread while trying to install the latest goaccess, which happens to be 1.0.2.

Here are my patch files for installing sysutils/goaccess-1.0.2, I have shared them with sbz@ so ports tree should be updated soon.
Makefile.patch: https://zerobin.net/?d214a9d8f0790fd6#X2gMtZdjLNCh1wV/WpsgehfT+Gg5tCN+q1dQFE/gkO0=
distfile.patch: https://zerobin.net/?3a115fa3309bea99#WrcreiT2oFk9CBtMNGNWpSRgXcPg0oYLPNMQMgHsaf4=


----------

