FreeBSD Port: octave-3.2.2_5

Christoph Moench-Tegeder cmt at burggraben.net
Wed Sep 16 19:19:15 UTC 2009


## Jan Henrik Sylvester (me at janh.de):

> >> Here's the error in the build:
> >> making gendoc.cc
> >> g++44 -O2 -fno-strict-aliasing -pipe -I/usr/local/include
> >> -I/usr/local/include -o gendoc gendoc.cc -L/usr/local/lib -pthread
> >> making DOCSTRINGS
> >> /libexec/ld-elf.so.1: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11
> >> required by ./gendoc not found
> > Hi Joey, I also noticed that Gerald has updated GCC43 to GCC44.
> > you should recompile all ports...
> > thanks
> I hit the same error on 7.2-RELEASE. I did recompile all Fortran 
> dependencies with gcc44 and removed gcc43, still the error persists.

The power of versioned symbols...
Try this on math/octave/Makefile

--- Makefile.orig       2009-09-16 20:34:05.000000000 +0200
+++ Makefile    2009-09-16 20:33:14.000000000 +0200
@@ -76,12 +76,12 @@
 PLIST_SUB=     OCTAVE_VERSION=${OCTAVE_VERSION} GNU_HOST=${GNU_HOST}
 INCLUDES=      -I${LOCALBASE}/include
 MAKE_ENV+=     CPPFLAGS="${CPPFLAGS} ${INCLUDES}" \
-               LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib ${PTHREAD_LIBS}"
+               LDFLAGS="${LDFLAGS} -L/usr/local/lib/gcc44 -Wl,-rpath /usr/local/lib/gcc44 -L${LOCALBASE}/lib ${PTHREAD_LIBS}"
 CFLAGS+=       ${INCLUDES}
 CXXFLAGS+=     ${INCLUDES}
 CPPFLAGS+=     ${INCLUDES}
 CONFIGURE_ENV+=        GPERF="${LOCALBASE}/bin/gperf" \
-               LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib ${PTHREAD_LIBS}" \
+               LDFLAGS="${LDFLAGS} -L/usr/local/lib/gcc44 -Wl,-rpath /usr/local/lib/gcc44 -L${LOCALBASE}/lib ${PTHREAD_LIBS}" \
                CC="${CC}" \
                CXX="${CXX}" \
                TERMIOS_H="termios.h"

This makes octave build, but I'm not sure if it breaks other things...
Note the hardcoded gcc44 paths... there must be a better way.

Regards,
Christoph

-- 
Spare Space


More information about the freebsd-ports mailing list