Thread: [Refdb-users] Problems compiling pre4
Status: Beta
Brought to you by:
mhoenicka
|
From: Diwaker G. <dg...@cs...> - 2004-01-22 04:38:05
|
Hi Markus, I've installed the latest libdbi, and libdbi-driver, and the latest libiconv available from GNU.org. But I'm getting lots of warnings and some errors when trying to compile: refdbdref.o(.text+0x775): In function `addref': /tmp/diwaker/refdb-0.9.4-pre4/src/refdbdref.c:345: undefined reference to `libiconv_open' refdbdref.o(.text+0xad2):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdref.c:505: undefined reference to `libiconv_close' refdbdref.o(.text+0xc6f):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdref.c:377: undefined reference to `libiconv_close' refdbdref.o(.text+0x10b0): In function `read_ris_data': /tmp/diwaker/refdb-0.9.4-pre4/src/refdbdref.c:650: undefined reference to `libiconv' refdbdref.o(.text+0x3c24): In function `getref': /tmp/diwaker/refdb-0.9.4-pre4/src/refdbdref.c:2216: undefined reference to `libiconv_open' refdbdref.o(.text+0x3d97):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdref.c:4012: undefined reference to `libiconv_close' refdbdref.o(.text+0x410c):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdref.c:4024: undefined reference to `libiconv' refdbdref.o(.text+0x433e):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdref.c:4087: undefined reference to `libiconv_close' refdbdbib.o(.text+0x43b): In function `getbib': /tmp/diwaker/refdb-0.9.4-pre4/src/refdbdbib.c:267: undefined reference to `libiconv_open' refdbdbib.o(.text+0x4d7):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdbib.c:561: undefined reference to `libiconv_close' refdbdbib.o(.text+0x922):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdbib.c:1033: undefined reference to `libiconv_close' refdbdbib.o(.text+0xff5):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdbib.c:939: undefined reference to `libiconv' risxhandler.o(.text+0x2f20): In function `risx_end_handler': /tmp/diwaker/refdb-0.9.4-pre4/src/risxhandler.c:672: undefined reference to `libiconv' noteshandler.o(.text+0x1aca): In function `notes_end_handler': /tmp/diwaker/refdb-0.9.4-pre4/src/noteshandler.c:659: undefined reference to `libiconv' refdbdnote.o(.text+0x17f): In function `addnote': /tmp/diwaker/refdb-0.9.4-pre4/src/refdbdnote.c:131: undefined reference to `libiconv_open' refdbdnote.o(.text+0x456):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdnote.c:245: undefined reference to `libiconv_close' refdbdnote.o(.text+0x11cf): In function `getnote': /tmp/diwaker/refdb-0.9.4-pre4/src/refdbdnote.c:700: undefined reference to `libiconv_open' refdbdnote.o(.text+0x133d):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdnote.c:2013: undefined reference to `libiconv_close' refdbdnote.o(.text+0x15c0):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdnote.c:2025: undefined reference to `libiconv' refdbdnote.o(.text+0x1811):/tmp/diwaker/refdb-0.9.4-pre4/src/refdbdnote.c:2090: undefined reference to `libiconv_close' collect2: ld returned 1 exit status make[2]: *** [refdbd] Error 1 make[2]: Leaving directory `/tmp/diwaker/refdb-0.9.4-pre4/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/tmp/diwaker/refdb-0.9.4-pre4/src' make: *** [all-recursive] Error 1 -- Diwaker Gupta Graduate Student, Computer Sc. and Engg. University of California, San Diego <http://www.cse.ucsd.edu/users/dgupta> |
|
From: Michael S. <sm...@xm...> - 2004-01-23 08:39:01
Attachments:
make-logs.tgz
|
Markus,
I just updated by sandboxes and am now getting similar "undefined
reference to `_libiconv_close'" build errors on Cygwin, along with an
"undefined reference to `_dbi_conn_get_encoding'" on both Cygwin and
Debian ('make' logs attached).
On Cygwin, looks like the libiconv library and headers are in the normal
lib and include directories -
/lib/libiconv.a
/lib/libiconv.dll.a
/lib/libiconv.la
/usr/lib/libiconv.a
/usr/lib/libiconv.dll.a
/usr/lib/libiconv.la
/usr/include/iconv.h
I shouldn't need to tell make to go looking for them there, right?
--Mike
Markus Hoenicka <mar...@mh...> writes:
> Diwaker Gupta writes:
> > undefined reference to `libiconv_close'
> > collect2: ld returned 1 exit status
>
> Unfortunately you chopped off the interesting part of the make output
> in your message. It would be helpful to see the linker command that
> make issued at that point as it lists the directories that ld checks
> for development libraries. All these error messages essentially mean
> that ld can't find the libiconv development library. You'll either
> have to fiddle with LD_LIBRARY_PATH and such, or add an appropriate
> LDFLAGS variable to the configure command line. The chapter 4 of the
> manual, section "OS specific hints", has a few examples how to do
> this.
>
> regards,
> Markus
>
--
Michael Smith
Openwave Systems Japan +81 90 9148 0269 (mobile)
Nishishinjuku 6-22-1 +81 3 5909 6347 (office)
Tokyo, Japan 163-1117 +81 3 5909 6241 (fax)
|
|
From: Markus H. <mar...@mh...> - 2004-01-27 05:52:33
|
Hi Mike,
you're facing two problems:
- you're using an outdated libdbi version. The whole character
conversion stuff relies on a libdbi function that I've added to the
latest release only. You'll have to install libdbi-0.7.2 and
libdbi-drivers-0.7.1 before RefDB will compile.
- for some reason, configure does not perform the libiconv test
properly. The ld commands show that there's no attempt to link
against libiconv, hence the unresolved iconv* function calls. Could
you please check what configure says about libiconv?
I've tested the latest prerelease on FreeBSD 4.7 and Debian 3.0
without any problems. I hope we can resolve these issues on the other
platforms asap.
regards,
Markus
Michael Smith writes:
> Markus,
>
> I just updated by sandboxes and am now getting similar "undefined
> reference to `_libiconv_close'" build errors on Cygwin, along with an
> "undefined reference to `_dbi_conn_get_encoding'" on both Cygwin and
> Debian ('make' logs attached).
>
> On Cygwin, looks like the libiconv library and headers are in the normal
> lib and include directories -
>
> /lib/libiconv.a
> /lib/libiconv.dll.a
> /lib/libiconv.la
> /usr/lib/libiconv.a
> /usr/lib/libiconv.dll.a
> /usr/lib/libiconv.la
>
> /usr/include/iconv.h
>
> I shouldn't need to tell make to go looking for them there, right?
>
--
Markus Hoenicka
mar...@ca...
(Spam-protected email: replace the quadrupeds with "mhoenicka")
http://www.mhoenicka.de
|
|
From: Markus H. <mar...@mh...> - 2004-01-27 13:58:06
|
Hi Mike,
you may have noticed that the SF lists are broke currently. I'm not
sure whether my previous replies ever made it to your inbox. In any
case, I had a second look at your Cygwin log output and noticed
something pretty strange:
refdbdnote.o(.text+0x5926):refdbdnote.c: undefined reference to `_dbi_conn_get_e
ncoding'
refdbdnote.o(.text+0x599c):refdbdnote.c: undefined reference to `_libiconv_close
'
The first line is ok and looks as expected if a library function is
missing (you have an old libdbi version). The second line should
complain about an undefined reference to "_iconv_close", not
"_libiconv_close". However I could not find any hint in the Cygwin
mailing lists about any oddities of libiconv on this platform. I'll
check myself on Monday when I'll get my hands on a Windoze box again.
I also ran another test on a Debian box. Linux apparently has the
iconv stuff built into libc, that's why it is not necessary to link
against libiconv. RefDB works allright on Debian 3.0 for me.
regards,
Markus
Michael Smith writes:
> Markus,
>
> I just updated by sandboxes and am now getting similar "undefined
> reference to `_libiconv_close'" build errors on Cygwin, along with an
> "undefined reference to `_dbi_conn_get_encoding'" on both Cygwin and
> Debian ('make' logs attached).
>
> On Cygwin, looks like the libiconv library and headers are in the normal
> lib and include directories -
>
> /lib/libiconv.a
> /lib/libiconv.dll.a
> /lib/libiconv.la
> /usr/lib/libiconv.a
> /usr/lib/libiconv.dll.a
> /usr/lib/libiconv.la
>
> /usr/include/iconv.h
>
> I shouldn't need to tell make to go looking for them there, right?
>
--
Markus Hoenicka
mar...@ca...
(Spam-protected email: replace the quadrupeds with "mhoenicka")
http://www.mhoenicka.de
|
|
From: Michael S. <sm...@xm...> - 2004-01-25 17:28:52
Attachments:
iconv.h
config.log
|
Hi Markus,
You wrote:
> Hi Mike,
>
> you may have noticed that the SF lists are broke currently. I'm not
> sure whether my previous replies ever made it to your inbox.
At least one did, and I replied, but I guess the list sidelined it.
> In any case, I had a second look at your Cygwin log output and noticed
> something pretty strange:
>
> refdbdnote.o(.text+0x5926):refdbdnote.c: undefined reference to `_dbi_conn_get_e
> ncoding'
> refdbdnote.o(.text+0x599c):refdbdnote.c: undefined reference to `_libiconv_close
> '
>
> The first line is ok and looks as expected if a library function is
> missing (you have an old libdbi version). The second line should
> complain about an undefined reference to "_iconv_close", not
> "_libiconv_close". However I could not find any hint in the Cygwin
> mailing lists about any oddities of libiconv on this platform. I'll
> check myself on Monday when I'll get my hands on a Windoze box again.
Attached is a copy of the iconv.h file from my Cygwin environment. If
you look at that, there are some #ifdefs in there like this:
#ifndef LIBICONV_PLUG
#define iconv_close libiconv_close
#endif
I actually tried temporarily replacing the iconv.h with a copy that had
that stuff commented out, but even then refdb wouldn't build.
Also attached is a copy of my config.log for the build.
>
> I also ran another test on a Debian box. Linux apparently has the
> iconv stuff built into libc, that's why it is not necessary to link
> against libiconv. RefDB works allright on Debian 3.0 for me.
Yeah, I reckon that once I update my libdbi kit on Debian, I won't have
any problems on Debian either. But the Cygwin stuff still has me stumped.
--Mike
> Michael Smith writes:
> > Markus,
> >
> > I just updated by sandboxes and am now getting similar "undefined
> > reference to `_libiconv_close'" build errors on Cygwin, along with an
> > "undefined reference to `_dbi_conn_get_encoding'" on both Cygwin and
> > Debian ('make' logs attached).
> >
> > On Cygwin, looks like the libiconv library and headers are in the normal
> > lib and include directories -
> >
> > /lib/libiconv.a
> > /lib/libiconv.dll.a
> > /lib/libiconv.la
> > /usr/lib/libiconv.a
> > /usr/lib/libiconv.dll.a
> > /usr/lib/libiconv.la
> >
> > /usr/include/iconv.h
> >
> > I shouldn't need to tell make to go looking for them there, right?
|
|
From: Markus H. <mar...@mh...> - 2004-01-22 21:13:47
|
Diwaker Gupta writes: > undefined reference to `libiconv_close' > collect2: ld returned 1 exit status Unfortunately you chopped off the interesting part of the make output in your message. It would be helpful to see the linker command that make issued at that point as it lists the directories that ld checks for development libraries. All these error messages essentially mean that ld can't find the libiconv development library. You'll either have to fiddle with LD_LIBRARY_PATH and such, or add an appropriate LDFLAGS variable to the configure command line. The chapter 4 of the manual, section "OS specific hints", has a few examples how to do this. regards, Markus -- Markus Hoenicka mar...@ca... (Spam-protected email: replace the quadrupeds with "mhoenicka") http://www.mhoenicka.de |