# Unable to build x11/rxvt-unicode



## alie (Dec 23, 2011)

As per subject. I got this issue while building x11/rxvt-unicode


```
c++ -I.. -I. -I. -I./../libev -I./../libptytty/src -I./../libecb -DHAVE_CONFIG_H -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include   -D_THREAD_SAFE -I/usr/local/include -I/usr/local/include/freetype2   -I/usr/local/include -O2 -pipe -fno-strict-aliasing -w -I/usr/local/include  -D_REENTRANT -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/libpng -I/usr/local/include/glib-2.0   -I/usr/local/include/startup-notification-1.0 -c ptytty_wrapper.C
In file included from ptytty_wrapper.C:11:
./../libptytty/src/logging.C: In function 'void fill_utmpx(utmpx*, bool, int, const char*, const char*, const char*)':
./../libptytty/src/logging.C:267: error: 'id' was not declared in this scope
In file included from ptytty_wrapper.C:13:
./../libptytty/src/ptytty.C: In member function 'virtual bool ptytty_unix::get()':
./../libptytty/src/ptytty.C:386: error: 'ttyslot' was not declared in this scope
*** Error code 1

Stop in /usr/ports/x11/rxvt-unicode/work/rxvt-unicode-9.14/src.
*** Error code 1

Stop in /usr/ports/x11/rxvt-unicode/work/rxvt-unicode-9.14.
*** Error code 1

Stop in /usr/ports/x11/rxvt-unicode.
*** Error code 1

Stop in /usr/ports/x11/rxvt-unicode.
```


----------



## pbd (Dec 23, 2011)

same error :\


```
/usr/ports/x11/rxvt-unicode % make
===>  Building for rxvt-unicode-9.12_1
c++ -I.. -I. -I. -I./../libev -I./../libptytty/src -I./../libecb -DHAVE_CONFIG_H -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include   -D_THREAD_SAFE -I/usr/local/include -I/usr/local/include/freetype2   -I/usr/local/include -O2 -pipe -fno-strict-aliasing -w -I/usr/local/include  -D_REENTRANT -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include -I/usr/local/include/glib-2.0 -c ptytty_wrapper.C
In file included from ptytty_wrapper.C:11:
./../libptytty/src/logging.C: In member function 'virtual void ptytty_unix::login(int, bool, const char*)':
./../libptytty/src/logging.C:312: error: 'ttyslot' was not declared in this scope
*** Error code 1

% uname -a
FreeBSD *** 9.0-BETA2 FreeBSD 9.0-BETA2 #8: Thu Sep  8 11:06:01 CEST 2011     ***@***:/usr/obj/usr/src/sys/***  amd64
```


----------



## SirDice (Dec 23, 2011)

I updated my ports tree on 11 December and *rxvt-unicode* builds fine on 8.2-STABLE. As the errors are related to *tty*/*pty* I'm suspecting something changed in 9.0.

But try to update your ports tree. x11/rxvt-unicode got updated to a new version a couple of hours ago. That may have fixed this issue too.


----------



## elfsechsundzwanzig (Dec 23, 2011)

I get the very same error. Updated my ports just a couple of minutes ago. I'm running 9.0-RC3.


----------



## elfsechsundzwanzig (Dec 23, 2011)

Okay, another update of the ports did the trick.


----------



## SirDice (Dec 25, 2011)

elfsechsundzwanzig said:
			
		

> Okay, another update of the ports did the trick.



One of the patch files was updated to fix the build.

http://www.freebsd.org/cgi/cvsweb.cgi/ports/x11/rxvt-unicode/files/patch-libptytty-src-logging.C


----------



## AASoft (Jan 31, 2012)

This doesn't currently build on my 9.0-STABLE. I'm getting the same error as the original poster, and I have a fresh ports/src tree. Is this to be expected?

Also, and I may be very wrong on this, but I fail to see how the mentioned patch would have fixed this build error.


----------



## AASoft (Jan 31, 2012)

Spoke to soon. *make delete-old && make delete-old-libs* fixed that. Now, I wonder why I've never seen the recommendation to do that in any of the online FreeBSD tutorials I've read (yes, I know, guilty of not fully reading the Handbook).


----------



## DutchDaemon (Jan 31, 2012)

From /usr/scr/Makefile

```
# For individuals wanting to upgrade their sources (even if only a
# delta of a few days):
#
#  1.  `cd /usr/src'       (or to the directory containing your source tree).
#  2.  `make buildworld'
#  3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is GENERIC).
#  4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
#       [steps 3. & 4. can be combined by using the "kernel" target]
#  5.  `reboot'        (in single user mode: boot -s from the loader prompt).
#  6.  `mergemaster -p'
#  7.  `make installworld'
#  8.  `[B]make delete-old[/B]'
#  9.  `mergemaster'            (you may wish to use -i, along with -U or -F).
# 10.  `reboot'
# 11.  `[B]make delete-old-libs[/B]' (in case no 3rd party program uses them anymore)
```


----------

