On Tue, Mar 13, 2001 at 06:42:19PM +0200, Heikki Tuuri wrote:
> >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
Actually, that did not help much. Rather/additionally, I removed the explicit
cast to get rid of the error message.
There are more occurences like that, it seems. In os0thread.c:98,
an os_thread_id_t is converted to an "ulint", what must fail for the
same reason. It is more difficult to fix this one.
> >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).
In the meantime sent in private email.
> > ...
> > 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.
Well, I decided for 'find . -name "*.o" | xargs rm' but that did not solve
my problem. The point is, that for reasons I don't see, the target definitions
are not propagated into the Makefiles, so there is nothing to be done.
To be more precise: In the "mysql configured" innobase, the os/Makefile has:
libos_a_OBJECTS = os0proc.o os0shm.o os0sync.o os0thread.o os0file.o
This line (and other lines) are missing in the one for which I called
automake and autoconf seperately.
It seems, that for the inclusion into the mysql distribution things have
been changed.
(Just like for berkeley-db there is no "make clean" target, so that you
cannot successfully "make clean" the mysql package anymore.)
> Thank you for trying on HP-UX. On Solaris I was able to compile, but
> obviously I still have overlooked some Posix thread subtleties.
Do you have a "standalone" version of innobase available that I can test
independent from the mysql distribution?
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