Compiling

jtrott

Registered
I installed the Darwin development tools as per the article on Mac Addict and tried to compile a few programs. Lynx compiled with no problems, but BitchX dumps out of the compilation with the following error:

cc -o BitchX alias.o alist.o array.o art.o banlist.o bot_link.o cl.o compat.o cdcc.o chelp.o commands.o commands2.o crypt.o ctcp.o cset.o dcc.o debug.o exec.o flood.o files.o fset.o functions.o funny.o glob.o hash.o hebrew.o help.o history.o hook.o if.o ignore.o input.o irc.o ircaux.o ircsig.o keys.o lastlog.o list.o log.o mail.o misc.o modules.o names.o network.o newio.o notice.o notify.o numbers.o output.o parse.o queue.o readlog.o reg.o screen.o server.o stack.o status.o tcl_public.o term.o timer.o translat.o user.o userlist.o vars.o who.o whowas.o window.o words.o
/usr/bin/ld: Undefined symbols:
_dlclose
_dlerror
_dlopen
_dlsym
make[1]: *** [BitchX] Error 1
make: *** [BitchX] Error 2

Does anybody have any ideas they feel the need to share with the rest of us? ;)
 
you're not going to like this.

if i do a sh configure, i'm able to get a functioning
binary. the only difference between your cc line & mine
was that i had ncurses installed, so it used it. shouldn't
make a difference, tho. dlopen, etc, are functions that
give direct access to dynamic linking.(tm) it's odd,
but not unheard of to lack it. could be a bsd thing,
i dunno.

i suspect that your configure went foo. it's only supposed
to use dlopen if --with-tcl is spec'd (did you?), and if
you did spec that, mine broke.

checking whether to enable Tcl support... yes
checking for dlopen in -ldl... no
checking for dlopen... no
checking for dld_link in -ldld... no
checking for shl_load in -ldld... no
configure: error: Cannot find dlopen. Please run ./configure --without-tcl

so unless tcl rolls its own dl*?

for the record i used BitchX-1.0c16.tar.gz.
 
I didn't do anything special with the configure parameters, just ran ./configure.
I think the problem is that I'm using a different source archive to you. I was using the ircii-pana-75p3.tar.gz archive.
I'll give the other one a go and see what happens.
Thanks,
JT
 
you're not going to like this.

if i do a sh configure, i'm able to get a functioning
binary. the only difference between your cc line & mine
was that i had ncurses installed, so it used it. shouldn't
make a difference, tho. dlopen, etc, are functions that
give direct access to dynamic linking.(tm) it's odd,
but not unheard of to lack it. could be a bsd thing,
i dunno.

i suspect that your configure went foo. it's only supposed
to use dlopen if --with-tcl is spec'd (did you?), and if
you did spec that, mine broke.

checking whether to enable Tcl support... yes
checking for dlopen in -ldl... no
checking for dlopen... no
checking for dld_link in -ldld... no
checking for shl_load in -ldld... no
configure: error: Cannot find dlopen. Please run ./configure --without-tcl

so unless tcl rolls its own dl*?

for the record i used BitchX-1.0c16.tar.gz.
 
wow, that's annoying. hitting the back button posted again.

umm, before you get a different one, rerun configure as

sh configure --without-tcl

and make it. i'm sure my version is old & that may very
well work. they may have changed the defaults for tcl.
 
I downloaded the ::: one, and the new error I get is this:

configure: error: Cannot find tgetent. Build will fail without it.

I got that as a warning last time, not an error.
JT
 
hey, ya know what.

that's why i had ncurses.

goto prep.ai.mit.edu/pub/gnu/ncurses & grab the latest.
that compiled out of the box for me.

man, this OS lacks more (fairly) standard libraries
than it actually has. this is really gonna be a trip
when the newbies start messing with it.
 
Hey, I'm thinking the same thing...

I've been busy compiling all my favorite apps, and I am wondering if there is a porting effort going on, and where.

It sure would be nice to have 3500+ apps ready for the launch.

 
I went and grabbed the latest ncurses-5.1 and tried to compile it. The ./configure stage went ok, but I get the following error when I try to make:

cd ../objects; c++ -I../c++ -I../include -I. -DHAVE_CONFIG_H -DNDEBUG -I. -I../include -I/usr/local/include -O2 -c ../c++/cursesf.cc
*** Malloc[2846]: error for object 0x47ab80: Incorrect check sum for freed object - object was probably modified after beeing freed; break at szone_error
*** Malloc[2846]: error for object 0x42cb00: Incorrect check sum for freed object - object was probably modified after beeing freed; break at szone_error
*** Malloc[2846]: error for object 0x42cb40: Incorrect check sum for freed object - object was probably modified after beeing freed; break at szone_error
../c++/cursesp.h: *** Malloc[2846]: error for object 0x42cb40: Incorrect check sum for freed object - object was probably modified after beeing freed; break at szone_error
^Cmake[1]: *** [../objects/cursesf.o] Interrupt
make: *** [all] Interrupt

A reboot doesn't change things.
Any ideas? ;)
JT
 
I noticed that the script that I got from the maximumlinux link didn't copy and register all the libraries one actually needs, I haven't tried to install bitchx yet, but I did notice the libcurses library on the Darwin 1.0 image. I think ncurses is just a GNU implementation of curses, but I could be wrong. Maybe try copying the curses library over and registering it?
 
Back
Top