All,
This is a follow up from an issue Jay and I are trying to solve with twin-style-crystal. I have also posted this to the Arch list in case it is gcc version related, but someone smarter than I on autotools may see the problem from what is described below.
I have patched acinclude.m4, aclocal.m4 and configure to remove references to --as-needed, but when I run configure, I still get the three unwanted LDFLAGS put back in the makefile somehow? Example:
Makefile:LDFLAGS = -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu
I just want it to read:
Makefile:LDFLAGS = -Wl,-O1,-z,relro
What magic autotool does this and how do I fix it? The flags show up in the Makefiles and the config.status file. I have completely searched the source code with grep -r and after patching none of the unwanted flags are present before starting the build. When the build craters, I check the Makefiles and config.status and the unwanted flags are back. This results in the build failing with:
/bin/sh ../libtool --silent --mode=link --tag=CXX g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -o embedtool -L/opt/trinity/lib -L/opt/qt3/lib -L/opt/trinity/lib/trinity embedtool.o -lqt-mt -lz -lpng -lz -lm -lXext -lX11 -lSM -lICE -lpthread g++: error: unrecognized option '--sort-common' g++: error: unrecognized option '--as-needed' g++: error: unrecognized option '--hash-style=gnu'
What's the trick? Thanks.
Extra info:
For those interested, the source is:
http://www.kde-look.org/content/show.php?content=13969
and the patch I'm applying to try and get rid of the flags is:
http://www.3111skyline.com/dl/dt/trinity/arch/src/crystal-1.patch
On 28 February 2012 10:50, David C. Rankin drankinatty@suddenlinkmail.comwrote:
All,
This is a follow up from an issue Jay and I are trying to solve with twin-style-crystal. I have also posted this to the Arch list in case it is gcc version related, but someone smarter than I on autotools may see the problem from what is described below.
I have patched acinclude.m4, aclocal.m4 and configure to remove references to --as-needed, but when I run configure, I still get the three unwanted LDFLAGS put back in the makefile somehow? Example:
Makefile:LDFLAGS = -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu
I just want it to read:
Makefile:LDFLAGS = -Wl,-O1,-z,relro
What magic autotool does this and how do I fix it? The flags show up in the Makefiles and the config.status file. I have completely searched the source code with grep -r and after patching none of the unwanted flags are present before starting the build. When the build craters, I check the Makefiles and config.status and the unwanted flags are back. This results in the build failing with:
/bin/sh ../libtool --silent --mode=link --tag=CXX g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -o embedtool -L/opt/trinity/lib -L/opt/qt3/lib -L/opt/trinity/lib/trinity embedtool.o -lqt-mt -lz -lpng -lz -lm -lXext -lX11 -lSM -lICE -lpthread g++: error: unrecognized option '--sort-common' g++: error: unrecognized option '--as-needed' g++: error: unrecognized option '--hash-style=gnu'
What's the trick? Thanks.
Extra info:
For those interested, the source is:
http://www.kde-look.org/content/show.php?content=13969
and the patch I'm applying to try and get rid of the flags is:
http://www.3111skyline.com/dl/dt/trinity/arch/src/crystal-1.patch
-- David C. Rankin, J.D.,P.E.
To unsubscribe, e-mail: trinity-devel-unsubscribe@lists.pearsoncomputing.net For additional commands, e-mail: trinity-devel-help@lists.pearsoncomputing.net Read list messages on the web archive: http://trinity-devel.pearsoncomputing.net/ Please remember not to top-post: http://trinity.pearsoncomputing.net/mailing_lists/#top-posting
After editing the admin/acinclude.m4.in make sure to move back up to the twin-sytle folder and make maintainer-clean, make -f admin/Makefile.common
if you don't clear it out, you might not be seeing the changes. The only file that should be edited (as far as grep tells me is the acinclude.m4.in) so regenerating everything could resolve the problem.
Cal
On 02/28/2012 09:52 AM, Calvin Morrison wrote:
After editing the admin/acinclude.m4.in http://acinclude.m4.in make sure to move back up to the twin-sytle folder and make maintainer-clean, make -f admin/Makefile.common
if you don't clear it out, you might not be seeing the changes. The only file that should be edited (as far as grep tells me is the acinclude.m4.in http://acinclude.m4.in) so regenerating everything could resolve the problem.
Cal
Cal,
If I'm building in an archroot and the source is deleted every time before a new build attempt, how can I be pulling stuff back in? It may be possible, because I don't know 'jack' about the autotools wizardry, but I can't see something with the twin-style-crystal source doing it. Also, I'm building from the kde-look.org tarball instead of the tde git tree. Is there a Arch (or any other distro for that matter) master file for autotools that might have this set in it?
Any thoughts?
On 28 February 2012 12:16, David C. Rankin drankinatty@suddenlinkmail.com wrote:
On 02/28/2012 09:52 AM, Calvin Morrison wrote:
After editing the admin/acinclude.m4.in http://acinclude.m4.in make sure to move back up to the twin-sytle folder and make maintainer-clean, make -f admin/Makefile.common
if you don't clear it out, you might not be seeing the changes. The only file that should be edited (as far as grep tells me is the acinclude.m4.in http://acinclude.m4.in) so regenerating everything could resolve the problem.
Cal
Cal,
If I'm building in an archroot and the source is deleted every time before a new build attempt, how can I be pulling stuff back in? It may be possible, because I don't know 'jack' about the autotools wizardry, but I can't see something with the twin-style-crystal source doing it. Also, I'm building from the kde-look.org tarball instead of the tde git tree. Is there a Arch (or any other distro for that matter) master file for autotools that might have this set in it?
On 28 February 2012 12:16, David C. Rankin drankinatty@suddenlinkmail.com wrote:
On 02/28/2012 09:52 AM, Calvin Morrison wrote:
After editing the admin/acinclude.m4.in http://acinclude.m4.in make sure to move back up to the twin-sytle folder and make maintainer-clean, make -f admin/Makefile.common
if you don't clear it out, you might not be seeing the changes. The only file that should be edited (as far as grep tells me is the acinclude.m4.in http://acinclude.m4.in) so regenerating everything could resolve the problem.
Cal
Cal,
If I'm building in an archroot and the source is deleted every time before a new build attempt, how can I be pulling stuff back in? It may be possible, because I don't know 'jack' about the autotools wizardry, but I can't see something with the twin-style-crystal source doing it. Also, I'm building from the kde-look.org tarball instead of the tde git tree. Is there a Arch (or any other distro for that matter) master file for autotools that might have this set in it?
Any thoughts?
Have you replaced the admin/ folder btw with the one in the trinity submodule admin? I'd also do that ( over time there have been changes to autotools for trinity, so you should probably use the up to date one).
Calvin
On 02/28/2012 12:00 PM, Calvin Morrison wrote:
Have you replaced the admin/ folder btw with the one in the trinity submodule admin? I'd also do that ( over time there have been changes to autotools for trinity, so you should probably use the up to date one).
Calvin
I think you have hit the nail on the head -- see my post which I sent 2 minutes ago...
On 28 February 2012 13:10, David C. Rankin drankinatty@suddenlinkmail.com wrote:
On 02/28/2012 12:00 PM, Calvin Morrison wrote:
Have you replaced the admin/ folder btw with the one in the trinity submodule admin? I'd also do that ( over time there have been changes to autotools for trinity, so you should probably use the up to date one).
Calvin
I think you have hit the nail on the head -- see my post which I sent 2 minutes ago...
-- David C. Rankin, J.D.,P.E.
Ok, have you tried using the admin folder from Trinity
I've used these steps to get stuff from kdelook to trinity
rm admin -Rvf cp /my/tde/source/main/common/admin ./ -R make -f admin/Makefile.common autoreconf ./configure make
should make sure it works :-)
Cal
On 02/28/2012 12:46 PM, Calvin Morrison wrote:
Ok, have you tried using the admin folder from Trinity
I've used these steps to get stuff from kdelook to trinity
rm admin -Rvf cp /my/tde/source/main/common/admin ./ -R make -f admin/Makefile.common autoreconf ./configure make
should make sure it works :-)
Cal
Will test and report back. You got a good link for an autotools/autoconf/automake reference. I have no idea what goes in the /admin dir... :(
On 02/28/2012 12:55 PM, David C. Rankin wrote:
On 02/28/2012 12:46 PM, Calvin Morrison wrote:
Ok, have you tried using the admin folder from Trinity
I've used these steps to get stuff from kdelook to trinity
rm admin -Rvf cp /my/tde/source/main/common/admin ./ -R make -f admin/Makefile.common autoreconf ./configure make
should make sure it works :-)
Cal
Will test and report back. You got a good link for an autotools/autoconf/automake reference. I have no idea what goes in the /admin dir... :(
Damn!
checking for tde-config... not found configure: error: The important program tde-config was not found! Please check whether you installed TDE correctly.
What package is supposed to install tde-config?
On 02/28/2012 01:08 PM, David C. Rankin wrote:
On 02/28/2012 12:55 PM, David C. Rankin wrote:
On 02/28/2012 12:46 PM, Calvin Morrison wrote:
Ok, have you tried using the admin folder from Trinity
I've used these steps to get stuff from kdelook to trinity
rm admin -Rvf cp /my/tde/source/main/common/admin ./ -R make -f admin/Makefile.common autoreconf ./configure make
should make sure it works :-)
Cal
Will test and report back. You got a good link for an autotools/autoconf/automake reference. I have no idea what goes in the /admin dir... :(
Damn!
checking for tde-config... not found configure: error: The important program tde-config was not found! Please check whether you installed TDE correctly.
What package is supposed to install tde-config?
Double Damn!
Symlinked kde-config -> tde-config and build progressed, then dies looking for Qt4 WTF?
checking for Qt... checking for pkg-config... /usr/bin/pkg-config configure: error: Qt (>= Qt 4.3 and < 5.0) (headers and libraries) not found. Please check your installation! For more details about this problem, look at the end of config.log.
On 02/28/2012 01:12 PM, David C. Rankin wrote:
On 02/28/2012 01:08 PM, David C. Rankin wrote:
On 02/28/2012 12:55 PM, David C. Rankin wrote:
On 02/28/2012 12:46 PM, Calvin Morrison wrote:
Ok, have you tried using the admin folder from Trinity
I've used these steps to get stuff from kdelook to trinity
rm admin -Rvf cp /my/tde/source/main/common/admin ./ -R make -f admin/Makefile.common autoreconf ./configure make
should make sure it works :-)
Cal
Will test and report back. You got a good link for an autotools/autoconf/automake reference. I have no idea what goes in the /admin dir... :(
Damn!
checking for tde-config... not found configure: error: The important program tde-config was not found! Please check whether you installed TDE correctly.
What package is supposed to install tde-config?
Double Damn!
Symlinked kde-config -> tde-config and build progressed, then dies looking for Qt4 WTF?
checking for Qt... checking for pkg-config... /usr/bin/pkg-config configure: error: Qt (>= Qt 4.3 and < 5.0) (headers and libraries) not found. Please check your installation! For more details about this problem, look at the end of config.log.
The problem is that the new /admin files from TDE git are NOT detecting Qt3 installed and are choking. I have Qt3 and not TQt3, I don't know if that makes a difference, but I know we are close to getting this thing to build. I don't know what needs fixing, but the 'choke me' language in the new admin/acinclude.m4.in looks suspicious:
if test "$kde_qtver" = "3"; then if $PKG_CONFIG --exists qt-mt ; then cat >> conftest.$ac_ext <<EOF (void)QStyleFactory::create(QString::null); QCursor c(Qt::WhatsThisCursor); EOF else cat >> conftest.$ac_ext <<EOF (void)TQStyleFactory::create(TQString::null); TQCursor c(TQt::WhatsThisCursor); EOF fi fi if test "$kde_qtver" = "4"; then cat >> conftest.$ac_ext <<EOF (void)QStyleFactory::create(QString::null); QCursor c(Qt::WhatsThisCursor); EOF fi cat >> conftest.$ac_ext <<EOF return 0; } EOF ])
AC_DEFUN([KDE_USE_QT], [ #if test -z "$1"; then # Current default Qt version: 3.3 kde_qtver=3 kde_qtsubver=3
AC_LANG_SAVE AC_LANG_CPLUSPLUS ac_cxxflags_safe="$CXXFLAGS" CXXFLAGS="-I/usr/include/tqt" AC_TRY_COMPILE([ #define TQT_VERSION_ONLY #include <tqt.h> #undef TQT_VERSION_ONLY #ifdef USE_QT4 choke me
Tdebase. Are you running git? If not you need admin from 3.5.13 On Feb 28, 2012 2:08 PM, "David C. Rankin" drankinatty@suddenlinkmail.com wrote:
On 02/28/2012 12:55 PM, David C. Rankin wrote:
On 02/28/2012 12:46 PM, Calvin Morrison wrote:
Ok, have you tried using the admin folder from Trinity
I've used these steps to get stuff from kdelook to trinity
rm admin -Rvf cp /my/tde/source/main/common/admin ./ -R make -f admin/Makefile.common autoreconf ./configure make
should make sure it works :-)
Cal
Will test and report back. You got a good link for an autotools/autoconf/automake reference. I have no idea what goes in the
/admin
dir... :(
Damn!
checking for tde-config... not found configure: error: The important program tde-config was not found! Please check whether you installed TDE correctly.
What package is supposed to install tde-config?
-- David C. Rankin, J.D.,P.E.
To unsubscribe, e-mail: trinity-devel-unsubscribe@lists.pearsoncomputing.net For additional commands, e-mail: trinity-devel-help@lists.pearsoncomputing.net Read list messages on the web archive: http://trinity-devel.pearsoncomputing.net/ Please remember not to top-post: http://trinity.pearsoncomputing.net/mailing_lists/#top-posting
On 02/28/2012 01:20 PM, Calvin Morrison wrote:
Tdebase. Are you running git? If not you need admin from 3.5.13
I'm running git and it is still kde-config!
13:25 nirvana:/mnt/nv1/home/chroot/david> find opt -name kde-config opt/trinity/bin/kde-config
I bandaided that with a symlink. Maybe I'll just rebuild everything. My tdebase is from Feb 23 git.
Ah! Tim got me with:
commit: 618f2521c3406cb4cb02689d93f5f950e5f94027 (patch)
On 02/28/2012 11:16 AM, David C. Rankin wrote:
On 02/28/2012 09:52 AM, Calvin Morrison wrote:
After editing the admin/acinclude.m4.in http://acinclude.m4.in make sure to move back up to the twin-sytle folder and make maintainer-clean, make -f admin/Makefile.common
if you don't clear it out, you might not be seeing the changes. The only file that should be edited (as far as grep tells me is the acinclude.m4.in http://acinclude.m4.in) so regenerating everything could resolve the problem.
Cal
Cal,
If I'm building in an archroot and the source is deleted every time before a new build attempt, how can I be pulling stuff back in? It may be possible, because I don't know 'jack' about the autotools wizardry, but I can't see something with the twin-style-crystal source doing it. Also, I'm building from the kde-look.org tarball instead of the tde git tree. Is there a Arch (or any other distro for that matter) master file for autotools that might have this set in it?
Any thoughts?
OK,
This isn't an Arch problems and it isn't a crystal source problem, this is an autotools automake/aclocal problem. As a test, I decided to just build crystal on my 3.5.12 box without any patches and without any mods (3.5.12 is in /opt/kde3) and -- it built on the first try:
-rw-r--r-- 1 david david 101932 Feb 28 11:23 kde3-kwinstyle-crystal-1.0.7-1-x86_64.pkg.tar.xz
However, after I patch for the build on TDE from 'kdeui' to 'tdeui' then it tries to run aclocal and automake and can't due to version problems.
cd . && /bin/sh /build/src/crystal-1.0.7/admin/missing --run aclocal-1.7 /build/src/crystal-1.0.7/admin/missing: line 52: aclocal-1.7: command not found WARNING: `aclocal-1.7' is missing on your system. You should only need it if you modified `acinclude.m4' or `configure.in'. You might want to install the `Automake' and `Perl' packages. Grab them from any GNU archive site. cd . && \ /bin/sh /build/src/crystal-1.0.7/admin/missing --run automake-1.7 --foreign Makefile /build/src/crystal-1.0.7/admin/missing: line 52: automake-1.7: command not found WARNING: `automake-1.7' is missing on your system. You should only need it if you modified `Makefile.am', `acinclude.m4' or `configure.in'. You might want to install the `Automake' and `Perl' packages. Grab them from any GNU archive site.
OK, So to get over the version mismatch in aclocal and automake, I simply tried linking the current aclocal/automake to aclocal-1.7 and automake-1.7. The build proceeded without the same warning, but with a new warning:
cd . && /bin/sh /build/src/crystal-1.0.7/admin/missing --run aclocal-1.7 acinclude.m4:3699: the serial number must appear before any macro definition acinclude.m4:3744: the serial number must appear before any macro definition acinclude.m4:3789: the serial number must appear before any macro definition acinclude.m4:5997: the serial number must appear before any macro definition configure.in:51: warning: AC_REQUIRE: `AC_PROG_CC' was expanded before it was required
The build of crystal in TDE then fails in exactly the same place:
/bin/sh ../libtool --silent --tag=CXX --mode=link g++ -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -L/opt/trinity/lib -L/opt/qt3/lib -L/opt/trinity/lib/trinity -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -o embedtool embedtool.o -lqt-mt -lz -lpng -lz -lm -lXext -lX11 -lSM -lICE -lpthread g++: error: unrecognized option '--sort-common' g++: error: unrecognized option '--as-needed' g++: error: unrecognized option '--hash-style=gnu' make[2]: *** [embedtool] Error 1 make[2]: Leaving directory `/build/src/crystal-1.0.7/pics' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/build/src/crystal-1.0.7' make: *** [all] Error 2
So it looks like the renaming of 'kdeui' to 'tdeui' and ${TDEDIR}/lib/kde3 -> ${TDEDIR}/lib/trinity which requires patching to build on TDE causes the build to fail due to the updated aclocal/automake not being compatible with whatever is in twin-style-crystal. If the acinclude and aclocal files are not patched (like when building on my 3.5.12 box), then aclocal/automake doesn't run and the build completes successfully.
I have no idea what is required to fix this on trinity, but one of you smarter guys will have to help out, because we must have crystal window decoration on TDE :) I don't know if Serghei could move this to cmake and get around this problem, but I'm open to suggestions....