Lutz,
I think you have found the problem.
>Ok, let's try to narrow things down: I have switched to GCC for the time
>being and got a similar compile error:
>gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../../include -I../include -O6 -DDBUG_OFF
>-DHPUX -I/opt/dce/include -DHAVE_BROKEN_SNPRINTF -c os0thread.c
>os0thread.c: In function `os_thread_get_curr_id':
>os0thread.c:29: aggregate value used where an integer was expected
Here I try to cast (convert) a thread object into a long integer.
Maybe a (handle to) thread object in HP-UX is represented as a struct,
and the typecast is not possible. Solution: change the typedef in
os0thread.h to:
typedef pthread_t os_thread_id_t
and replace comparisons like thr_id1 == thr_id2 by
pthread_equal(thr_id1, thr_id2)
Well, this needs some work from me, as the source code must be changed
possibly on several lines. Another possibility is that if you from the
header file pthread.h for HP-UX see how to convert a thread handle to
a (unique) unsigned long integer, you could try that fix on line 29.
>os0thread.c: In function `os_thread_create':
>os0thread.c:69: warning: dereferencing `void *' pointer
>os0thread.c:69: invalid use of void expression
>gmake[4]: *** [os0thread.o] Error 1
Here some of the parameters I pass are not correct for the HP-UX pthread header
file definitions, possibly the NULL that I pass as the second parameter.
I looked in an online manual of HP-UX 10.30 that the second parameter
should be pthread_attr_default, if default attributes are wanted
for a pthread creation. You could try replacing the NULL on line 69
by pthread_attr_default.
>Since threads are not well supported in HP-UX 10.20 I don't have experience
>with threads. I can send you the thread header files, if you think this
>might help.
It would help. If you can, please send them to [EMAIL PROTECTED]
(especially pthread.h).
> I will check how one could generate makefiles with less strict
> warnings control. One possibility is to create a file Makefile.i to
> the directory:
> ...your mysql source dir... /innobase/include
>
> and put the following define there:
>
> CFLAGS = -DHAVE_CONFIG_H -I. -I. -I.. -I../../include -I../include -DHPUX
> -Dinline= -I/opt/dce/include -I/usr/local/include -O -DDBUG_OFF
>
> It should override the flags generated by automake.
> Then go to the innobase subdirectory and regenerate new Makefiles:
>
> automake
> autoconf
> ./configure
>
> Ignore the warnings automake and autoconf give. Then type
>
> make
>
> Probably you will get new errors from the HP compiler now :), I can help you
> tomorrow if you report the next problems you encounter.
>Actually, I don't get any error. It steps into each directory and has nothing
>to do at all. Seems the .o and .c files are not propagated into the Makefiles.
Sorry, forgot to mention you should delete all .o files in subdirs. Type
in the innobase directory:
rm ./*/*.o
and only after that do the make.
Thank you for trying on HP-UX. On Solaris I was able to compile, but
obviously I still have overlooked some Posix thread subtleties.
Best regards,
Heikki
>Best regards,
> Lutz
>--
>Lutz Jaenicke [EMAIL PROTECTED]
>BTU Cottbus http://www.aet.TU-Cottbus.DE/personen/jaenicke/
>Lehrstuhl Allgemeine Elektrotechnik Tel. +49 355 69-4129
>Universitaetsplatz 3-4, D-03044 Cottbus Fax. +49 355 69-4153
>---------------------------------------------------------------------------
-----
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php