Code::Blocks Forums

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: me22 on December 17, 2005, 09:04:33 pm

Title: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 1542 )
Post by: me22 on December 17, 2005, 09:04:33 pm
URL: svn://svn.berlios.de/codeblocks/trunk
Repository UUID: 98b59c6a-2706-0410-b7d6-d2fa1a1880c9
Revision: 1542
Node Kind: directory
Schedule: normal
Last Changed Author: thomasdenk
Last Changed Rev: 1542
Last Changed Date: 2005-12-17 13:16:33 -0500 (Sat, 17 Dec 2005)

Making all in src
make[1]: Entering directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src'
Making all in tools
make[2]: Entering directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools'
Making all in autorevision
make[3]: Entering directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision'
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../../src/sdk   -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA  -O3 -march=athlon-xp -pipe -fomit-frame-pointer -O2 -ffast-math -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -c -o autorevision.o `test -f 'autorevision.cpp' || echo './'`autorevision.cpp
./auto_revision +int +wx +t ../../.. ./../../sdk/autorevision.h
make[3]: ./auto_revision: Command not found
make[3]: *** [all-local] Error 127
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src'
make: *** [all-recursive] Error 1

I have no idea what's wrong here, but perhaps someone forgot to add the script in question?
Title: Re: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 15
Post by: Urxae on December 17, 2005, 10:03:52 pm
[...]
Making all in autorevision
make[3]: Entering directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision'
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../../src/sdk   -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA  -O3 -march=athlon-xp -pipe -fomit-frame-pointer -O2 -ffast-math -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -c -o autorevision.o `test -f 'autorevision.cpp' || echo './'`autorevision.cpp
./auto_revision +int +wx +t ../../.. ./../../sdk/autorevision.h
make[3]: ./auto_revision: Command not found
[...]

I have no idea what's wrong here, but perhaps someone forgot to add the script in question?

No, not entirely. Looks like it was partially added: the program was compiled on the line above the attempted use, but it wasn't linked.
Title: Re: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 1542 )
Post by: mandrav on December 18, 2005, 01:57:53 pm
This is run from all-local target, which means it should run after this target has been compiled and linked. I checked it again with a clean rebuild and works as expected in Ubuntu...
Title: Re: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 15
Post by: me22 on December 18, 2005, 06:44:16 pm
I just did a clean checkout of r1553 and the problem is still there:
Quote
Making all in src
make[1]: Entering directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src'
Making all in tools
make[2]: Entering directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools'
Making all in autorevision
make[3]: Entering directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision'
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../../src/sdk   -I/usr/lib/wx/include/gtk2u-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES  -O3 -march=athlon-xp -pipe -fomit-frame-pointer -O2 -ffast-math  -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -c -o autorevision.o `test -f 'autorevision.cpp' || echo './'`autorevision.cpp
./auto_revision +int +wx +t ../../.. ./../../sdk/autorevision.h
make[3]: ./auto_revision: Command not found
make[3]: *** [all-local] Error 127
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src'
make: *** [all-recursive] Error 1

My Emerge info ( I'm using my codeblocks-svn ebuild )
Quote
Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-gentoo-r2-me22 i686)
=================================================================
System uname: 2.6.14-gentoo-r2-me22 i686 AMD Athlon(tm) XP 2400+
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="en_CA.UTF-8"
LC_ALL="en_CA.UTF-8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow X a52 aac aalib alsa apache2 apm audiofile avi bash-completion berkdb bitmap-fonts browserplugin bzip2 bzlib cddb cdparanoia cdr cjk crd crypt cups curl dga dio directfb divx4linux dts dvd dvdr eds emboss encode exif expat fam ffmpeg firefox flac foomaticdb ftp gd gdbm gif glut gmp gnome gpm gstreamer gtk gtk2 gtkhtml guile hal icq idn imagemagick imlib jpeg junit lcms libcaca libg++ libwww lirc lua mad matroska mikmod mng mp3 mpeg msn mysql ncurses nls nptl nsplugin nvidia ogg oggvorbis openal opengl oss pam pcre pdflib perl png quicktime readline recode rtc samba sdl slang sockets spell ssl svg svga tcpd tetex tidy truetype truetype-fonts type1-fonts udev unicode usb vorbis win32codecs wxwindows xchatdccserver xine xml xml2 xmms xv xvid zlib video_cards_nvidia userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS, LINGUAS

Oh, I know what it probably is -- emerge builds in a sandbox in a weird directory.  Are there any hard-coded paths?

Here's the configure line that it uses:
Quote
* econf: updating codeblocks-svn-1.0/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating codeblocks-svn-1.0/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --build=i686-pc-linux-gnu --disable-debug --disable-dependency-tracking
Title: Re: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 1542 )
Post by: mandrav on December 18, 2005, 06:58:25 pm
These are the contents of Makefile.am:
Code
noinst_PROGRAMS = auto_revision
auto_revision_SOURCES = autorevision.cpp

