On 08/08/2012 11:49 PM, Behnaz Bostanipour wrote:
Hi all,
I've downloaded "ns-allinone-2.35" and extracted into the directory
/Users/username/ (where username refers to my username on my Mac).
Then, I run ./install and it fails to build OTcl-1.14, as you can see below:
============================================================
* Build OTcl-1.14
============================================================
No .configure file found in current directory
Continuing with default options...
checking build system type... i386-apple-darwin11.3.0
checking host system type... i386-apple-darwin11.3.0
checking target system type... i386-apple-darwin11.3.0
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for string.h... (cached) yes
checking for main in -lXbsd... no
checking for socket in -lsocket... no
checking for gethostbyname in -lnsl... no
checking for dcgettext in -lintl... no
checking for getnodebyname in -ldnet_stub... no
checking that g++ can handle -O2... no
checking standard STL is available... no
checking for tcl.h... -I../include
checking for tclInt.h... -I../include
checking for libtcl8.5... -L../lib -ltcl8.5
checking for init.tcl... ../lib/tcl8.5
checking for http.tcl... ../lib/tcl8.5/http1.0
checking Tcl http.tcl library... yes
checking for tclsh8.5.10... no
checking for tclsh8.5... ../bin/tclsh8.5
checking for tk.h... -I../include
checking for libtk8.5... -L../lib -ltk8.5
checking for tk.tcl... ../lib/tk8.5
checking for X11 header files
checking for X11 library archive
checking for XOpenDisplay in -lX11... no
checking for libXext.a
checking for ranlib... ranlib
checking for a BSD-compatible install... /usr/bin/install -c
checking system version (for dynamic loading)... Darwin-11.3.0
checking for dlopen in -ldl... yes
No explicit static compilation flag; setting V_STATIC to ""
no dynamic load lib
checking system version (for system-dependent libraries)... Darwin-11.3.0
checking for unistd.h... (cached) yes
checking for a BSD-compatible install... /usr/bin/install -c
configure: creating ./config.status
config.status: creating Makefile
creating ./gen
creating ./bin
rm -f libotcl.a otcl.o
gcc -c -g -O2 -DNDEBUG -DUSE_SHM -DHAVE_UNISTD_H=1 -I.
-I/Users/behnaz/ns-allinone-2.35/include
-I/Users/behnaz/ns-allinone-2.35/include
-I/Users/behnaz/ns-allinone-2.35/include -I/include otcl.c
otcl.c: In function ‘FindProc’:
otcl.c:784: warning: cast to pointer from integer of different size
otcl.c: In function ‘PrimitiveODestroyNoFree’:
otcl.c:1008: warning: cast from pointer to integer of different size
otcl.c: In function ‘OTclODestroyMethod’:
otcl.c:1300: warning: cast from pointer to integer of different size
ar cq libotcl.a otcl.o
ranlib libotcl.a
rm -f libotcl otcl.o so_locations
gcc -c -g -O2 -DNDEBUG -DUSE_SHM -DHAVE_UNISTD_H=1 -fPIC -I.
-I/Users/behnaz/ns-allinone-2.35/include
-I/Users/behnaz/ns-allinone-2.35/include
-I/Users/behnaz/ns-allinone-2.35/include -I/include otcl.c
otcl.c: In function ‘FindProc’:
otcl.c:784: warning: cast to pointer from integer of different size
otcl.c: In function ‘PrimitiveODestroyNoFree’:
otcl.c:1008: warning: cast from pointer to integer of different size
otcl.c: In function ‘OTclODestroyMethod’:
otcl.c:1300: warning: cast from pointer to integer of different size
o libotcl otcl.o
make: o: No such file or directory
make: [libotcl] Error 1 (ignored)
rm -f libotcl
gcc -o otclsh -g -O2 -I. -I/Users/behnaz/ns-allinone-2.35/include
-I/Users/behnaz/ns-allinone-2.35/include
-I/Users/behnaz/ns-allinone-2.35/include -I/include otclAppInit.c \
-L. -lotcl -L/Users/behnaz/ns-allinone-2.35/lib -ltk8.5
-L/Users/behnaz/ns-allinone-2.35/lib -ltcl8.5 -L/usr/X11R6/lib -lXext -lX11 -lm
Undefined symbols for architecture x86_64:
"_CFLocaleCopyCurrent", referenced from:
_TclpSetVariables in libtcl8.5.a(tclUnixInit.o)
"_CFLocaleGetIdentifier", referenced from:
_TclpSetVariables in libtcl8.5.a(tclUnixInit.o)
"_CFStringGetCString", referenced from:
_TclpSetVariables in libtcl8.5.a(tclUnixInit.o)
"_CFRelease", referenced from:
_TclpSetVariables in libtcl8.5.a(tclUnixInit.o)
_Tcl_FinalizeNotifier in libtcl8.5.a(tclMacOSXNotify.o)
_Tcl_MacOSXOpenVersionedBundleResources in libtcl8.5.a(tclMacOSXBundle.o)
"_CFStringCreateWithCString", referenced from:
_Tcl_MacOSXOpenVersionedBundleResources in libtcl8.5.a(tclMacOSXBundle.o)
"_CFBundleGetBundleWithIdentifier", referenced from:
_Tcl_MacOSXOpenVersionedBundleResources in libtcl8.5.a(tclMacOSXBundle.o)
"_CFBundleCopyBundleURL", referenced from:
_Tcl_MacOSXOpenVersionedBundleResources in libtcl8.5.a(tclMacOSXBundle.o)
"_CFURLCopyLastPathComponent", referenced from:
_Tcl_MacOSXOpenVersionedBundleResources in libtcl8.5.a(tclMacOSXBundle.o)
"_CFStringCompare", referenced from:
_Tcl_MacOSXOpenVersionedBundleResources in libtcl8.5.a(tclMacOSXBundle.o)
"_CFURLCreateCopyAppendingPathComponent", referenced from:
_Tcl_MacOSXOpenVersionedBundleResources in libtcl8.5.a(tclMacOSXBundle.o)
"_CFBundleCreate", referenced from:
_Tcl_MacOSXOpenVersionedBundleResources in libtcl8.5.a(tclMacOSXBundle.o)
"_CFBundleCopyResourceURL", referenced from:
_Tcl_MacOSXOpenVersionedBundleResources in libtcl8.5.a(tclMacOSXBundle.o)
"_CFURLGetFileSystemRepresentation", referenced from:
_Tcl_MacOSXOpenVersionedBundleResources in libtcl8.5.a(tclMacOSXBundle.o)
"_CFRunLoopGetCurrent", referenced from:
_Tcl_InitNotifier in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopSourceCreate", referenced from:
_Tcl_InitNotifier in libtcl8.5.a(tclMacOSXNotify.o)
"_kCFRunLoopCommonModes", referenced from:
_Tcl_InitNotifier in libtcl8.5.a(tclMacOSXNotify.o)
_Tcl_ServiceModeHook in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopAddSource", referenced from:
_Tcl_InitNotifier in libtcl8.5.a(tclMacOSXNotify.o)
_TclMacOSXNotifierAddRunLoopMode in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopObserverCreate", referenced from:
_Tcl_InitNotifier in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopAddObserver", referenced from:
_Tcl_InitNotifier in libtcl8.5.a(tclMacOSXNotify.o)
_TclMacOSXNotifierAddRunLoopMode in libtcl8.5.a(tclMacOSXNotify.o)
"_CFAbsoluteTimeGetCurrent", referenced from:
_Tcl_SetTimer in libtcl8.5.a(tclMacOSXNotify.o)
_Tcl_Sleep in libtcl8.5.a(tclMacOSXNotify.o)
_Tcl_ServiceModeHook in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopTimerSetNextFireDate", referenced from:
_Tcl_SetTimer in libtcl8.5.a(tclMacOSXNotify.o)
_Tcl_Sleep in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopTimerGetNextFireDate", referenced from:
_Tcl_Sleep in libtcl8.5.a(tclMacOSXNotify.o)
"_kCFRunLoopDefaultMode", referenced from:
_Tcl_Sleep in libtcl8.5.a(tclMacOSXNotify.o)
_Tcl_WaitForEvent in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopRunInMode", referenced from:
_Tcl_Sleep in libtcl8.5.a(tclMacOSXNotify.o)
_Tcl_WaitForEvent in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopSourceSignal", referenced from:
_NotifierThreadProc in libtcl8.5.a(tclMacOSXNotify.o)
_Tcl_AlertNotifier in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopWakeUp", referenced from:
_NotifierThreadProc in libtcl8.5.a(tclMacOSXNotify.o)
_Tcl_AlertNotifier in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopTimerCreate", referenced from:
_Tcl_ServiceModeHook in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopAddTimer", referenced from:
_Tcl_ServiceModeHook in libtcl8.5.a(tclMacOSXNotify.o)
_TclMacOSXNotifierAddRunLoopMode in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopSourceInvalidate", referenced from:
_Tcl_FinalizeNotifier in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopObserverInvalidate", referenced from:
_Tcl_FinalizeNotifier in libtcl8.5.a(tclMacOSXNotify.o)
"_CFRunLoopTimerInvalidate", referenced from:
_Tcl_FinalizeNotifier in libtcl8.5.a(tclMacOSXNotify.o)
"___CFConstantStringClassReference", referenced from:
CFString in libtcl8.5.a(tclMacOSXNotify.o)
CFString in libtcl8.5.a(tclMacOSXBundle.o)
CFString in libtcl8.5.a(tclMacOSXBundle.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [otclsh] Error 1
otcl-1.14 make failed! Exiting ...
See http://www.isi.edu/nsnam/ns/ns-problems.html for problems
Do you know how can I solve this problem, please?
Best Regards,
B.Bostanipour
I debugged this to be basically the lack of "-framework CoreFoundation"
in the LDFLAGS variable.
The attached workaround patch allows me to build ns-allinone-2.35 on Mac
OS X Mountain Lion 64-bit server.
cd ns-allinone-2.35
patch -p1 -i install.osx.patch
./install
I'll work on a better patch to the autoconf scripts to properly detect
and apply this flag.
- Tom