Last line on ./configure is:
checking for X... configure: error: Can't find X includes. Please check your installation and add the correct paths!
Not sure why thsi happens, build-essential is installed, kernel headers and all... missing a package?
Dex
Installing libx11-dev didn't help either.
Meanwhile after installing libqt3-dev I get to:
in the prefix, you've chosen, are no KDE headers installed. This will fail. So, check this please and use another prefix!
I used ./configure --prefix=`kde-config --prefix` --disable-debug --enable-final
kde-config --prefix returns: /opt/kde3
What's missing?
Dex
Hi Dex,
I get that on certain older programs as well. It is an automake issue with the "new" /opt/kde3/include/kde header directory. To fix it, look for the acinclude.m4 file and open it. Inside that file you should find a line like this: kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
Simply add /opt/kde3/include/kde to that line like this: kde_incdirs="$kde_libs_prefix/include /opt/kde3/include/kde /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
Then save the file and regenerate the automake build system (autoconf, automake)
Hope this helps!
Tim
On Sun, January 3, 2010 9:26 pm, Dexter Filmore wrote:
Meanwhile after installing libqt3-dev I get to:
in the prefix, you've chosen, are no KDE headers installed. This will fail. So, check this please and use another prefix!
I used ./configure --prefix=`kde-config --prefix` --disable-debug --enable-final
kde-config --prefix returns: /opt/kde3
What's missing?
Dex
-- -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d--(+)@ s-:+ a C++++ UL++ P+>++ L+++>++++ E-- W++ N o? K- w--(---) !O M+ V- PS+ PE Y++ PGP t++(---)@ 5 X+(++) R+(++) tv--(+)@ b++(+++) DI+++ D- G++ e* h>++ r* y? ------END GEEK CODE BLOCK------
Nope, no go. I modified the line, ran aclocal, automake, autoconf (can't remember which order, afair that's important (I'm so not a coder), still the same error. In what order do I have to execute aclocal, automake and autoconf?
Dex
Am Monday 04 January 2010 05:14:57 schrieb Timothy Pearson:
Hi Dex,
I get that on certain older programs as well. It is an automake issue with the "new" /opt/kde3/include/kde header directory. To fix it, look for the acinclude.m4 file and open it. Inside that file you should find a line like this: kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
Simply add /opt/kde3/include/kde to that line like this: kde_incdirs="$kde_libs_prefix/include /opt/kde3/include/kde /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
Then save the file and regenerate the automake build system (autoconf, automake)
Hope this helps!
Tim
On Sun, January 3, 2010 9:26 pm, Dexter Filmore wrote:
Meanwhile after installing libqt3-dev I get to:
in the prefix, you've chosen, are no KDE headers installed. This will fail. So, check this please and use another prefix!
I used ./configure --prefix=`kde-config --prefix` --disable-debug --enable-final
kde-config --prefix returns: /opt/kde3
What's missing?
Dex
-- -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d--(+)@ s-:+ a C++++ UL++ P+>++ L+++>++++ E-- W++ N o? K- w--(---) !O M+ V- PS+ PE Y++ PGP t++(---)@ 5 X+(++) R+(++) tv--(+)@ b++(+++) DI+++ D- G++ e* h>++ r* y? ------END GEEK CODE BLOCK------
/opt/kde3/include/kde$ ls digikam kaffeine knetworkmanager-vpnplugin.h digikam_export.h knetworkmanager-plugin.h kopete
Sure ain't too much?
Dex
Now ran on a fresh src: aclocal, automake, autoconf, in that order. autoconf gives me:
acinclude.m4:9700: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... configure:28182: error: possibly undefined macro: AH_CHECK_HEADERS If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation.
Means nothing to me. Help, anyone?
Dex
On Mon, January 4, 2010 8:47 am, Dexter Filmore wrote:
Now ran on a fresh src: aclocal, automake, autoconf, in that order. autoconf gives me:
acinclude.m4:9700: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... configure:28182: error: possibly undefined macro: AH_CHECK_HEADERS If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation.
Means nothing to me. Help, anyone?
Dex
-- -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d--(+)@ s-:+ a C++++ UL++ P+>++ L+++>++++ E-- W++ N o? K- w--(---) !O M+ V- PS+ PE Y++ PGP t++(---)@ 5 X+(++) R+(++) tv--(+)@ b++(+++) DI+++ D- G++ e* h>++ r* y? ------END GEEK CODE BLOCK------
Hi Dex,
It looks like you don't have the KDE3 -dev packages installed, so the required headers are not on your system.
Try installing the kdelibs4-kde3-dev package and re-running ./configure.
Regarding your error, autoconf2.64 (the Ubuntu default) is broken with KDE3. There is discussion on that problem all over the Internet. To work around, simply install autoconf2.63 and automake1.11-kde3.
Let me know if this helps!
Tim
First of all thanks for all your help. configure now works, make breaks with this error tho:
/usr/share/qt3/include/qmemarray.h: In constructor ‘QMemArray<type>::QMemArray(int) [with type = QPoint]’: /usr/share/qt3/include/qpointarray.h:59: instantiated from here /usr/share/qt3/include/qmemarray.h:62: warning: conversion to ‘int’ from ‘long unsigned int’ may alter its value main.cpp: In member function ‘virtual QString BabSwitcher::deco()’: main.cpp:461: warning: control reaches end of non-void function main.cpp: In member function ‘virtual QString BabSwitcher::style()’: main.cpp:444: warning: control reaches end of non-void function make[2]: *** [main.o] Fehler 1 make[2]: Verlasse Verzeichnis '/home/dexter/software/baghira-0.8/bab' make[1]: *** [all-recursive] Fehler 1 make[1]: Verlasse Verzeichnis '/home/dexter/software/baghira-0.8' make: *** [all] Fehler 2
Not sure if that's still a kde thing or ion the baghira code. Funny thing is I see no errors, only warnings. Shouldn't make ignore that?
Dex
Am Monday 04 January 2010 20:17:14 schrieb Timothy Pearson:
On Mon, January 4, 2010 8:47 am, Dexter Filmore wrote:
Now ran on a fresh src: aclocal, automake, autoconf, in that order. autoconf gives me:
acinclude.m4:9700: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from... configure:28182: error: possibly undefined macro: AH_CHECK_HEADERS If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation.
Means nothing to me. Help, anyone?
Dex
-- -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d--(+)@ s-:+ a C++++ UL++ P+>++ L+++>++++ E-- W++ N o? K- w--(---) !O M+ V- PS+ PE Y++ PGP t++(---)@ 5 X+(++) R+(++) tv--(+)@ b++(+++) DI+++ D- G++ e* h>++ r* y? ------END GEEK CODE BLOCK------
Hi Dex,
It looks like you don't have the KDE3 -dev packages installed, so the required headers are not on your system.
Try installing the kdelibs4-kde3-dev package and re-running ./configure.
Regarding your error, autoconf2.64 (the Ubuntu default) is broken with KDE3. There is discussion on that problem all over the Internet. To work around, simply install autoconf2.63 and automake1.11-kde3.
Let me know if this helps!
Tim
On Mon, January 4, 2010 8:56 pm, Dexter Filmore wrote:
First of all thanks for all your help. configure now works, make breaks with this error tho:
/usr/share/qt3/include/qmemarray.h: In constructor âQMemArray<type>::QMemArray(int) [with type = QPoint]â: /usr/share/qt3/include/qpointarray.h:59: instantiated from here /usr/share/qt3/include/qmemarray.h:62: warning: conversion to âintâ from âlong unsigned intâ may alter its value main.cpp: In member function âvirtual QString BabSwitcher::deco()â: main.cpp:461: warning: control reaches end of non-void function main.cpp: In member function âvirtual QString BabSwitcher::style()â: main.cpp:444: warning: control reaches end of non-void function make[2]: *** [main.o] Fehler 1 make[2]: Verlasse Verzeichnis '/home/dexter/software/baghira-0.8/bab' make[1]: *** [all-recursive] Fehler 1 make[1]: Verlasse Verzeichnis '/home/dexter/software/baghira-0.8' make: *** [all] Fehler 2
Not sure if that's still a kde thing or ion the baghira code. Funny thing is I see no errors, only warnings. Shouldn't make ignore that?
Dex
Hi Dex,
You probably missed the actual error line somewhere. They can be quite tricky to locate, I usually end up searching the terminal output for the phrase "error:". GCC will not terminate that way for warnings.
Likely that is a baghira error, not a KDE one. Look at the gcc4 porting guide, gcc4.x is much stricter about certain things than gcc3.x was. It should tell you exactly what it choked on, though.
If you get it to compile, do you want to try packaging it? I'd be happy to accept it into the kde3-maintainers PPA...
Tim
Hi Dex,
You probably missed the actual error line somewhere. They can be quite tricky to locate, I usually end up searching the terminal output for the phrase "error:". GCC will not terminate that way for warnings.
Likely that is a baghira error, not a KDE one. Look at the gcc4 porting guide, gcc4.x is much stricter about certain things than gcc3.x was. It should tell you exactly what it choked on, though.
If you get it to compile, do you want to try packaging it? I'd be happy to accept it into the kde3-maintainers PPA...
Tim
Been trying to make sense of the debian package maintainer guide on several occasions and even built a deb once but only by following instructions. Most of the time I had a good idea what I was doing but I learned Linux on Slackware where creating a package wasn't much more complicated than changing the desktop background...
If you happen to have a guide "how to create debs without taking a high school semester" I'm all in.
Dex
You were right about the error occuring earlier. (Betrete = entering, Verzeichnis = directory. should run make with LANG=en, huh?)
make all-recursive make[1]: Betrete Verzeichnis '/home/dexter/software/baghira-for-910/baghira-0.8' Making all in bab make[2]: Betrete Verzeichnis '/home/dexter/software/baghira-for-910/baghira-0.8/bab' g++ -DHAVE_CONFIG_H -I. -I.. -I/opt/kde3/include/kde -I/usr/share/qt3/include -I. -DQT_THREAD_SUPPORT -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cpp main.cpp:615:19: error: bab.moc: No such file or directory In file included from /usr/share/qt3/include/qwindowdefs.h:47, from /usr/share/qt3/include/qobject.h:46, from /opt/kde3/include/kde/dcopobject.h:26, from bab_iface.h:24, from bab.h:28, from main.cpp:21:
Tried another approach: port the intrepid src.
running dpkg-buildpackage gives me:
dpkg-checkbuilddeps: Unmet build dependencies: kdebase-dev (>= 3.4) dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting. dpkg-buildpackage: warning: (Use -d flag to override.)
I installed kdebase-kde3-dev, seems I need to point the src at that somehow?
Dex
On Tue, January 5, 2010 11:50 am, Dexter Filmore wrote:
Tried another approach: port the intrepid src.
running dpkg-buildpackage gives me:
dpkg-checkbuilddeps: Unmet build dependencies: kdebase-dev (>= 3.4) dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting. dpkg-buildpackage: warning: (Use -d flag to override.)
I installed kdebase-kde3-dev, seems I need to point the src at that somehow?
Dex
-- -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d--(+)@ s-:+ a C++++ UL++ P+>++ L+++>++++ E-- W++ N o? K- w--(---) !O M+ V- PS+ PE Y++ PGP t++(---)@ 5 X+(++) R+(++) tv--(+)@ b++(+++) DI+++ D- G++ e* h>++ r* y? ------END GEEK CODE BLOCK------
Hi Dex,
You will need to open the file debian/control and modify the dependency lines. Anywhere it is looking for a "stock" KDE package (kdelibs4-dev, etc.) you need to replace that with the KDE3 package instead (e.g. kdelibs4-kde3-dev). Also, please rename the package to baghira-kde3, and update the debian/changelog file with the new name and either your Email or kde3-maintainers@ubuntu.com as the maintainer Email address. Update the maintainer name field as well to match.
In the file debian/rules you will have to add this block: DEB_CONFIGURE_INCLUDEDIR := /opt/kde3/include/kde DEB_CONFIGURE_MANDIR := /opt/kde3/share/man DEB_CONFIGURE_PREFIX := /opt/kde3 DEB_CONFIGURE_INFODIR := /opt/kde3/share/info
cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug)
directly after this line (if it exists): include /usr/share/cdbs/1/rules/utils.mk
otherwise, put it after the #!/usr/bin/make -f line.
Also add the line DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/opt/kde3 or if DEB_CONFIGURE_EXTRA_FLAGS already exists, then tack on --prefix=/opt/kde3 to the end of that line.
At that point, you need to look around the debian/ folder and make sure any install files with baghira in their name are renamed to include baghira-kde3 instead. Also, open each *.install file, and anywhere usr/ is mentioned, change it to opt/kde3/
Take one last look at the debian/rules file; make sure any references to baghira are replaced with baghira-kde3.
Most likely you will also need to add " ,autoconf2.63, automake1.11-kde3" (minus the quotes) to the end of the build-depends line.
Also, the acinclude.m4 changes I mentioned earlier will have to be applied.
That is actually the standard porting procedure I've been following for the past year or more. It works pretty well, and if you manage to get an error tracking down the problem is usually pretty simple.
It is probably a good idea to make these changes in a copy of the package source, then copy that folder to a new directory before compiling. That way your uncompiled source can be easily updated, recopied, and recompiled, without worrying about old build files wreaking havoc.
Let me know if you need any further assistance!
Tim
No go. Still complains KDE headers not there. Is it possible that this is cached somewhere? the Makefile has no clean or distclean target and I don't know what ro rm manually.
Dex
Am Tuesday 05 January 2010 21:29:18 schrieb Timothy Pearson:
On Tue, January 5, 2010 11:50 am, Dexter Filmore wrote:
Tried another approach: port the intrepid src.
running dpkg-buildpackage gives me:
dpkg-checkbuilddeps: Unmet build dependencies: kdebase-dev (>= 3.4) dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting. dpkg-buildpackage: warning: (Use -d flag to override.)
I installed kdebase-kde3-dev, seems I need to point the src at that somehow?
Dex
-- -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d--(+)@ s-:+ a C++++ UL++ P+>++ L+++>++++ E-- W++ N o? K- w--(---) !O M+ V- PS+ PE Y++ PGP t++(---)@ 5 X+(++) R+(++) tv--(+)@ b++(+++) DI+++ D- G++ e* h>++ r* y? ------END GEEK CODE BLOCK------
Hi Dex,
You will need to open the file debian/control and modify the dependency lines. Anywhere it is looking for a "stock" KDE package (kdelibs4-dev, etc.) you need to replace that with the KDE3 package instead (e.g. kdelibs4-kde3-dev). Also, please rename the package to baghira-kde3, and update the debian/changelog file with the new name and either your Email or kde3-maintainers@ubuntu.com as the maintainer Email address. Update the maintainer name field as well to match.
In the file debian/rules you will have to add this block: DEB_CONFIGURE_INCLUDEDIR := /opt/kde3/include/kde DEB_CONFIGURE_MANDIR := /opt/kde3/share/man DEB_CONFIGURE_PREFIX := /opt/kde3 DEB_CONFIGURE_INFODIR := /opt/kde3/share/info
cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug)
directly after this line (if it exists): include /usr/share/cdbs/1/rules/utils.mk
otherwise, put it after the #!/usr/bin/make -f line.
Also add the line DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/opt/kde3 or if DEB_CONFIGURE_EXTRA_FLAGS already exists, then tack on --prefix=/opt/kde3 to the end of that line.
At that point, you need to look around the debian/ folder and make sure any install files with baghira in their name are renamed to include baghira-kde3 instead. Also, open each *.install file, and anywhere usr/ is mentioned, change it to opt/kde3/
Take one last look at the debian/rules file; make sure any references to baghira are replaced with baghira-kde3.
Most likely you will also need to add " ,autoconf2.63, automake1.11-kde3" (minus the quotes) to the end of the build-depends line.
Also, the acinclude.m4 changes I mentioned earlier will have to be applied.
That is actually the standard porting procedure I've been following for the past year or more. It works pretty well, and if you manage to get an error tracking down the problem is usually pretty simple.
It is probably a good idea to make these changes in a copy of the package source, then copy that folder to a new directory before compiling. That way your uncompiled source can be easily updated, recopied, and recompiled, without worrying about old build files wreaking havoc.
Let me know if you need any further assistance!
Tim