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

Reply via email to