all-local:
./auto_revision +int +wx +t $(top_srcdir) $(srcdir)/../../sdk/autorevision.h

Try to change ./auto_revision to $(builddir)/auto_revision and see if this works...
Title: Re: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 15
Post by: me22 on December 18, 2005, 10:03:31 pm
seems as though $(builddir) contains nothing:

Makefile.am:
Quote
noinst_PROGRAMS = auto_revision
auto_revision_SOURCES = autorevision.cpp

all-local:
        $(builddir)/auto_revision +int +wx +t $(top_srcdir) $(srcdir)/../../sdk/autorevision.h

make output:
Quote
Making all in src
make[1]: Entering directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src'
Making all in tools
make[2]: Entering directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools'
Making all in autorevision
make[3]: Entering directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision'
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../../src/sdk   -I/usr/lib/wx/include/gtk2u-2.4 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES  -O3 -march=athlon-xp -pipe -fomit-frame-pointer -O2 -ffast-math  -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -c -o autorevision.o `test -f 'autorevision.cpp' || echo './'`autorevision.cpp
/auto_revision +int +wx +t ../../.. ./../../sdk/autorevision.h
make[3]: /auto_revision: Command not found
make[3]: *** [all-local] Error 127
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src'
make: *** [all-recursive] Error 1

!!! ERROR: dev-util/codeblocks-svn-1.0 failed.
!!! Function src_compile, Line 31, Exitcode 2
!!! emake failed
!!! If you need support, post the topmost build error, NOT this status message.

Is it possible that auto_revision isn't even being generated?

The make line is building an object, not an executable, and I can't find anything with a name auto_revision:
Quote
# find /var/tmp/portage -iname *auto*Revision*
/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision
/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision/.svn/props/autorevision.cpp.svn-work
/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision/.svn/text-base/autorevision.cpp.svn-base
/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision/.svn/prop-base/autorevision.cpp.svn-base
/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision/autorevision.cpp
/var/tmp/portage/codeblocks-svn-1.0/work/codeblocks-svn-1.0/src/tools/autorevision/autorevision.o
Title: Re: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 15
Post by: thomas on December 18, 2005, 10:53:25 pm
It is strange that so small a program causes so much grief and pain.

The autorevision only depends on std::string and std::ios and has only one source file. It should be possible to build this?  :shock:


noinst_PROGRAMS = auto_revision
auto_revision_SOURCES = autorevision.cpp
all-local: $(builddir)/auto_revision +int +wx +t $(top_srcdir) $(srcdir)/../../sdk/autorevision.h

I know very little about automake (and did not write the makefiles), but for all I know, this should be a 100% good one.

Line 1 tells it "build a program called auto_make, but don't install it anywhere (i.e. leave in the source directory)
Line 2 says "the list of sources to compile is: autorevision.cpp".
Line 3 launches the program which was previously built.

I would expect auto_revision to be found in the same directory as autorevision.cpp. Something that is completely beyond me is why there is the -o autorevision.o switch in the commandline -- where does that come from?
Title: Re: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 15
Post by: me22 on December 18, 2005, 11:16:14 pm
Well, purely for testing purposes, I tried the following:
Quote
noinst_PROGRAMS = auto_revision
auto_revision_SOURCES = autorevision.cpp

all-local:
        g++ autorevision.cpp -o auto_revision
        ./auto_revision +int +wx +t $(top_srcdir) $(srcdir)/../../sdk/autorevision.h
And lo and behold it got through the auto_revision part just fine, so I that the guess about the program not existing was right.  I also don't know enough about autotools to fix this properly, however :|

Afterwards, though, it gets stuck because it picks wx 2.4 instead of wx 2.6 ( I have both installed ) -- how do I fix that one?
Title: Re: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 15
Post by: mandrav on December 18, 2005, 11:37:36 pm
Afterwards, though, it gets stuck because it picks wx 2.4 instead of wx 2.6 ( I have both installed ) -- how do I fix that one?

There is a switch for configure --with-wx-config or something. ./configure --help should list these options. Just point it to the wx-config you want it to use.
Title: Re: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 15
Post by: thomas on December 18, 2005, 11:39:12 pm
I just looked for that one too.... but unluckily it does not show such an option in help.

But... reading configure.in showed this:
Quote
Please check that wx-config is in path, the directory
where wxWidgets libraries are installed (returned by
'wx-config --libs' or 'wx-config --static --libs' command)
is in LD_LIBRARY_PATH or equivalent variable and
wxWindows version is 2.4.2 or above.

So it apparently expects wx-config to be in the path.
Title: Re: Build Failure: "./auto_revision: Command not found" ( Linux, SVN revision 15
Post by: me22 on December 19, 2005, 12:08:50 am
I just looked for that one too.... but unluckily it does not show such an option in help.

It does, actually =)

Thanks for the help, I got it to build and start ( with the fixed configure line and the Makefile.am modification ).

I'll update the codeblocks-svn ebuild on bugs.gentoo.org, but someone with autotools expertise will have to fix the Makefile.am.