List:General Discussion« Previous MessageNext Message »
From:Didier Godefroy Date:April 28 2009 11:48am
Subject:Re: Building 5.1 on Tru64 5.1b
View as plain text  
on 4/28/09 10:01 AM, walter harms at wharms@stripped uttered the following:

>> cxx: Error: ../../sql/log.h, line 140: identifier "pthread_mutex_destroy" is
>>           undefined
>>   ~st_log_info() { pthread_mutex_destroy(&lock);}
>> -------------------^
>> cxx: Error: ../../sql/log.h, line 401: identifier "pthread_mutex_unlock" is
>>           undefined
>>   inline void unlock_index() { pthread_mutex_unlock(&LOCK_index);}
>> -------------------------------^
>> cxx: Info: 2 errors detected in the compilation of "".

> but i run mysql on 64bit Intel therefore i assume that mysql is 64bit clean.

There must be something wrong because when I built 5.1.33 earlier, it caused
a huge amount of "unaligned access" warnings, but I had built that one with
gcc and I was trying to build it using cc/cxx to see of that problem would
go away...

> What you are missing is the posix thread library. On linux this is with glibc.

Actually, I'm not missing it, and that's what makes no sense, if you read my
post, I only get the 2 errors on those 2 identifiers, which are defined in
the posix thread library pthread.h which is in /usr/include on tru64 and
that is obviously found and used because none of the other identifiers
defined in it are coming up as undefined.
I did some testing by changing the call in log.h to pthread_mutex_unlock,
which causes the undefined error into pthread_mutex_lock and that error went
away, so pthread_mutex_lock is defined but not pthread_mutex_unlock and
they're both (and many others) defined in pthread.h

> I assume that you cc/ld need some special options to find it.

The options are there, it's -pthread and if that wasn't there I would get a
lot more errors because pthread.h wouldn't be used at all. Using -pthread
with cc makes ld use -lpthread so it's working fine, except for those 2
identifiers out of the bunch.

> The mysql documentation says that True64 need special options to configure:

I already had looked at this and I do have all the right flags. I was able
to build 5.1.33 and not 5.1.34, so something may have changed.

> If you find more issues please update the mysql documentation. These days
> there is
> a monoculture of intelboxes and linux but good programms should be tested on
> more.

It's Tru64 that is being neglected too much these days, we are still many
users of it and it won't go away, but the support for it is lagging. And it
seems posting on the mysql list about tru64 doesn't trigger much interest
I just upgraded my compilers, both cc and cxx to the latest and the errors
are still there...

Didier Godefroy

Building 5.1 on Tru64 5.1bDidier Godefroy27 Apr
  • Re: Building 5.1 on Tru64 5.1bwalter harms28 Apr
    • Re: Building 5.1 on Tru64 5.1bDidier Godefroy28 Apr
      • Re: Building 5.1 on Tru64 5.1bJoerg Bruehe28 Apr
        • Re: Building 5.1 on Tru64 5.1bJoerg Bruehe28 Apr
        • Re: Building 5.1 on Tru64 5.1bDidier Godefroy28 Apr