[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dpkg-buildpackage, debian etch, beryl

Adam Porter wrote:
Magnus Pedersen wrote:

I'm trying to build .debs of beryl:
I can build the source without problems with :

But when I try to build with dpkg-buildpackage -rfakeroot I end up with
a lot linies like this and an error:

undefined reference to `g_slist_foreach'
.libs/main.o: In function `read_settings_for_plugin':

This is my first try building .debs, can anyone tell me what I'm doing

Hi Magnus,

Are you building from the release tarball or SVN or what?  I'm not sure why
the tarballs would build fine except with dpkg-buildpackage.  You said you
end up with "an error," but you didn't actually include the error message. It would also help if you'd say what working directory you execute the
commands in.

I'm building from the 0.14 release tarballs and this is my buildcommand and path:

magnus@Pedersen-dell:~/Desktop/beryl/build/beryl-core-0.1.4$ dpkg-buildpackage -rfakeroot

The final error looks like this:

/home/magnus/Desktop/beryl/build/beryl-core-0.1.4/libberylsettings/main.c:933: undefined refer ence to `g_key_file_free'
.libs/display_options.o: In function `compDisplayInitOptions':
../src/display_options.c:268: undefined reference to `XStringToKeysym'
../src/display_options.c:285: undefined reference to `XStringToKeysym'
../src/display_options.c:302: undefined reference to `XStringToKeysym'
../src/display_options.c:334: undefined reference to `XStringToKeysym'
../src/display_options.c:351: undefined reference to `XStringToKeysym'
.libs/display_options.o:../src/display_options.c:399: more undefined references to `XStringToK eysym' follow
collect2: ld returned 1 exit status
make[3]: *** [libberylsettings.la] Error 1
make[3]: Leaving directory `/home/magnus/Desktop/beryl/build/beryl-core-0.1.4/libberylsettings '
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/magnus/Desktop/beryl/build/beryl-core-0.1.4'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/magnus/Desktop/beryl/build/beryl-core-0.1.4'
make: *** [build-stamp] Error 2

I've been building the SVN versions with excellent results; no crashes, the
occasional new feature, and minor bug fixes.  After $(svn up) I run:

beryl/trunk$ nice -n 10 make newdebs

That will build the deb packages, in order, and install each package as it
goes.  It will use sudo and prompt you for the password when it needs it,
so you might want to go ahead and run $(sudo echo) first if you plan to
leave the build going unattended.  After it finishes, it will put the debs
in the "output/####" directory, where "####" is the SVN revision.

The only drawbacks to this are:

a) if the build fails at some point but has already installed some packages
it built successfully, you could end up with mismatched versions of Beryl's
different packages.  I usually keep a copy of the last build that I've
observed to be stable so I can revert to it if necessary.  However, it's
been a while since I've had any build errors, and even then, if you really
want to, you can find another SVN revision that builds.

b) Unfortunately, the way Beryl's build process is set up, it must, for
example, install beryl-core before it can build beryl-plugins.  This is
what leads to drawback A above (maybe I have these in the wrong order).

Again, build errors seem to getting more rare, and Beryl and Emerald seem
quite stable, so I recommend you give the SVN version a try.

Please cc my email if you want me to see any replies.


I'm not sure I'm brave enough to run SVN, but perhaps I should give it a try...


Reply to: