| Bug #9954 | mysql-4.1.11/cmd-line-utils/libedit/makelist.sh is not portable | ||
|---|---|---|---|
| Submitted: | 16 Apr 2005 17:43 | Modified: | 28 Apr 2005 2:03 |
| Reporter: | STyx | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
| Version: | mysql-4.1.11 | OS: | cygwin |
| Assigned to: | Magnus Blåudd | CPU Architecture: | Any |
[22 Apr 2005 13:08]
Magnus Blåudd
This is as far I've got.
Downloaded the source for 4.1.11.
Apply the following patch for mysys/my_trh_init.c
===== my_thr_init.c 1.28 vs edited =====
*** C:/cygwin/home/Magnus/mysql/mysql-4.1/BitKeeper/tmp/bk_my_thr_init.c-1.28_a01332 2004-10-22 17:44:48 +02:00
--- edited/my_thr_init.c 2005-04-22 10:31:03 +02:00
***************
*** 72,80 ****
--- 72,82 ----
pthread_mutexattr_setkind_np(&my_fast_mutexattr,PTHREAD_MUTEX_ADAPTIVE_NP);
#endif
#ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+ #ifdef PTHREAD_MUTEX_ERRORCHECK_NP
pthread_mutexattr_init(&my_errchk_mutexattr);
pthread_mutexattr_setkind_np(&my_errchk_mutexattr,
PTHREAD_MUTEX_ERRORCHECK_NP);
+ #endif
#endif
pthread_mutex_init(&THR_LOCK_malloc,MY_MUTEX_INIT_FAST);
Run configure using the switch --with-readline to avoid the problems in libedit
$ ./configure --with-readline --without-innodb [--with-debug]
$ make
It will make all files, but a link problem occurs when linking mysqld.
.a ../strings/libmystrings.a -lz -lcrypt -lm
g++ -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -o mysqld.e
xe sql_lex.o sql_handler.o item.o item_sum.o item_buff.o item_func.o item_cmpfun
c.o item_strfunc.o item_timefunc.o thr_malloc.o item_create.o item_subselect.o i
tem_row.o item_geofunc.o field.o strfunc.o key.o sql_class.o sql_list.o net_serv
.o protocol.o sql_state.o lock.o my_lock.o sql_string.o sql_manager.o sql_map.o
mysqld.o password.o hash_filo.o hostname.o set_var.o sql_parse.o sql_yacc.o sql_
base.o table.o sql_select.o sql_insert.o sql_prepare.o sql_error.o sql_update.o
sql_delete.o uniques.o sql_do.o procedure.o item_uniq.o sql_test.o log.o log_eve
nt.o init.o derror.o sql_acl.o unireg.o des_key_file.o discover.o time.o opt_ran
ge.o opt_sum.o records.o filesort.o handler.o ha_heap.o ha_myisam.o ha_myisammrg
.o ha_berkeley.o ha_innodb.o ha_isam.o ha_isammrg.o ha_ndbcluster.o sql_db.o sql
_table.o sql_rename.o sql_crypt.o sql_load.o mf_iocache.o field_conv.o sql_show.
o sql_udf.o sql_analyse.o sql_cache.o slave.o sql_repl.o sql_union.o sql_derived
.o client.o sql_client.o mini_client_errors.o pack.o stacktrace.o repl_failsafe.
o gstream.o spatial.o sql_help.o protocol_cursor.o tztime.o my_time.o ha_example
.o ha_archive.o ha_tina.o ha_blackhole.o ../myisam/libmyisam.a ../myisammrg/lib
myisammrg.a ../heap/libheap.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbu
g.a ../regex/libregex.a ../strings/libmystrings.a -lz -lcrypt
item_strfunc.o(.text+0x68b7):item_strfunc.cc: undefined reference to `__static_i
nitialization_and_destruction_0(int, int)'
item_strfunc.o(.text+0x68d7):item_strfunc.cc: undefined reference to `__static_i
nitialization_and_destruction_0(int, int)'
log.o(.text+0x4467):log.cc: undefined reference to `__static_initialization_and_
destruction_0(int, int)'
log.o(.text+0x4487):log.cc: undefined reference to `__static_initialization_and_
destruction_0(int, int)'
spatial.o(.text+0x2e47):spatial.cc: undefined reference to `__static_initializat
ion_and_destruction_0(int, int)'
tztime.o(.text+0x22a7):tztime.cc: more undefined references to `__static_initial
ization_and_destruction_0(int, int)' follow
collect2: ld returned 1 exit status
make[4]: *** [mysqld.exe] Error 1
make[4]: Leaving directory `/home/Magnus/mysql/mysql-4.1.11/sql'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/Magnus/mysql/mysql-4.1.11/sql'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/Magnus/mysql/mysql-4.1.11/sql'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Magnus/mysql/mysql-4.1.11'
make: *** [all] Error 2
Will continue with this problem later. Looks like it thinks this is pure windows, since it's trying to make mysqld.exe
[26 Apr 2005 10:35]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/24306
[26 Apr 2005 11:44]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/24312
[26 Apr 2005 19:17]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/24338
[27 Apr 2005 7:59]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/24349
[27 Apr 2005 11:27]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/24366
[27 Apr 2005 11:28]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/24367
[27 Apr 2005 11:30]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/24368
[27 Apr 2005 20:13]
Magnus Blåudd
Changed implementation of the awk scripts in makelist.sh Pushed to 4.1.12 and 5.0.6
[28 Apr 2005 2:03]
Paul DuBois
Noted in 4.1.12, 5.0.6 changelogs.
[3 May 2005 10:37]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/24532

Description: BUG in mysql-4.1.11/cmd-line-utils/libedit file 'makelist.sh' is not portable (dos platform) this command generate >protected el_action_t ed_end_of_file( (EditLine *, int); instead of >protected el_action_t ed_end_of_file (EditLine *, int); this is due to extra ^M char in dos files: >/* ed_end_of_file(): How to repeat: make Suggested fix: CORRECTION: use command: >sed -e 's/length($2) - 3/index($2,"(") - 1/g' makelist >makelist.new && mv makelist.new makelist