From: Sabuj Pattanayek (sabuj.pattanayek_at_vanderbilt.edu)
Date: Wed Mar 15 2006 - 13:17:49 CST
Oops,
It doesn't like it when tcl is compiled with --enable-threads. Fixed it now.
Thanks,
Sabuj Pattanayek wrote:
> Hi,
> 
> I recompiled fftw and tcl using --enable-static and --disable-shared 
> respectively, cleaned out the compile directory and started a new 
> compile, I am getting different linking errors, from glibc?:
> 
> gcc -Isb/src -I/sb/apps/tcltk-8.4.12/Linux2/i686/include -DNAMD_TCL 
> -DUSE_NON_CONST -O3 -march=i686 -static -DNAMD_VERSION=\"2.6b1\" 
> -DNAMD_PLATFORM=\"Linux-i686-MPI\"  -o psfgen obj/tcl_main.o 
> obj/tcl_psfgen.o obj/charmm_file.o obj/charmm_parse_topo_defs.o 
> obj/extract_alias.o obj/hash.o obj/hasharray.o obj/memarena.o 
> obj/pdb_file.o obj/pdb_file_extract.o obj/psf_file.o 
> obj/psf_file_extract.o obj/topo_defs.o obj/topo_mol.o 
> obj/topo_mol_output.o obj/stringhash.o 
> -L/sb/apps/tcltk-8.4.12/Linux2/i686/lib -ltcl8.4 -ldl  -lm
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclLoadDl.o)(.text+0x2a): 
> In function `TclpDlopen':
> : warning: Using 'dlopen' in statically linked applications requires at 
> runtime the shared libraries from the glibc version used for linking
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixFCmd.o)(.text+0xd83): 
> In function `GetGroupAttribute':
> : warning: Using 'getgrgid' in statically linked applications requires 
> at runtime the shared libraries from the glibc version used for linking
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixFCmd.o)(.text+0xfb1): 
> In function `SetGroupAttribute':
> : warning: Using 'getgrnam' in statically linked applications requires 
> at runtime the shared libraries from the glibc version used for linking
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixFCmd.o)(.text+0xdbb): 
> In function `GetGroupAttribute':
> : warning: Using 'endgrent' in statically linked applications requires 
> at runtime the shared libraries from the glibc version used for linking
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixFCmd.o)(.text+0x10c9): 
> In function `SetOwnerAttribute':
> : warning: Using 'getpwnam' in statically linked applications requires 
> at runtime the shared libraries from the glibc version used for linking
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixFCmd.o)(.text+0xe4f): 
> In function `GetOwnerAttribute':
> : warning: Using 'getpwuid' in statically linked applications requires 
> at runtime the shared libraries from the glibc version used for linking
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixFCmd.o)(.text+0xe8b): 
> In function `GetOwnerAttribute':
> : warning: Using 'endpwent' in statically linked applications requires 
> at runtime the shared libraries from the glibc version used for linking
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixChan.o)(.text+0x171a): 
> In function `TcpGetOptionProc':
> : warning: Using 'gethostbyaddr' in statically linked applications 
> requires at runtime the shared libraries from the glibc version used for 
> linking
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixChan.o)(.text+0x1acd): 
> In function `CreateSocketAddress':
> : warning: Using 'gethostbyname' in statically linked applications 
> requires at runtime the shared libraries from the glibc version used for 
> linking
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclIOSock.o)(.text+0x46): 
> In function `TclSockGetPort':
> : warning: Using 'getservbyname' in statically linked applications 
> requires at runtime the shared libraries from the glibc version used for 
> linking
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x1d): 
> In function `TclpThreadCreate':
> : undefined reference to `pthread_attr_init'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x27): 
> In function `TclpThreadCreate':
> : undefined reference to `pthread_attr_setscope'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x44): 
> In function `TclpThreadCreate':
> : undefined reference to `pthread_create'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x5c): 
> In function `TclpThreadCreate':
> : undefined reference to `pthread_attr_destroy'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x72): 
> In function `TclpThreadCreate':
> : undefined reference to `pthread_attr_setstacksize'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x87): 
> In function `TclpThreadCreate':
> : undefined reference to `pthread_attr_setdetachstate'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x9a): 
> In function `TclpThreadCreate':
> : undefined reference to `pthread_create'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0xb2): 
> In function `TclpThreadCreate':
> : undefined reference to `pthread_create'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0xc7): 
> In function `TclpThreadCreate':
> : undefined reference to `pthread_attr_destroy'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0xf2): 
> In function `Tcl_JoinThread':
> : undefined reference to `pthread_join'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x11f): 
> In function `TclpThreadExit':
> : undefined reference to `pthread_exit'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x136): 
> In function `Tcl_GetCurrentThread':
> : undefined reference to `pthread_self'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x15b): 
> In function `TclpInitLock':
> : undefined reference to `pthread_mutex_lock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x17f): 
> In function `TclFinalizeLock':
> : undefined reference to `pthread_mutex_unlock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x1a3): 
> In function `TclpInitUnlock':
> : undefined reference to `pthread_mutex_unlock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x1c7): 
> In function `TclpMasterLock':
> : undefined reference to `pthread_mutex_lock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x1eb): 
> In function `TclpMasterUnlock':
> : undefined reference to `pthread_mutex_unlock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x22f): 
> In function `Tcl_MutexLock':
> : undefined reference to `pthread_mutex_lock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x24a): 
> In function `Tcl_MutexLock':
> : undefined reference to `pthread_mutex_lock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x25e): 
> In function `Tcl_MutexLock':
> : undefined reference to `pthread_mutex_unlock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x26c): 
> In function `Tcl_MutexLock':
> : undefined reference to `pthread_mutex_lock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x28a): 
> In function `Tcl_MutexLock':
> : undefined reference to `pthread_mutex_init'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x2b9): 
> In function `Tcl_MutexUnlock':
> : undefined reference to `pthread_mutex_unlock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x2e7): 
> In function `TclpFinalizeMutex':
> : undefined reference to `pthread_mutex_destroy'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x327): 
> In function `TclpThreadDataKeyInit':
> : undefined reference to `pthread_mutex_lock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x33b): 
> In function `TclpThreadDataKeyInit':
> : undefined reference to `pthread_mutex_unlock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x35a): 
> In function `TclpThreadDataKeyInit':
> : undefined reference to `pthread_key_create'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x372): 
> In function `TclpThreadDataKeyInit':
> : undefined reference to `pthread_mutex_unlock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x3a2): 
> In function `TclpThreadDataKeyGet':
> : undefined reference to `pthread_getspecific'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x3ce): 
> In function `TclpThreadDataKeySet':
> : undefined reference to `pthread_setspecific'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x402): 
> In function `TclpFinalizeThreadData':
> : undefined reference to `pthread_getspecific'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x41d): 
> In function `TclpFinalizeThreadData':
> : undefined reference to `pthread_setspecific'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x45a): 
> In function `TclpFinalizeThreadDataKey':
> : undefined reference to `pthread_key_delete'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x51b): 
> In function `Tcl_ConditionWait':
> : undefined reference to `pthread_cond_timedwait'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x537): 
> In function `Tcl_ConditionWait':
> : undefined reference to `pthread_mutex_lock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x54c): 
> In function `Tcl_ConditionWait':
> : undefined reference to `pthread_mutex_unlock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x572): 
> In function `Tcl_ConditionWait':
> : undefined reference to `pthread_cond_wait'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x593): 
> In function `Tcl_ConditionWait':
> : undefined reference to `pthread_cond_init'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x5cb): 
> In function `Tcl_ConditionNotify':
> : undefined reference to `pthread_cond_broadcast'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x5fb): 
> In function `TclpFinalizeCondition':
> : undefined reference to `pthread_cond_destroy'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x6c4): 
> In function `TclpNewAllocMutex':
> : undefined reference to `pthread_mutex_init'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x708): 
> In function `TclpFreeAllocMutex':
> : undefined reference to `pthread_mutex_destroy'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x75c): 
> In function `TclpFreeAllocCache':
> : undefined reference to `pthread_key_delete'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x795): 
> In function `TclpGetAllocCache':
> : undefined reference to `pthread_getspecific'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x7aa): 
> In function `TclpGetAllocCache':
> : undefined reference to `pthread_mutex_lock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x7c5): 
> In function `TclpGetAllocCache':
> : undefined reference to `pthread_mutex_unlock'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x7d6): 
> In function `TclpGetAllocCache':
> : undefined reference to `pthread_getspecific'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x7f0): 
> In function `TclpGetAllocCache':
> : undefined reference to `pthread_key_create'
> /sb/apps/tcltk-8.4.12/Linux2/i686/lib/libtcl8.4.a(tclUnixThrd.o)(.text+0x821): 
> In function `TclpSetAllocCache':
> : undefined reference to `pthread_setspecific'
> collect2: ld returned 1 exit status
> make: *** [psfgen] Error 1
> 
> 
> Thanks,
> Sabuj Pattanayek
> 
> Brian Bennion wrote:
> 
>>
>>
>> You should review the compilation instructions for NAMD on the NAMDwiki
>>  http://www.ks.uiuc.edu/Research/namd/wiki/index.cgi?NamdCompile
>>
>> NAMD is statically linked to tcl and fftw ie uses libtcl8.4.a 
>> libraries not .so files...
>>
>>
>>
>> On Mon, 13 Mar 2006, Sabuj Pattanayek wrote:
>>
>>> Hi,
>>>
>>> I almost have namd compiled but it errored during the linking stage. 
>>> I have install tcltk-8.4.12 in a separate directory and I put the 
>>> following in the arch/Linux-i686.tcl file:
>>>
>>> TCLDIR=/sb/apps/tcltk-8.4.12/Linux2/i686
>>> TCLINCL=-I$(TCLDIR)/include
>>> TCLLIB=-L$(TCLDIR)/lib -ltcl8.4 -ldl
>>> TCLFLAGS=-DNAMD_TCL -DUSE_NON_CONST
>>> TCL=$(TCLINCL) $(TCLFLAGS)
>>>
>>> All is well during the compile stage until it tries to link 
>>> everything and I get this error:
>>>
>>> /usr/bin/ld: cannot find -ltcl8.4
>>>
>>> I'm not sure why this is happening because libtcl8.4.so exists in the 
>>> lib directory defined by TCLDIR. I also tried linking libtcl8.4.so to 
>>> libtcl.so and using -ltcl in the arch/Linux-i686.tcl file but I also 
>>> receive the same error. Does anyone know why this might be happening? 
>>> Does namd only link with a tcltk-8.3.x revision?
>>>
>>> Thanks,
>>> Sabuj Pattanayek
>>>
>>
>> ************************************************
>>   Brian Bennion, Ph.D.
>>   Biosciences Directorate
>>   Lawrence Livermore National Laboratory
>>   P.O. Box 808, L-448    bennion1_at_llnl.gov
>>   7000 East Avenue       phone: (925) 422-5722
>>   Livermore, CA  94550   fax:   (925) 424-6605
>> ************************************************
>>
> 
This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:43:23 CST