ext-gdbm and moosql

1 view
Skip to first unread message

Nathan Smith

unread,
Sep 11, 2017, 2:11:08 PM9/11/17
to MOO Talk
hello folks who know more than me. :)
As you may know I have been delving into patching recently, and thanks to tidbits of advice, and what not, am getting my head around how .orig and .redge files work. They're really quite interesting.
At any rate, I had one or two questions.
ext-gdbm by martian and moosql. I'd like to get one of them working on my server, I honestly don't care which.
As it happens... Neither do :(
I'm wondering, are martians extentions still valid? none, and I mean none, of the ones I've tried from lisdude.com have worked. Even nprogs breaks! Luckily, some of martians are in gamma already, such as isa(), which is nice, but I'd really like nprogs! My ssh client scrolls too quick for me to get a full error, but it seems to be saying something about undefined reference to mysql_close()? that's for the mysql one, the ext-gdbm just... first, it wasn't finding stdlib.h, so I included it with the my-stdlib.h, and it still errored out.

I'd appreciate any advice in this matter.
Also I am curious if anyone has advise about server convertion, gamma to lambda, gamma to stunt? I have a feeling it can *not* be done, but I know of a person who went from gamma to stunt, though a different version of gamma. Hmm, perhaps a topic for another thread.
Anyway, any help is appreciated.
Thanks for reading, and in particular, thanks to those people who develop patches... they look awesome! lol

Chris Norman

unread,
Sep 11, 2017, 5:31:03 PM9/11/17
to MOO-...@googlegroups.com

While I can't help with the compilation, here's a quick tip to catch all the output:


make > errors.log 2>&1


That'll ensure all output (stdout and stderr) gets piped to errors.log.


Of course you can use any file and any command.


HTH,

--
You received this message because you are subscribed to the Google Groups "MOO Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to MOO-talk+u...@googlegroups.com.
To post to this group, send email to MOO-...@googlegroups.com.
Visit this group at https://groups.google.com/group/MOO-talk.
For more options, visit https://groups.google.com/d/optout.

Ryan Smith

unread,
Sep 11, 2017, 9:10:04 PM9/11/17
to Chris Norman, MOO Talk
A word of caution on the MOO SQL patches floating around. As far as I know, they all block while the the query is running. For example SELECT SLEEP(10) will make your MOO server not process any commands until the query is complete. While you'd probably never run that specific query in practice, if you are doing some expensive querying, it can become noticeable. It's also only compatible with MySQL (and not Postgres), which is rather unfortunate.

As far as fixing your error, I think you might need to install some development package for MySQL? Probably named mysql-devel or something like that -- I don't know your Linux distro.

On Mon, Sep 11, 2017 at 5:30 PM, 'Chris Norman' via MOO Talk <MOO-...@googlegroups.com> wrote:

While I can't help with the compilation, here's a quick tip to catch all the output:


make > errors.log 2>&1


That'll ensure all output (stdout and stderr) gets piped to errors.log.


Of course you can use any file and any command.


HTH,


On 11/09/2017 18:08, Nathan Smith wrote:
hello folks who know more than me. :)
As you may know I have been delving into patching recently, and thanks to tidbits of advice, and what not, am getting my head around how .orig and .redge files work. They're really quite interesting.
At any rate, I had one or two questions.
ext-gdbm by martian and moosql. I'd like to get one of them working on my server, I honestly don't care which.
As it happens... Neither do :(
I'm wondering, are martians extentions still valid? none, and I mean none, of the ones I've tried from lisdude.com have worked. Even nprogs breaks! Luckily, some of martians are in gamma already, such as isa(), which is nice, but I'd really like nprogs! My ssh client scrolls too quick for me to get a full error, but it seems to be saying something about undefined reference to mysql_close()? that's for the mysql one, the ext-gdbm just... first, it wasn't finding stdlib.h, so I included it with the my-stdlib.h, and it still errored out.

I'd appreciate any advice in this matter.
Also I am curious if anyone has advise about server convertion, gamma to lambda, gamma to stunt? I have a feeling it can *not* be done, but I know of a person who went from gamma to stunt, though a different version of gamma. Hmm, perhaps a topic for another thread.
Anyway, any help is appreciated.
Thanks for reading, and in particular, thanks to those people who develop patches... they look awesome! lol
--
You received this message because you are subscribed to the Google Groups "MOO Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to MOO-talk+unsubscribe@googlegroups.com.

To post to this group, send email to MOO-...@googlegroups.com.
Visit this group at https://groups.google.com/group/MOO-talk.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "MOO Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to MOO-talk+unsubscribe@googlegroups.com.

Nathan Smith

unread,
Sep 13, 2017, 8:29:42 AM9/13/17
to MOO Talk
hi, thanks for that, I now how this pile of errors...

[ config.h : config.status ]
./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
gcc -g  -O -L/usr/lib/mysql -lmysqlclient -I/usr/include/mysql ast.o code_gen.o db_load.o db_flush.o db_objects.o db_properties.o db_verbs.o decompile.o disassemble.o eval_env.o eval_vm.o exceptions.o execute.o extensions.o functions.o keywords.o list.o log.o malloc.o match.o md5.o name_lookup.o network.o net_mplex.o net_proto.o numbers.o objects.o parse_cmd.o pattern.o program.o property.o quota.o ref_count.o regexpr.o server.o storage.o streams.o str_intern.o sym_table.o tasks.o timers.o unparse.o utils.o version.o extension-fileio.o martian.o utf8.o verbs.o moosql.o parser.o -lm -lcrypt -o moo
moosql.o: In function `bf_mysql_status':
/the-directory-to-the-server-source/moosql.c:248: undefined reference to `mysql_get_server_version'
moosql.o: In function `do_mysql_connect':
/the-directory-to-the-server-source/moosql.c:69: undefined reference to `mysql_init'
/the-directory-to-the-server-source/moosql.c:75: undefined reference to `mysql_real_connect'
/the-directory-to-the-server-source/moosql.c:78: undefined reference to `mysql_error'
/the-directory-to-the-server-source/moosql.c:78: undefined reference to `mysql_errno'
moosql.o: In function `do_mysql_disconnect':
/the-directory-to-the-server-source/moosql.c:103: undefined reference to `mysql_close'
moosql.o: In function `process_row':
/the-directory-to-the-server-source/moosql.c:115: undefined reference to `mysql_num_fields'
moosql.o: In function `process_result_set':
/the-directory-to-the-server-source/moosql.c:139: undefined reference to `mysql_num_rows'
/the-directory-to-the-server-source/moosql.c:145: undefined reference to `mysql_free_result'
/the-directory-to-the-server-source/moosql.c:150: undefined reference to `mysql_fetch_row'
/the-directory-to-the-server-source/moosql.c:156: undefined reference to `mysql_free_result'
moosql.o: In function `process_mysql_query':
/the-directory-to-the-server-source/moosql.c:171: undefined reference to `mysql_store_result'
/the-directory-to-the-server-source/moosql.c:175: undefined reference to `mysql_field_count'
/the-directory-to-the-server-source/moosql.c:182: undefined reference to `mysql_affected_rows'
moosql.o: In function `bf_mysql_query':
/the-directory-to-the-server-source/moosql.c:337: undefined reference to `mysql_query'
/the-directory-to-the-server-source/moosql.c:342: undefined reference to `mysql_error'
/the-directory-to-the-server-source/moosql.c:368: undefined reference to `mysql_more_results'
/the-directory-to-the-server-source/moosql.c:370: undefined reference to `mysql_next_result'
moosql.o: In function `mysql_connection_status':
/the-directory-to-the-server-source/moosql.c:201: undefined reference to `mysql_ping'
collect2: error: ld returned 1 exit status
Makefile:95: recipe for target 'moo' failed
make: *** [moo] Error 1



On Tuesday, September 12, 2017 at 2:10:04 AM UTC+1, Ryan wrote:
A word of caution on the MOO SQL patches floating around. As far as I know, they all block while the the query is running. For example SELECT SLEEP(10) will make your MOO server not process any commands until the query is complete. While you'd probably never run that specific query in practice, if you are doing some expensive querying, it can become noticeable. It's also only compatible with MySQL (and not Postgres), which is rather unfortunate.

As far as fixing your error, I think you might need to install some development package for MySQL? Probably named mysql-devel or something like that -- I don't know your Linux distro.
On Mon, Sep 11, 2017 at 5:30 PM, 'Chris Norman' via MOO Talk <MOO-...@googlegroups.com> wrote:

While I can't help with the compilation, here's a quick tip to catch all the output:


make > errors.log 2>&1


That'll ensure all output (stdout and stderr) gets piped to errors.log.


Of course you can use any file and any command.


HTH,


On 11/09/2017 18:08, Nathan Smith wrote:
hello folks who know more than me. :)
As you may know I have been delving into patching recently, and thanks to tidbits of advice, and what not, am getting my head around how .orig and .redge files work. They're really quite interesting.
At any rate, I had one or two questions.
ext-gdbm by martian and moosql. I'd like to get one of them working on my server, I honestly don't care which.
As it happens... Neither do :(
I'm wondering, are martians extentions still valid? none, and I mean none, of the ones I've tried from lisdude.com have worked. Even nprogs breaks! Luckily, some of martians are in gamma already, such as isa(), which is nice, but I'd really like nprogs! My ssh client scrolls too quick for me to get a full error, but it seems to be saying something about undefined reference to mysql_close()? that's for the mysql one, the ext-gdbm just... first, it wasn't finding stdlib.h, so I included it with the my-stdlib.h, and it still errored out.

I'd appreciate any advice in this matter.
Also I am curious if anyone has advise about server convertion, gamma to lambda, gamma to stunt? I have a feeling it can *not* be done, but I know of a person who went from gamma to stunt, though a different version of gamma. Hmm, perhaps a topic for another thread.
Anyway, any help is appreciated.
Thanks for reading, and in particular, thanks to those people who develop patches... they look awesome! lol
--
You received this message because you are subscribed to the Google Groups "MOO Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to MOO-talk+u...@googlegroups.com.

To post to this group, send email to MOO-...@googlegroups.com.
Visit this group at https://groups.google.com/group/MOO-talk.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "MOO Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to MOO-talk+u...@googlegroups.com.

Michael Munson

unread,
Sep 13, 2017, 3:19:54 PM9/13/17
to nathan smith, MOO-...@googlegroups.com
try: 
gcc -g -O ast.o code_gen.o db_load.o db_flush.o db_objects.o db_properties.o db_verbs.o decompile.o disassemble.o eval_env.o eval_vm.o exceptions.o execute.o extensions.o functions.o keywords.o list.o log.o malloc.o match.o md5.o name_lookup.o network.o net_mplex.o net_proto.o numbers.o objects.o parse_cmd.o pattern.o program.o property.o quota.o ref_count.o regexpr.o server.o storage.o streams.o str_intern.o sym_table.o tasks.o timers.o unparse.o utils.o version.o extension-fileio.o martian.o utf8.o verbs.o moosql.o parser.o  -L/usr/lib/mysql -lmysqlclient -I/usr/include/mysql -lcrypt -lm  -o moo

(The area where you put -l flags is significent)

If that doesnt work, find out where your ibmysqlclient.a (find /usr -name 'libmysqlclient.*' will probably find both it and the .so) is  and make sure that it is in LIBRARY_PATH environmental variable. gcc by default only searches in 4 locations in /usr/* but for example archlinux stores the libs in /lib/ and uses symlinks. 

Reply all
Reply to author
Forward
0 new messages