discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNUstep-gui make problems (linking pthreads)


From: James Smyth
Subject: GNUstep-gui make problems (linking pthreads)
Date: 01 Apr 2003 01:44:20 -0500

Greetings,
        
I am trying to install GNUstep on Mandrake 9.1 RC2 (Dual Athlon MP) and
am having problems with the gnustep-gui package.  In a nutshell, I have
to build the gnustep_sndd tool by hand, adding "-lpthread" to gcc
compilation line.

I do not know whether I have a problem with my (newly built) GCC 3.2.2,
a problem with the GNU make, or something else.

In particular, I get the following error during the make:

-----------------
Making all in gsnd...
make[2]: Entering directory
`/usr/src/gnustep/gnustep-gui-0.8.5/Tools/gsnd'
test -d shared_obj/ix86/linux-gnu/gnu-gnu-gnu/portaudio/pa_common || \
  mkdir -p shared_obj/ix86/linux-gnu/gnu-gnu-gnu/portaudio/pa_common ; \
  test -d shared_obj/ix86/linux-gnu/gnu-gnu-gnu/portaudio/pa_unix_oss ||
\
  mkdir -p shared_obj/ix86/linux-gnu/gnu-gnu-gnu/portaudio/pa_unix_oss ;
Making all for tool gnustep_sndd...
 Linking tool gnustep_sndd ...
shared_obj/ix86/linux-gnu/gnu-gnu-gnu/portaudio/pa_unix_oss/pa_unix_oss.o(.text+0x7a5):
 In function `PaHost_WatchDogProc':
: undefined reference to `pthread_kill'
shared_obj/ix86/linux-gnu/gnu-gnu-gnu/portaudio/pa_unix_oss/pa_unix_oss.o(.text+0x7b7):
 In function `PaHost_WatchDogProc':
: undefined reference to `pthread_cancel'

...<some more references to unresolved pthread symbols>....
-----------------


For what it is worth, the following is the relevant command (from a
'make -bnoquiet'):

-----------------
Making all for tool gnustep_sndd...
(echo " Linking tool gnustep_sndd ...";gcc  -rdynamic       -o
shared_obj/ix86/linux-gnu/gnu-gnu-gnu/gnustep_sndd \
shared_obj/ix86/linux-gnu/gnu-gnu-gnu/portaudio/pa_common/pa_lib.o
shared_obj/ix86/linux-gnu/gnu-gnu-gnu/portaudio/pa_unix_oss/pa_unix_oss.o 
shared_obj/ix86/linux-gnu/gnu-gnu-gnu/portaudio/pa_common/pa_trace.o 
shared_obj/ix86/linux-gnu/gnu-gnu-gnu/gsnd.o \
         -L/home/jsmyth/GNUstep/Libraries/ix86/linux-gnu/gnu-gnu-gnu
-L/home/jsmyth/GNUstep/Libraries/ix86/linux-gnu
-L/usr/GNUstep/Local/Libraries/ix86/linux-gnu/gnu-gnu-gnu
-L/usr/GNUstep/Local/Libraries/ix86/linux-gnu
-L/usr/GNUstep/Network/Libraries/ix86/linux-gnu/gnu-gnu-gnu
-L/usr/GNUstep/Network/Libraries/ix86/linux-gnu
-L/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu
-L/usr/GNUstep/System/Libraries/ix86/linux-gnu -lgnustep-base -lobjc
-ldl -lm )
-----------------

 
Obviously, the pthread symbols are not being resolved at link, even
though the portaudio objects could see their definitions.  This problem
is not limited to GNUstep compilation.

So, I can compile gnustep_sndd by hand, adding the -lpthread option to
the above gcc and I can finish the rest of gnustep-gui with make.  I
have not figured out how to add this option to the GNU make.  If I could
just get some help on this point, it would at least save me some time in
the future if/when I run into this problem again.


Some more info:  I had to reinstall GCC 3.2.2, in order to get
gnustep-base installed because, even though the Mandrake installation
was supposed to have included Objective-C, objc.h was not even on my
system.  I used the configuration provided in the GNUstep HOW-TO.  In
particular I enabled sharing and posix threads. That almost got me past
gnustep-base, with one additional hiccup: I had to add
/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/ to LD_LIBRARY_PATH in
order to finally get the Objective-C compilation  This makes me think
that there is something wrong with my GCC installation, even though I
followed the typical procedure of configure, make, make install.  I will
have to look into this some more, but comments/questions are welcome.

Anyway, I don't know if this is something that anyone can pinpoint, but
I thought I would throw it out there.  Any help would be greatly
appreciated and, at a minimum, it would be nice to know where I might
add that '-lpthread' option permanently in the GNU make.

Thanks,

James Smyth


(and now that Mandrake 9.1 is official, I might be starting over from
scratch soon....)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]