Date: 29 Oct 2004 23:39:12 -0000 From: Sven Berkvens-Matthijsse <sven@berkvens.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/73297: [patch] libmatroska port upgrade to 0.7.4 fails on FreeBSD 4.10 if a previous version of libmatroska is already installed Message-ID: <20041029233912.57955.qmail@cat.berkvens.net> Resent-Message-ID: <200410292340.i9TNeGXN020497@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 73297 >Category: ports >Synopsis: [patch] libmatroska port upgrade to 0.7.4 fails on FreeBSD 4.10 if a previous version of libmatroska is already installed >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Fri Oct 29 23:40:16 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Sven Berkvens-Matthijsse <sven@berkvens.net> >Release: FreeBSD 4.10-STABLE i386 >Organization: De Kattenfabriek >Environment: System: FreeBSD cat.berkvens.net 4.10-STABLE FreeBSD 4.10-STABLE #3: Thu Sep 16 23:19:36 CEST 2004 sven@cat.berkvens.net:/extra0/usr_obj/usr/src/sys/CAT i386 >Description: I had the port multimedia/libmatroska version 0.7.1 installed on my FreeBSD 4.10 system. I tried to use portupgrade to upgrade it to version 0.7.4, which is the most current version in the ports tree at this time. portupgrade was not able to upgrade the port and reported a "Bad C++ code" error. The problem is that the Makefile in /usr/ports/multimedia/libmatroska has some lines saying: .if ${OSVERSION} < 500000 CFLAGS+= -DNO_WSTRING -I${LOCALBASE}/include .endif The code of libmatroska uses lines like #include <matroska/KaxChapters.h> and because of the -I${LOCALBASE}/include will look for those files in /usr/local/include/matroska first (which is the previously installed version of libmatroska, not the new version). Those header files are obviously out of date for the new version, so the compile fails because the wrong header files are used. Changing the lines above to: .if ${OSVERSION} < 500000 CFLAGS+= -DNO_WSTRING -idirafter ${LOCALBASE}/include .endif solves the problem for me, because /usr/local/include is placed after the other paths that the port adds with the -I option to the compiler. >How-To-Repeat: * Install version 0.7.1 of libmatroska on your system * Try to portupgrade libmatroska to 0.7.4 >Fix: Change /.../multimedia/libmatroska/Makefile lines: .if ${OSVERSION} < 500000 CFLAGS+= -DNO_WSTRING -I${LOCALBASE}/include .endif to: .if ${OSVERSION} < 500000 CFLAGS+= -DNO_WSTRING -idirafter ${LOCALBASE}/include .endif >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041029233912.57955.qmail>