l i n u x - u s e r s - g r o u p - o f - d a v i s
Next Meeting:
July 7: Social gathering
Next Installfest:
Latest News:
Jun. 14: June LUGOD meeting cancelled
Page last updated:
2005 Jul 06 14:11

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
[vox-tech] Wierd linker thing
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vox-tech] Wierd linker thing

So earlier this week, I was trying to compile and run a network daemon
which we are writing at work that used the pthread_create() system call.
The problem I found was that whenever the program would try to call
pthread_create(), the program would segfault. The backtrace would contain
all of the calls leading up to pthread_create(), but not pthread_create()
itself, and valgrind would report an error that the system had tried to
jump to address 0x0.

The primary developer of this daemon, however, had no problem running
copies of the daemon that he had compiled. 

I spent all morning trying to figure out the cause of this problem, when I
decided to run ldd on each of our binaries. I found that his was linked
against libpthread, but mine was not. I added -lpthread to Makefile.am and
recompiled, and mine worked.

The question is this: if I wasn't linking with libpthread, then shouldn't
the linker have complained at me that it couldn't resolve the symbol for
pthread_create() when I was compiling? Why did this problem persist long
enough to be an unidentifiable runtime error?

--Ken Bloom
vox-tech mailing list

LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
EDGE Tech Corp.
For donating some give-aways for our meetings.