# /bin/tcsh: Undefined symbol "libiconv_open"



## doll1 (Jan 27, 2014)

Yesterday I started an attempt to upgrade my dedicatet FreeBSD 9.1-RELEASE-p2 server with freebsd-update inside a screen-session. Somewhere in the middle connection cut because of my semipermanent ADSL-line. Hours later I tried to reconnect to pick up the screen-session to look at progress, but all I get since is subjected message preceded by /etc/motd and followed by Connection to ... closed.

Now I suspect, the process ended with some success and I'm able to login again after a reboot. But I would greatly appreciate if somebody could confirm or preferably give some workaround how to reconnect in this state.

Below are the last output lines of that upgrade session:

```
pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file
--->  Skipping 'security/gnomint' (gnomint-1.2.1_1) because a requisite package 'python27-2.7.5_2' (lang/python27) failed (specify -k to force)
USING PKGNG
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        - converters/libiconv (marked as IGNORE)
        ! lang/perl5.16 (perl-5.16.3)   (linker error)
        * textproc/p5-XML-Parser (p5-XML-Parser-2.41_1)
        * mail/dovecot2 (dovecot-2.2.5)
        * devel/gettext (gettext-0.18.3)
        * lang/python27 (python27-2.7.5_2)
        * lang/python2 (python2-2)
        * lang/python (python-2.7,2)
        * devel/p5-Locale-gettext (p5-Locale-gettext-1.05_3)
        * devel/gmake (gmake-3.82_1)
        * devel/glib20 (glib-2.36.3)
        * devel/libIDL (libIDL-0.8.14_1)
        * devel/ORBit2 (ORBit2-2.14.19)
        ! databases/gdbm (gdbm-1.10)    (install error)
        * textproc/intltool (intltool-0.50.2)
        * devel/apr1 (apr-1.4.8.1.5.2)
        * x11/xcb-proto (xcb-proto-1.8)
        * misc/help2man (help2man-1.43.3)
        * devel/binutils (binutils-2.23.2)
        ! databases/postgresql90-client (postgresql-client-9.0.13)      (configure error)
        * devel/autoconf (autoconf-2.69)
        * lang/vala (vala-0.20.1)
        * misc/shared-mime-info (shared-mime-info-1.1)
        ! x11/libxcb (libxcb-1.9.1)     (unknown build error)
        * devel/automake (automake-1.14)
        * www/apache22 (apache22-2.2.25)
        * security/gnutls (gnutls-2.12.23_1)
        * x11/xcb-util (xcb-util-0.3.9_1,1)
        * x11/xcb-util-renderutil (xcb-util-renderutil-0.3.8)
        * lang/php5 (php5-5.4.17)
        * sysutils/php5-fileinfo (php5-fileinfo-5.4.17)
        * graphics/graphite2 (graphite2-1.2.3)
        * graphics/php5-exif (php5-exif-5.4.17)
        * mail/postfix (postfix-2.10.0,1)
        * textproc/php5-dom (php5-dom-5.4.17)
        * misc/php5-calendar (php5-calendar-5.4.17)
        * devel/php5-sysvsem (php5-sysvsem-5.4.17)
        * textproc/php5-xmlwriter (php5-xmlwriter-5.4.17)
        * archivers/php5-zlib (php5-zlib-5.4.17)
        * archivers/php5-bz2 (php5-bz2-5.4.17)
        * archivers/php5-zip (php5-zip-5.4.17)
        * devel/php5-tokenizer (php5-tokenizer-5.4.17)
        * www/pecl-APC (pecl-APC-3.1.14_1)
        * converters/php5-iconv (php5-iconv-5.4.17)
        * ftp/php5-curl (php5-curl-5.4.17_1)
        * www/php5-session (php5-session-5.4.17)
        * databases/php5-pdo (php5-pdo-5.4.17)
        * databases/php5-pdo_pgsql (php5-pdo_pgsql-5.4.17)
        * mail/php5-imap (php5-imap-5.4.17)
        * net/php5-soap (php5-soap-5.4.17)
        * ftp/php5-ftp (php5-ftp-5.4.17)
        * databases/php5-pdo_dblib (php5-pdo_dblib-5.4.17)
        * security/php5-openssl (php5-openssl-5.4.17)
        * devel/php5-gettext (php5-gettext-5.4.17)
        * databases/php5-pdo_sqlite (php5-pdo_sqlite-5.4.17)
        * security/php5-hash (php5-hash-5.4.17)
        * databases/php5-mysqli (php5-mysqli-5.4.17)
        * textproc/php5-xml (php5-xml-5.4.17)
        * textproc/php5-xsl (php5-xsl-5.4.17)
        * devel/pear (pear-1.9.4_2)
        * databases/php5-pdo_firebird (php5-pdo_firebird-5.4.17)
        * textproc/php5-ctype (php5-ctype-5.4.17)
        * math/php5-bcmath (php5-bcmath-5.4.17)
        * converters/php5-mbstring (php5-mbstring-5.4.17)
        * archivers/php5-phar (php5-phar-5.4.17)
        * math/php5-gmp (php5-gmp-5.4.17)
        * lang/gcc (gcc-4.6.4)
        * devel/php5-pcntl (php5-pcntl-5.4.17)
        * databases/php5-dba (php5-dba-5.4.17)
        * net-p2p/cpuminer (cpuminer-2.3.2_2)
        * textproc/php5-simplexml (php5-simplexml-5.4.17)
        * devel/php5-shmop (php5-shmop-5.4.17)
        * devel/php5-sysvshm (php5-sysvshm-5.4.17)
        * textproc/php5-xmlreader (php5-xmlreader-5.4.17)
        * devel/php5-json (php5-json-5.4.17)
        * x11/libX11 (libX11-1.6.1,1)
        * sysutils/php5-posix (php5-posix-5.4.17)
        * databases/pecl-memcache (pecl-memcache-3.0.8)
        * devel/dbus-glib (dbus-glib-0.100.2)
        * x11/libXext (libXext-1.3.2,1)
        * x11/libXinerama (libXinerama-1.1.3,1)
        * x11/libXrender (libXrender-0.9.8)
        * textproc/php5-wddx (php5-wddx-5.4.17)
        * x11/libXfixes (libXfixes-5.0.1)
        * security/php5-mcrypt (php5-mcrypt-5.4.17)
        * x11/libXdamage (libXdamage-1.1.4)
        * x11/libXrandr (libXrandr-1.4.1)
        * graphics/cairo (cairo-1.10.2_5,2)
        * print/harfbuzz (harfbuzz-0.9.19)
        * devel/gobject-introspection (gobject-introspection-1.36.0_2)
        * sysutils/polkit (polkit-0.105_1)
        * net/php5-sockets (php5-sockets-5.4.17)
        * databases/php5-pdo_odbc (php5-pdo_odbc-5.4.17)
        * databases/php5-sqlite3 (php5-sqlite3-5.4.17)
        * x11/libXcursor (libXcursor-1.1.14)
        * devel/dconf (dconf-0.14.1)
        * x11-toolkits/pango (pango-1.34.1_1)
        * x11-toolkits/libXt (libXt-1.1.4,1)
        * databases/php5-mysql (php5-mysql-5.4.17)
        * databases/php5-pdo_mysql (php5-pdo_mysql-5.4.17)
        * net/php5-xmlrpc (php5-xmlrpc-5.4.17)
        * graphics/php5-gd (php5-gd-5.4.17)
        * x11/libXcomposite (libXcomposite-0.4.4,1)
        * print/pecl-pdflib (pecl-pdflib-2.1.10)
        * x11/libXi (libXi-1.7.2,1)
        * graphics/gdk-pixbuf2 (gdk-pixbuf2-2.28.2)
        * accessibility/atk (atk-2.8.0)
        * www/yii (yii-1.1.13)
        * security/php5-filter (php5-filter-5.4.17)
        * devel/php5-sysvmsg (php5-sysvmsg-5.4.17)
        * www/owncloud (owncloud-5.0.10_1)
        * graphics/gtk-update-icon-cache (gtk-update-icon-cache-2.24.19)
        * lang/php5-extensions (php5-extensions-1.7)
        * x11-toolkits/gtk20 (gtk-2.24.19_2)
        * devel/gconf2 (gconf2-2.32.0_3)
        * security/gnomint (gnomint-1.2.1_1)
root@ws:~> Write failed: Broken pipe
```


