Author Topic: 0710b2 Build Errors  (Read 26115 times)

kir

  • Guru
  • ****
  • Posts: 183
    • View Profile
Re: 0710b2 Build Errors
« Reply #30 on: January 18, 2008, 05:25:42 pm »
Also, I take it that I have to svn co the source code into a directory on a computer with a working compiled 0710b2 (or b3, but not 0704, and not without any LMCE, right?) installed, right?
Not exactly: the only thing you need from the 0710b2 (or b3), is content of /usr/pluto/lib - copying of libs is a separate step in that snippet I posted (generally it is required because of circular dependence: you cannot build libs w/o running MakeRelease_PrepFiles; you cannot build MakeRelease_PrepFiles w/o libs). So it is enough to have clean Kubuntu 0710 (or Ubuntu 0710) and check code from SVN into some folder, then copy these libs and follow other steps - everything should build well, except for cases when somelib-dev packages are missing. Presence of installed LMCE on builder box is not required for building binaries.

OK, so I can install Kubuntu 0710 (Ubuntu, too - default GNOME version? Really?),
Ubuntu - yes, I don't think there is difference (Ubuntu and Kubuntu differ only in Gnome/KDE packages), so you can use Ubuntu as build system too.

I thought that LMCE depends on the KDE packages in Kubuntu, so installing LMCE on a (GNOME) Ubuntu installation would fail.

Installation will probably fail - but building is a separate thing. But you will probably need to install some missing dev packages like qt and kde if you will want to build, say limce_launch_manager


then svn co http://svn.linuxmce.com/pluto/trunk/src into a source root dir, then copy from somewhere the /usr/pluto/lib (from 0710, or is 0704 OK?) into src/lib/ ,
If you are not going to rebuild libraries, then better to copy them from 0710b3, so all other apps will be linked against them (Disk_Drive, etc. - whatever you are going to build). If you don't have 0710b3 installed, take libs from here.

Thanks for publishing that. But when I've posted these instructions in the wiki, I don't think you want to be the depended source of those files. Probably I'll upload the tarfile to the wiki. Better yet would be for them to live in SVN, so all the dependencies can be satisfied with one co (especially as those scripts will have versions).

Agree, probably they will be published on the public builder boxes when they will be ready.


