Could not run sdl test program

Hi,

I get the following errors when running configure in SDL_image 1.0.6:

Undefined first referenced
symbol in file
sem_init /grading/.keep/lib/libSDL.so
sem_wait /grading/.keep/lib/libSDL.so
sem_destroy /grading/.keep/lib/libSDL.so
sem_trywait /grading/.keep/lib/libSDL.so
sem_getvalue /grading/.keep/lib/libSDL.so
sem_post /grading/.keep/lib/libSDL.so
ld: fatal: Symbol referencing errors. No output written to conftest

I have the latest SDL CVS files (downloaded April 29).
Compiled on SunOS 5.6, sparc SUNW,Ultra-Enterprise.

No problems compiling on my Linux box (RedHat 6.1).

Where should I look to solve the problem?

Thanks!

Melvin

I get the following errors when running configure in SDL_image 1.0.6:

Undefined first referenced
symbol in file
sem_init /grading/.keep/lib/libSDL.so
sem_wait /grading/.keep/lib/libSDL.so
sem_destroy /grading/.keep/lib/libSDL.so
sem_trywait /grading/.keep/lib/libSDL.so
sem_getvalue /grading/.keep/lib/libSDL.so
sem_post /grading/.keep/lib/libSDL.so
ld: fatal: Symbol referencing errors. No output written to conftest

I have the latest SDL CVS files (downloaded April 29).
Compiled on SunOS 5.6, sparc SUNW,Ultra-Enterprise.

Interesting. Try the “–disable-pthread-sem” configure option.
Does solaris have pthread semaphores?

Thanks!
-Sam Lantinga, Lead Programmer, Loki Entertainment Software

Unfortunately, the “–disable-pthread-sem” configure option does not
work. SDL_image compiled fine when I used an earlier version of SDL CVS
though.

I’m not familar with threads, but I poked around the man pages for
pthread and found the following:

In file “pthreads.3t”---------------------

Similarities
Most of the functions in both libraries, libpthread and lib-
thread, have a counterpart in the other’s library. POSIX
functions and Solaris functions, whose names have similar
endings, usually have similar functionality, number of argu-
ments, and use of arguments.

IMPLEMENTATION
POSIX Solaris

Semaphore
sem_init() sema_init()
sem_open() ___
sem_close() ___
sem_wait() sema_wait()
sem_trywait() sema_trywait()
sem_post() sema_post()
sem_getvalue() ___
sem_unlink() ___
sem_destroy() sema_destroy()

In file “libpthread.4”

DESCRIPTION
Functions in this library provide the POSIX threads. See
standards(5). This library is implemented as a filter on
the threads library (see libthread(4)).

 The shared object libpthread.so.1 provides the public inter-
 faces defined below.

INTERFACES
SUNW_1.1 (generic):
sema_destroy
sema_init sema_post
sema_trywait sema_wait

I suppose Solaris does have pthread semaphores.

I’ll be glad to provide files/info if that helps.

Thanks!

Melvin

Sam Lantinga wrote:

I get the following errors when running configure in SDL_image 1.0.6:

Undefined first referenced
symbol in file
sem_init /grading/.keep/lib/libSDL.so
sem_wait /grading/.keep/lib/libSDL.so
sem_destroy /grading/.keep/lib/libSDL.so
sem_trywait /grading/.keep/lib/libSDL.so
sem_getvalue /grading/.keep/lib/libSDL.so
sem_post /grading/.keep/lib/libSDL.so
ld: fatal: Symbol referencing errors. No output written to conftest

I have the latest SDL CVS files (downloaded April 29).
Compiled on SunOS 5.6, sparc SUNW,Ultra-Enterprise.

Interesting. Try the “–disable-pthread-sem” configure option.
Does solaris have pthread semaphores?

Thanks!
-Sam Lantinga, Lead Programmer, Loki Entertainment Software

Undefined first referenced
symbol in file
sem_init /grading/.keep/lib/libSDL.so
sem_wait /grading/.keep/lib/libSDL.so
sem_destroy /grading/.keep/lib/libSDL.so
sem_trywait /grading/.keep/lib/libSDL.so
sem_getvalue /grading/.keep/lib/libSDL.so
sem_post /grading/.keep/lib/libSDL.so
ld: fatal: Symbol referencing errors. No output written to conftest

I have the latest SDL CVS files (downloaded April 29).
Compiled on SunOS 5.6, sparc SUNW,Ultra-Enterprise.

man sem_init gives you the answer: -lposix4. Sam, this should go into
configure.in.

I have the latest SDL CVS files (downloaded April 29).
Compiled on SunOS 5.6, sparc SUNW,Ultra-Enterprise.

(Ah, so we use an Ultra Enterprise to play doom on, do we? Kids of today… :slight_smile:

man sem_init gives you the answer: -lposix4.

Cool, it works now!

Thanks! :slight_smile:

Melvin