# Problem libxml2



## formaltux (Apr 10, 2013)

Hi,

```
uname -a
FreeBSD some_host 9.1-RELEASE-p2 FreeBSD 9.1-RELEASE-p2 #0: Wed Apr  3 21:31:49 CEST 2013     root@some_host:/usr/obj/usr/src/sys/GENERIC  i386
```


I'm having a problem upgrading:

```
libxml2-2.7.8_5                     <   needs updating (index has 2.8.0_1)
```
`# portupgrade libxml2-2.7.8_5` produces the following error:

```
CCLD   xpath2
../../.libs/libxml2.so: undefined reference to `lzma_auto_decoder'
../../.libs/libxml2.so: undefined reference to `lzma_code'
../../.libs/libxml2.so: undefined reference to `lzma_end'
../../.libs/libxml2.so: undefined reference to `lzma_properties_decode'
gmake[3]: *** [xpath2] Error 1
gmake[3]: *** Waiting for unfinished jobs....
gmake[3]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/doc/examples'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/doc'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0'
gmake: *** [all] Error 2
*** [do-build] Error code 1

Stop in /usr/ports/textproc/libxml2.
*** [build] Error code 1

Stop in /usr/ports/textproc/libxml2.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20130410-68260-1ctar0k-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=libxml2-2.7.8_5 UPGRADE_PORT_VER=2.7.8_5 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! textproc/libxml2 (libxml2-2.7.8_5)    (linker error)
```

I have tried to recompile lzma:

```
pkg_info | grep lzma
lzma-9.22           High-ratio LZMA compressor
lzmalib-0.0.1       Thin wrapper library of LZMA
```
But, same errors, please help.

Thanks.
D.


----------



## palfreman (Apr 10, 2013)

*libxml2 not compiling*

Yeah, same here.  Doesn't compile any more.  Ports tree from today with portsnap.


```
[root@roxanne /usr/ports/archivers/lzma]# pkg info | grep lzma
lzma-9.22                      High-ratio LZMA compressor
lzmalib-0.0.1                  Thin wrapper library of LZMA
[root@roxanne /usr/ports/archivers/lzma]# uname -a
FreeBSD roxanne.lan.palfreman.com 9.1-STABLE FreeBSD 9.1-STABLE #0 r249049: Wed Apr  3 20:19:04 UTC 2013     [email]root@roxanne.lan.palfreman.com[/email]:/usr/obj/usr/src/sys/ROXANNA  amd64
```


```
[root@roxanne /usr/ports/archivers/lzma]# pkg info | grep lzma
lzma-9.22                      High-ratio LZMA compressor
lzmalib-0.0.1                  Thin wrapper library of LZMA
[root@roxanne /usr/ports/archivers/lzma]# uname -a
FreeBSD roxanne.lan.palfreman.com 9.1-STABLE FreeBSD 9.1-STABLE #0 r249049: Wed Apr  3 20:19:04 UTC 2013     root@roxanne.lan.palfreman.com:/usr/obj/usr/src/sys/ROXANNA  amd64
```


```
[root@roxanne /usr/ports/textproc/libxml2]# make
===>  Building for libxml2-2.8.0_1
gmake  all-recursive
gmake[1]: Entering directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0'
Making all in include
gmake[2]: Entering directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/include'
Making all in libxml
gmake[3]: Entering directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/include/libxml'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/include/libxml'
gmake[3]: Entering directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/include'
gmake[3]: Nothing to be done for `all-am'.
gmake[3]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/include'
gmake[2]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/include'
Making all in .
gmake[2]: Entering directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0'
gmake[2]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0'
Making all in doc
gmake[2]: Entering directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/doc'
Making all in devhelp
gmake[3]: Entering directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/doc/devhelp'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/doc/devhelp'
Making all in examples
gmake[3]: Entering directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/doc/examples'
  CCLD   xpath2
  CCLD   reader1
  CCLD   reader4
  CCLD   parse2
