2

debian wheezy (raspbian armhf) and i'm struggling to compile gambas3 from source:

pi@raspberrypi ~/gambas-svn $ ./configure
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking build system type... armv6l-unknown-linux-gnueabihf
checking host system type... armv6l-unknown-linux-gnueabihf
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
=== configuring in main (/home/pi/gambas-svn/main)
configure: running /bin/bash ./configure --disable-option-checking '--prefix=/usr/local'  --cache-file=/dev/null --srcdir=.
./configure: line 2063: syntax error near unexpected token `main'
./configure: line 2063: `GB_INIT(main)'
configure: error: ./configure failed for main

I am trying to identify what application is responsible for interpreting the GB_INIT command? (in the hope that maybe a different version may fix things (long shot i know)).

Lee Tickett
  • 113
  • 9

1 Answers1

2

GB_INIT is a symbol from gambas and configure is running a compiler to check something about it with a short test program. You'll have to check what configure does in that test (it's just a long and ugly sh script) and you probably also have a config.log file with some debugging information.

Since you're compiling the latest subversion version, you maybe hit bug due to recent developments. You could try with older revisions to see if it is a regression, but I don't think that is likely.

The compiler complains about a syntax error, so the actual bug could be in autoconf or how it is used in the project (configure.ac/configure.in) to check for this symbol.

lynxlynxlynx
  • 3,373
  • the configure file is literally doing GB_INIT(main) and the error suggests GB_INIT doesn't like the parameter (main). But there are a whole bunch of other commands beginning GB_ and i'm a bit puzzled how bash knows how to interpret these commands? – Lee Tickett Jul 20 '12 at 22:04
  • It doesn't and it couldn't, even if it was also a sh function. You are right that this is the shell complaining, not the compiler (try it manually to get the same results), so it only adds more weight to my assumption that something is wrong with the configure script. If you haven't created it yourself, try running autogen.sh if it is present to regenerate it (if not, autoreconf may work). – lynxlynxlynx Jul 20 '12 at 22:23
  • i created it by running ./reconf-all if i enter GB_INIT(main) i get the same error. i tried GB_INIT() and it gave me a > prompt. i'm trying your autoreconf suggestion now. thanks – Lee Tickett Jul 20 '12 at 22:54
  • same issue after autoreconf :-/ – Lee Tickett Jul 20 '12 at 23:15
  • 1
    GB_INIT() is not giving you a prompt, bash just thinks the line is not terminated yet. I looked at the source and didn't see anything suspicious, but the shell should definitely not be running this code, it's for autoconf/automake. At this point I suggest you contact the developers of gambas. – lynxlynxlynx Jul 21 '12 at 10:53
  • thanks. i have and am making a little progress :) going back to the original question- how would i be able to tell i was still in bash? i wondered if i could open another ssh session and use ps or something to see which process the other ssh session was using? make sense? no? good :) – Lee Tickett Jul 22 '12 at 20:50
  • you could press ctrl-d to send and EOF and then you'll get the same error. – lynxlynxlynx Jul 22 '12 at 21:05