----------



## doll1 (Jan 28, 2014)

Nobody?


----------



## ShelLuser (Feb 2, 2014)

doll1 said:
			
		

> Yesterday I started an attempt to upgrade my dedicatet FreeBSD 9.1-RELEASE-p2 server with freebsd-update inside a screen-session.


Upgrade to what exactly?

It would also help if you could share the command which you used to initiate this upgrade.



			
				doll1 said:
			
		

> Hours later I tried to reconnect to pick up the screen-session to look at progress, but all I get since is subjected message preceded by /etc/motd and followed by Connection to ... closed.


That is indeed the main risk you take when performing an OS upgrade remotely without having access to the system console. Personally I'd never do an upgrade like that, simply because there is always a risk that you need console access to fix things.

For example; if you reboot and it turns out that the new kernel doesn't work properly you most likely won' t be able to tell the system that it should reboot using the previous kernel instead.

The cause for all this is easily explained..


```
[peter@centos ~]$ ldd `which screen`
        linux-vdso.so.1 =>  (0x00007fff725a6000)
        libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f508c121000)
        libutempter.so.0 => /usr/lib64/libutempter.so.0 (0x00007f508bf1f000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f508bce7000)
        libpam.so.0 => /lib64/libpam.so.0 (0x00007f508bad9000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f508b745000)
        libfreebl3.so => /lib64/libfreebl3.so (0x00007f508b4e2000)
        libaudit.so.1 => /lib64/libaudit.so.1 (0x00007f508b2c6000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f508b0c2000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f508c34a000)
```
(I know this isn't a FreeBSD example; that's because I don't run Screen on my servers any longer; I replaced it with sysutils/tmux)

Even though this isn't a FreeBSD example you'll still notice that screen depends on several libraries in the /lib64 directory. Some of those are also available on FreeBSD; for example libc.so (on my system found in /lib/libc.so.7), libpam.so (on my system in /usr/lib/libpam.so.5) and so on...

Now, the thing is that although the process might still be listening for incoming connections it would still require the presence of some libraries. And if you upgraded your system then there is a chance that libraries which screen needs to function are now no longer available. And that will eventually lead up to the kind of problems such as you're facing now.

Unfortunately I don't think there's a workaround here, the best solution you have is to get access to the console so that you can find out what happened; optionally (if need be) reboot the system in single user mode and then start investigating from there.


----------

