Cross compiling id3lib

Posted by: tonyc

Cross compiling id3lib - 29/01/2003 20:46

I'm trying to cross-compile id3lib and I'm getting this crap from ./configure:


checking what language compliance flags to pass to the C++ compiler...
checking whether iconv supports UTF-8... configure: warning: Don't cross-compile
checking whether iconv supports UTF8... configure: warning: Don't cross-compile
checking whether iconv supports UTF-16BE... configure: warning: Don't cross-compile
checking whether iconv supports UTF16BE... configure: warning: Don't cross-compile
checking whether iconv supports UCS-2BE... configure: warning: Don't cross-compile
checking whether iconv supports UCS2BE... configure: warning: Don't cross-compile
checking whether iconv supports UNICODEBIG... configure: warning: Don't cross-compile
checking whether iconv supports UTF-16... configure: warning: Don't cross-compile
checking whether iconv supports UTF16... configure: warning: Don't cross-compile
checking whether iconv supports UNICODE... configure: warning: Don't cross-compile
checking whether iconv supports ISO-8859-1... configure: warning: Don't cross-compile
checking whether iconv supports ASCII... configure: warning: Don't cross-compile
checking whether iconv supports US-ASCII... configure: warning: Don't cross-compile

.
So they're telling me I just simply can't cross-compile id3lib? Why not? Do I have to put an entire development environment on my empeg just to build this one library? Why would they release a library that can't be cross-compiled? This sucks. I want to incorporate id3lib into the lyrics viewer and I can build it fine on my i686-linux box, but cross-compilation just isn't working.

Grrrr.
Posted by: TheAmigo

Re: Cross compiling id3lib - 30/01/2003 00:31

Well, I don't have much experience cross-compiling (just the few small things for the empeg and a couple for the TiVo), but I have a theory. Maybe it's a warning generated by the test that configure is trying to compile. When it runs through all its test, maybe there's a flag in the ones for the char codings that says not to cross-compile that test, but doesn't impact the package as a whole... that's my *guess* anyway.

I ran ./configure --host=arm-empeg-linux (for some reason it couldn't auto-detect the cross-compiler). Make just finished (didn't error out)... but I don't know what I'm looking for... did it really cross-compile? How do I tell? Is there a binary I can try running on the empeg or is it just a library?
Posted by: tonyc

Re: Cross compiling id3lib - 30/01/2003 09:53

Well, after quasi-successful attempts to use the id3lib that comes with older version of emptool, I realized that my mistake was starting off with an unclean id3lib directory. I had done a "make clean" but there's apparently a "make distclean" which cleans up other stuff. After doing that, I was able to cross-compile it.

I guess I was just thrown off by the fact that configure was telling me "Don't cross-compile." I guess I'll just be more brave next time.
Posted by: pim

Re: Cross compiling id3lib - 03/02/2003 12:59

There's also libid3tag, which comes with libmad. It's badly documented, but I found it easier to use than id3lib.
And it's written in C rather than C++, so it's easier to link in non-C++ applications.

Pim
Posted by: tonyc

Re: Cross compiling id3lib - 03/02/2003 13:29

Aw CRAP now you tell me!

At this point, I've cleared the id3lib hurdles, and have my LRC -> ID3v2 SYLT frame conversion program coded and built on both Linux and Win32. On the Empeg side (the lyrics scroller), I might give the MAD libs a shot in the future, in case they're more efficient than id3lib player-side. Thanks for the heads-up.