How do I make a statically linked an executable? So far I have tried the following:
1.) Supply -Bstatic to the linking phase of compilation:
application builds fine, but is not statically linked. Instead it depends on shared libraries not avaliable on my target machine.
2.) Supply -Bstatic during linking and during the building of each executable.
results in the following errors:
/opt/pgi/linux86-64/6.0/lib/libstd.a(locale_impl.o)(.text+0x25): In function std::_STLP_mutex_base::_M_acquire_lock( (void))': : undefined reference to
pthread_mutex_lock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(locale_impl.o)(.text+0x35): In function std::_STLP_mutex_base::_M_release_lock( (void))': : undefined reference to
pthread_mutex_unlock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(locale_impl.o)(.text+0x67): In function std::_STLP_mutex_indirect::_M_initialize( (void))': : undefined reference to
pthread_mutex_init’
/opt/pgi/linux86-64/6.0/lib/libstd.a(locale_impl.o)(.text+0x93): In function std::_STLP_mutex_indirect::_M_destroy( (void))': : undefined reference to
pthread_mutex_destroy’
/opt/pgi/linux86-64/6.0/lib/libstd.a(monetary.o)(.text+0x25): In function std::_STLP_mutex_base::_M_acquire_lock( (void))': : undefined reference to
pthread_mutex_lock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(monetary.o)(.text+0x35): In function std::_STLP_mutex_base::_M_release_lock( (void))': : undefined reference to
pthread_mutex_unlock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(monetary.o)(.text+0x67): In function std::_STLP_mutex_indirect::_M_initialize( (void))': : undefined reference to
pthread_mutex_init’
/opt/pgi/linux86-64/6.0/lib/libstd.a(monetary.o)(.text+0x93): In function std::_STLP_mutex_indirect::_M_destroy( (void))': : undefined reference to
pthread_mutex_destroy’
/opt/pgi/linux86-64/6.0/lib/libstd.a(numpunct.o)(.text+0x25): In function std::_STLP_mutex_base::_M_acquire_lock( (void))': : undefined reference to
pthread_mutex_lock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(numpunct.o)(.text+0x35): In function std::_STLP_mutex_base::_M_release_lock( (void))': : undefined reference to
pthread_mutex_unlock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(collate.o)(.text+0x25): In function std::_STLP_mutex_base::_M_acquire_lock( (void))': : undefined reference to
pthread_mutex_lock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(collate.o)(.text+0x35): In function std::_STLP_mutex_base::_M_release_lock( (void))': : undefined reference to
pthread_mutex_unlock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(dll_main.o)(.text+0x25): In function std::_STLP_mutex_base::_M_acquire_lock( (void))': : undefined reference to
pthread_mutex_lock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(dll_main.o)(.text+0x35): In function std::_STLP_mutex_base::_M_release_lock( (void))': : undefined reference to
pthread_mutex_unlock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(num_get.o)(.text+0x25): In function std::_STLP_mutex_base::_M_acquire_lock( (void))': : undefined reference to
pthread_mutex_lock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(num_get.o)(.text+0x35): In function std::_STLP_mutex_base::_M_release_lock( (void))': : undefined reference to
pthread_mutex_unlock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(num_put.o)(.text+0x25): In function std::_STLP_mutex_base::_M_acquire_lock( (void))': : undefined reference to
pthread_mutex_lock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(num_put.o)(.text+0x35): In function std::_STLP_mutex_base::_M_release_lock( (void))': : undefined reference to
pthread_mutex_unlock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(time_facets.o)(.text+0x25): In function std::_STLP_mutex_base::_M_acquire_lock( (void))': : undefined reference to
pthread_mutex_lock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(time_facets.o)(.text+0x35): In function std::_STLP_mutex_base::_M_release_lock( (void))': : undefined reference to
pthread_mutex_unlock’
/opt/pgi/linux86-64/6.0/lib/libstd.a(ctype.o)(.text+0x27): In function std::_STLP_mutex_indirect::_M_initialize( (void))': : undefined reference to
pthread_mutex_init’
/opt/pgi/linux86-64/6.0/lib/libstd.a(ctype.o)(.text+0x53): In function std::_STLP_mutex_indirect::_M_destroy( (void))': : undefined reference to
pthread_mutex_destroy’