can't compile CDK due to missing declarations

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
soletan
Neugieriger
Neugieriger
Beiträge: 8
Registriert: Sonntag 16. November 2003, 11:47

can't compile CDK due to missing declarations

Beitrag von soletan »

Hi,

I've tried to compile a CVS snapshot checked out the day before yesterday (Nov-14-2003) and make all didn't pass that easily as expected at your installation instructions file.

First of all some of the downloads didn't work properly, mainly because belnet.dl.sourceforge.net didn't react, which I circumvented by preferring to use tuxbox.berlios.de in those Makefile rules.

The pkgconfig isn't detected at all and thus not downloaded, but it's obviously needed. I installed that manually.

Furthermore compiling libc and gcc stopped several times because of internal compiler failures, each of these on different points in source. Restarting "make all" either stopped on a different point or it ran through the package and failed somewhere else - well, this isn't really of your concern since you aren't GNU, but according to those reports in this forum here, it's apparently not only up to me to have trouble when building the cdk, so your note is a bit confusing.

Now and finally building fails at libdvb, which can't compile because of missing "FEC_AUTO" and similar declarations, which aren't found in any of the libdvb header files included nor in any file of the package's source. Where is it from and why isn't it found?

Of course you won't build your cdk once a week, since it is already running on your computers, but it doesn't seem to be that easy to build, does it? I'm not that ne to Linux and have been coding for several years, so I exclude to haven't read your quite reduced installation instructions carefully enouh.

BTW: google told me to have some frontend.h of "linux-dvb" which defines these values, but where do I find that at your cdk sources.

Any suggestions are welcome!

Best Regards!
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Hi soletan,

I have been compiling cdk extensively the last few months, and I can ensure you that it "almost always" works out-of-the-box. See my contribution at http://www.tuxbox.org/forum/viewtopic.php?t=24919. If you experience random breakage, almost certainly your environment (HW or SW) is broken. Your posting indicates quite strongly that this may be the case.

The make/configure setup is everything but good; do "make distclean" instead of guessing!

Without a proper problem-report (what environment, program versions, actual error messages etc) it is actually not possible to pin down your problem.

Barf
soletan
Neugieriger
Neugieriger
Beiträge: 8
Registriert: Sonntag 16. November 2003, 11:47

some notes about my build system

Beitrag von soletan »

Hi,

I really can't exclude to have a system which causes to break the build process.

It is a SuSE 8.2 with adjusted packages' selection. gcc is >3.0. The hardware is a AMD K6-2, 350 MHz system with 128 MB RAM on a VIA-MVP-based board by Shuttle - all in all not that cheap but still no high end hardware.
Since it runs for weeks without power off I may exclude thermal problems, which might cause the processor to hang or similar. All else jobs (network serving - http/mail/routing/dhcp/dns) are done perfectly.

The error messages can be found in other postings to this board, where gcc failed with internal malfunctions and segmentation faults on compilation. Just take those for information and think of an arbitrarily chosen file out of the packages gcc-3.2.3 or libc from the cdk.

I avoid to use some distclean at this stage, since I'm glad to get this far. I simply want to work with that cdk and I can't restart from the beginning each time I encounter any trouble on building. On the other hand I don't understand your advice not to guess ... I haven't done. I simply can't find frontend.h (if this is the header that should be includable on build of libdvb) or some previously compiled linux-dvb or whatever these declarations are made in.

So, this final problem is probably not up to some broken hardware but some files missing for proper compilation. I don't hesitate to patch something manually to get the build process to proceed. But since the CDK's sources are quite huge, I preferred you to help me finding some place to get this single library being compiled before I start grepping and analysing and studying the sources all the way by myself.


Thanks,
Soletan
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Soletan,

when I say your environment might be broken, I did not just mean HW. As a matter of fact, this project often puts together things that is working with just the newest version of ... something, compilers, includes, libraries.

The make process of this project is different from other projects. It is optimized for a minimal footprint during compilation. Often, there lies "garbage" around that stops make from doing the right thing. (It is my opinion that it should be rewritten.) For this reason, doing "make distclean" may be necessary, unless you have a very thorough understanding of the depenencies.

There is no frontend.h in the CVS head. At least for me, it compiles without. As I said, in a sane environment, cdk compiles. Almost always.

Please do the following:

Start with a fresh directory. Check out virgin sources. ./autogen.sh. ./configure (mit korrekte --prefix und --with-cvs-dir. make. Take a looong break. Then post relevant error messages. Not guesses.

Barf
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

driver\dvb\include\linux\dvb\frontend.h

It is part of the LinuxTV-API and often shows that the $driverdir-var is not set up correctly which itself happens very often because an incorrect parameter to --with-cvsdir was given at configure-time of the CDK.

(BTW: I myself made the mistake to use "--with-cvs-dir" once and it accepted the parameter but the build would of course break ;) )

Npq
soletan
Neugieriger
Neugieriger
Beiträge: 8
Registriert: Sonntag 16. November 2003, 11:47

Beitrag von soletan »

Hi Barf,

in relation to your last two lines all I can post here is:

THAT'S WHAT I DID! That's why I basically exclude external influences by software components which haven't been included by the CDK's build processes and will be included again each time I restart.

And so I don't think a distclean would help. I'm not that stupid (BTW I started to code 15 years ago) and I watched the CDK's Makefile to get all the latest software to build and compile properly.
Beyond this I hope SuSE 8.2 is new enough to provide the CDK build with up-to-date versions of gcc, make, autoconf etc. to basically prepare the build. Else "make distclean" couldn't help me out of this, too, could it?

If you like more stats and facts on what is wrong in there I prefer to post the tar of both the cvs and the target cdk dir in current state to stop posting "guesses" ... if your request would become more detailed, I'd feed them sophisticatedly.

Mentioning frontend.h was intended since the build process failed because of missing declarations, which are defined in some header file found in WWW, which then was called frontend.h THERE. So I wanted to have some frontend.h OR SIMILAR in my build.

Hope that's helps you to understand my situation.



Hi Npq,

thank you very much for these advices, I'll try these now!


Best Regards,
Soletan
soletan
Neugieriger
Neugieriger
Beiträge: 8
Registriert: Sonntag 16. November 2003, 11:47

Solved, at least for the moment ... GREAT!

Beitrag von soletan »

Hi Npq,


thank you again for the hint. My driverdir was set to "no" at Makefile, unless other directories were set up properly. And I can't remember to have something done different from the readme file's instructions.

Of course I used the adjusted ./configure call from doc/README-flash.de. All other directories are named like in that file. I even didn't try to use customized names or fs parent nodes.


But, nevertheless, it's good to proceed right now!


Best Regards,
Soletan