make in MakeRelease_PrepFiles/ , then append those defs into tools.conf , run MakeRelease_PrepFiles , and then I can make each of those subsystems, right? What's stopping me at that point from making all of 0710?
Few things: 1) you may not have g++ installed, and also dev packages (available usually as libsomething-dev in Ubuntu, but there may be certain special requirements for something like Orbiter, I don't know which exactly so this is question of "try and see")  2) if you will get a compile error with complain about some wrong construction like <?-mkr-... this means that my minimalistic tool.conf was not enough and you need to define more tags for substitution and re-run MakeRelease_PrepFiles

As long as I have all the "content" against which to run the make, I can make a list of depended packages that must be installed. Maybe later someone can make a metapackage that's hosted at linuxmce.org that in turn depends on those packages. Some good momentum towards installing all of LMCE from .debs , and using APT to ensure the LMCE distro is updateable like a proper debian-type distro.

As far as I know, LMCE has different update system, based not completely on debian-type approach (in the sense that no "apt-get upgrade" runs in the background), but more likely a manually prepared list of upgraded packages which are auto-downloaded by LMCE. This is how at least LMCE 0704 worked - and there were reasons to design it this way. I cannot provide much information on that, maybe there is something in the wiki.. here it is: http://wiki.linuxmce.org/index.php/Update_System

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: 0710b2 Build Errors
« Reply #31 on: January 19, 2008, 12:31:33 am »
So I restarted on a running  LMCE installed from the 0710b2 DVD (mounted image). (svn co  http://svn.linuxmce.com/pluto/trunk/src) into a src directory, then the instructions for making the build scripts and copying the existing pluto libs let me successfully make each of those Disk_Drive , Powerfile_C200 and Generic_Serial_Device directories. But when I tried (make all) in the toplevel src directory, it failed because the makefile specified building a Mozilla_Plugin directory that doesn't exist. I removed that from src/Makefile and src/Makefile_all , and ran make again. It made a lot of directories, but failed with
Code: [Select]
make[1]: Entering directory `/opt/lmce/src/DCERouter'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/lmce/src/DCERouter'
make[1]: Entering directory `/opt/lmce/src/MessageSend'
make[1]: *** No targets specified and no makefile found.  Stop.
make[1]: Leaving directory `/opt/lmce/src/MessageSend'
make: *** [apps] Error 2
And in fact, there is no Makefile in src/MessageSend , but there is Makefile.MessageSend and Makefile.moxi . There's a make_package.sh in that dir, but running it gives
Code: [Select]
Syntax: ./make_package.sh <application name> <version> <device template id>
What does it need to make it?

kir

  • Guru
  • ****
  • Posts: 183
    • View Profile
Re: 0710b2 Build Errors
« Reply #32 on: January 19, 2008, 12:57:08 am »
So I restarted on a running  LMCE installed from the 0710b2 DVD (mounted image). (svn co  http://svn.linuxmce.com/pluto/trunk/src) into a src directory, then the instructions for making the build scripts and copying the existing pluto libs let me successfully make each of those Disk_Drive , Powerfile_C200 and Generic_Serial_Device directories. But when I tried (make all) in the toplevel src directory, it failed because the makefile specified building a Mozilla_Plugin directory that doesn't exist. I removed that from src/Makefile and src/Makefile_all , and ran make again. It made a lot of directories, but failed with
Code: [Select]
make[1]: Entering directory `/opt/lmce/src/DCERouter'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/opt/lmce/src/DCERouter'
make[1]: Entering directory `/opt/lmce/src/MessageSend'
make[1]: *** No targets specified and no makefile found.  Stop.
make[1]: Leaving directory `/opt/lmce/src/MessageSend'
make: *** [apps] Error 2
And in fact, there is no Makefile in src/MessageSend , but there is Makefile.MessageSend and Makefile.moxi . There's a make_package.sh in that dir, but running it gives
Code: [Select]
Syntax: ./make_package.sh <application name> <version> <device template id>
What does it need to make it?

1) I am not sure that top-level Makefile is up-to-date. As far as I know, Pluto (and probably LMCE) builds "packages", one-by-one. Packages itself are configured via pluto_main DB, and as the result, the .deb files are also generated. So using top-level Makefile makes no sense (imho).

2) For MessageSend, "make -f Makefile.MessageSend" in MessageSend folder worked for me.

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: 0710b2 Build Errors
« Reply #33 on: January 19, 2008, 04:40:19 am »
I tried (cd src/MessageSend; ln -s Makefile.MessageSend Makefile; cd ..; make all) and the make completed successfully. Any ideas about the missing Mozilla_Plugin dir specified in the toplevel makefile? There are src/Gen_Devices/Mozilla_PluginBase.[cpp,h] files.

And how to install what I just made, so I can update the LMCE 0710b2 with the version I just made, and test it?

kir

  • Guru
  • ****
  • Posts: 183
    • View Profile
Re: 0710b2 Build Errors
« Reply #34 on: January 19, 2008, 11:31:45 am »
I tried (cd src/MessageSend; ln -s Makefile.MessageSend Makefile; cd ..; make all) and the make completed successfully. Any ideas about the missing Mozilla_Plugin dir specified in the toplevel makefile? There are src/Gen_Devices/Mozilla_PluginBase.[cpp,h] files.

And how to install what I just made, so I can update the LMCE 0710b2 with the version I just made, and test it?

1) Looking at topleled makefile (the one in trunk/src/Makefile), I don't think it includes _all_ the stuff.
2) To test, you can copy the ./bin/ contents to /usr/pluto/bin and ./lib/ to /usr/pluto/lib

Matthew

  • Douchebag
  • Addicted
  • *
  • Posts: 567
    • View Profile
Re: 0710b2 Build Errors
« Reply #35 on: January 19, 2008, 10:33:32 pm »
I tried (cd src/MessageSend; ln -s Makefile.MessageSend Makefile; cd ..; make all) and the make completed successfully. Any ideas about the missing Mozilla_Plugin dir specified in the toplevel makefile? There are src/Gen_Devices/Mozilla_PluginBase.[cpp,h] files.

1) Looking at topleled makefile (the one in trunk/src/Makefile), I don't think it includes _all_ the stuff.

How does the LMCE release team build the beta (and final) releases, I wonder?


And how to install what I just made, so I can update the LMCE 0710b2 with the version I just made, and test it?

2) To test, you can copy the ./bin/ contents to /usr/pluto/bin and ./lib/ to /usr/pluto/lib

I'll try it.

Another question: do you know a good environment/tool for tracing callgraphs/codepaths in a complex project full of wrappers like this one? Maybe cflow or CodeViz...