[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: undefined reference to `__ctype_b'
On Mon, 24 May 2004, Gildardo Sanchez wrote:
>
> I just upgraded my computer to Fedora Core 2. However, when I tried to
> compile inventor-2.1.5-10, I got the error:
> /usr/bin/g++ -L/usr/local///usr/lib -L/usr/X11R6/lib Main.o
> ClassDef.o Man.o Reader.o Writer.o BuildIssues.o -lInventor
> -o ivman
> /usr/local///usr/lib/libInventor.so: undefined reference to `__ctype_b'
>
> I saw some comments regarding this problem, but still cannot compile.
> Does anybody how to get OpenInventor working when this happens?
The problem is libFL.a was built with gcc 2.96 / glibc 2.2.x. The following
patch works for ia64 RH/AS3.x, and will quite likely work on recent fedora
on i386 too. After applying the patch, "make rpms" should now produce both
binary and src RPMs.
-- Mark
diff -uNr inventor.orig/GNUmakefile inventor/GNUmakefile
--- inventor.orig/GNUmakefile Sat Mar 24 13:47:41 2001
+++ inventor/GNUmakefile Wed May 19 14:42:27 2004
@@ -23,5 +23,5 @@
su -c "cp -f ../$(TARBALL) /usr/src/redhat/SOURCES"
for s in $(SPECS); do \
- (su -c "cd build; rpm -bb $$s") \
+ (su -c "cd build; rpmbuild -ba $$s") \
done;
diff -uNr inventor.orig/build/sgi-OpenInventor-clients.rpm.spec inventor/build/sgi-OpenInventor-clients.rpm.spec
--- inventor.orig/build/sgi-OpenInventor-clients.rpm.spec Fri Oct 6 05:33:20 2000
+++ inventor/build/sgi-OpenInventor-clients.rpm.spec Thu May 20 13:57:23 2004
@@ -5,6 +5,10 @@
Packager: Silicon Graphics, Inc.
Source: oiv.tar.gz
+BuildRoot: %{_tmppath}/sgi-OpenInventor-root
+%define _unpackaged_files_terminate_build 0
+%define _missing_doc_files_terminate_build 0
+
#
# Change the following as appropriate.
#
@@ -41,8 +45,10 @@
%setup -n inventor
%build
-make clobber
-make install
+R=/var/tmp/sgi-OpenInventor-root
+rm -rf $R
+make IVROOT=$R clobber
+make IVROOT=$R install
%post
type1=/usr/lib/X11/fonts/Type1
diff -uNr inventor.orig/build/sgi-OpenInventor-data.rpm.spec inventor/build/sgi-OpenInventor-data.rpm.spec
--- inventor.orig/build/sgi-OpenInventor-data.rpm.spec Mon Sep 18 19:01:03 2000
+++ inventor/build/sgi-OpenInventor-data.rpm.spec Thu May 20 13:57:32 2004
@@ -5,6 +5,10 @@
Packager: Silicon Graphics, Inc.
Source: oiv.tar.gz
+BuildRoot: %{_tmppath}/sgi-OpenInventor-root
+%define _unpackaged_files_terminate_build 0
+%define _missing_doc_files_terminate_build 0
+
#
# Change the following as appropriate.
#
@@ -41,7 +45,10 @@
%build
export LSUBDIRS=data
-make -e install
+R=/var/tmp/sgi-OpenInventor-root
+rm -rf $R
+make IVROOT=$R clobber
+make IVROOT=$R -e install
%files
%attr(-, root, root) %dir /usr/share/data
diff -uNr inventor.orig/build/sgi-OpenInventor-devel.rpm.spec inventor/build/sgi-OpenInventor-devel.rpm.spec
--- inventor.orig/build/sgi-OpenInventor-devel.rpm.spec Fri Oct 6 05:33:20 2000
+++ inventor/build/sgi-OpenInventor-devel.rpm.spec Thu May 20 13:57:40 2004
@@ -5,6 +5,10 @@
Packager: Silicon Graphics, Inc.
Source: oiv.tar.gz
+BuildRoot: %{_tmppath}/sgi-OpenInventor-root
+%define _unpackaged_files_terminate_build 0
+%define _missing_doc_files_terminate_build 0
+
#
# Change the following as appropriate.
#
@@ -43,8 +47,10 @@
%build
export LIBTYPE=debug
-make clobber
-make install
+R=/var/tmp/sgi-OpenInventor-root
+rm -rf $R
+make IVROOT=$R clobber
+make IVROOT=$R install
%post
type1=/usr/lib/X11/fonts/Type1
diff -uNr inventor.orig/libFL/GNUmakefile inventor/libFL/GNUmakefile
--- inventor.orig/libFL/GNUmakefile Fri May 18 06:57:20 2001
+++ inventor/libFL/GNUmakefile Thu May 20 10:37:59 2004
@@ -3,7 +3,7 @@
SUBDIRS = src
ifdef FREETYPE
-SUBDIRS = freetype
+SUBDIRS = ang
endif
all install: link
diff -uNr inventor.orig/make/ivcommonrules inventor/make/ivcommonrules
--- inventor.orig/make/ivcommonrules Sat Jul 12 08:40:54 2003
+++ inventor/make/ivcommonrules Thu May 20 14:53:59 2004
@@ -53,7 +53,7 @@
.SUFFIXES: .ivm .3iv
.ivm.3iv:
- (cd .. && $(IVMAN) `$(MAKEMANDIRS) $(*F)`) > $@
+ (cd .. && LD_LIBRARY_PATH=$(IVLIBDIR):DEFAULT $(IVMAN) `$(MAKEMANDIRS) $(*F)`) > $@
MAN3PAGES = $(IVMFILES:.ivm=.3iv)
diff -uNr inventor.orig/make/system inventor/make/system
--- inventor.orig/make/system Sat Jul 12 08:40:54 2003
+++ inventor/make/system Fri May 21 12:10:15 2004
@@ -11,6 +11,7 @@
ifneq (, $(findstring linux, $(UNAME)))
usingLinux = 1
+FREETYPE = 1
endif
ifneq (, $(findstring freebsd, $(UNAME)))