../../.libs/libxml2.so: undefined reference to `lzma_auto_decoder'
../../.libs/libxml2.so: ../../.libs/libxml2.so: undefined reference to `lzma_auto_decoder'
undefine../../.libs/libxml2.so: undefined reference to `lzma_code'
d reference to `lzma_code'
../../.libs/libxml2.so: undefined referenc../../.libs/libxml2.so: undefined reference to `lzma_end'
../../.libs/libxml2.so: undefined../../.libs/libxml2.so r:e fue to `lzma_end'
ndefined reference ../../.libs/libxml2.so: undefined reference to `lzma_properties_decode'
to `lzma_auto_decoder'
erence to ../../.libs/libxml2.so: undefined reference to `lzma_code'
`lzma_properties_decode'
../../.libs/libxml2.so: undefined reference to `lzma_end'
../../.libs/libxml2.so: und../../.libs/libxml2.so: undefined reference to `lzma_auto_decoder'
efined r../../.libs/libxml2.so: undefined reference to `lzma_code'
eference to `lzma_properties_decode'
gmake[3]: *** [parse2] Error 1
gmake[3]: *** Waiting for unfinished jobs....
gmake[3]: *** [xpath2] Error 1
../../.libs/libxml2.so: undefined reference to `lzma_end'
../../.libs/libxml2.so: undefined reference to `lzma_properties_decode'
gmake[3]: *** [reader1] Error 1
gmake[3]: *** [reader4] Error 1
gmake[3]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/doc/examples'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0/doc'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/textproc/libxml2/work/libxml2-2.8.0'
gmake: *** [all] Error 2
*** [do-build] Error code 1

Stop in /usr/ports/textproc/libxml2.
*** [build] Error code 1

Stop in /usr/ports/textproc/libxml2.
```

I'm going to email gnome@FreeBSD.org, which is listed in the Makefile as the maintainer


----------



## formaltux (Apr 10, 2013)

Please post here when fixed, or you have more information.

Cheers.


----------



## SirDice (Apr 10, 2013)

Have you tried removing lzma and lzmalib? It may conflict with the LZMA compression that's build into the base OS (by way of xz(1)).


----------



## formaltux (Apr 10, 2013)

SirDice said:
			
		

> Have you tried removing lzma and lzmalib? It may conflict with the LZMA compression that's build into the base OS (by way of xz(1)).



After removal of lzma-9.22 and lzmalib-0.0.1:


```
--->  Upgrading 'libxml2-2.7.8_5' to 'libxml2-2.8.0_1' (textproc/
```

Works.


----------



## palfreman (Apr 10, 2013)

Yep, spot on.  Works fine with lzma and lzmalib removed.  As I understood it lzma is part of the base system anyway In my case tokyocabinet didn't call lzmalib port as a dependency but did require it in order to compile.  There is something not right here.  I don't get the distinction between liblzma in the base dist and lzmalib in the ports and their mutual antagonism.


----------



## cpm@ (Apr 10, 2013)

You can fix by just adding --with-lzma=/usr to CONFIGURE_ARGS in textproc/libxml2/Makefile.

```
--- Makefile	(revision 315774)
+++ Makefile	(working copy)
@@ -27,9 +27,8 @@
 CONFIGURE_ARGS?=--with-iconv=${LOCALBASE} \
 		--with-html-dir=${PREFIX}/share/doc \
 		--with-html-subdir=${PORTNAME} \
+		--with-lzma=/usr \
 		--without-python
-CPPFLAGS+=	-I${LOCALBASE}/include
-LDFLAGS+=	-L${LOCALBASE}/lib
 
 .if !defined(MASTERDIR)
 MAN1=		xml2-config.1 xmllint.1 xmlcatalog.1
```

http://docs.freebsd.org/cgi/getmsg.cgi?fetch=468486+0+current/freebsd-gnome.


----------



## palfreman (Apr 11, 2013)

I can confirm the fix worked perfectly for me.  Thanks guys.


----------

