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