Euphoria Ticket #206: Debian source package requires interpreter

The debian source package should be able to be built with only gcc, but as reported in message:112486, it requires an interpreter:

~/rpm/SOURCES/euphoria-4.0/source# ./configure --without-euphoria --full --debug  
~/rpm/SOURCES/euphoria-4.0/source]# make  
eui -i ../include revget.ex -root /home/hostured/rpm/SOURCES/euphoria-4.0  

Details

Type: Bug Report Severity: Normal Category: Distribution
Assigned To: mattlewis Status: Fixed Reported Release:
Fixed in SVN #: 3466 View VCS: 3466 Milestone:

1. Comment by jimcbrown Sep 25, 2010

The failure to use eui to run revget.ex is ignored.

Most of the time, when this happens to me, the build continues fine onward and I don't have any problems. Because I have an old be_rev.c left over from a previous build.

The debian source package should probably contain a dummy be_rev.c to allow the compile to continue.

A cleaner way to deal with this might be to make a revget.sh and have revget.sh call eui revget.ex and if that fails or returns a non-zero error code then the shell script manually creates a dummy be_rev.c

The whole rev.e / be_rev.c / revget.ex system has gotten very complicated now. All this for something that CVS used to provide with just a single line in your source code!

2. Comment by mattlewis Sep 27, 2010

I think part of the issue is that the svn_rev target is symbolic, so it's getting run whether you want it or not. There is a generated version of be_rev.c in the source package, however, the makefile isn't set to ignore errors when it runs revget.ex.

The answer, I think, is to craft the svn_rev target a little better so that it respects the without-euphoria configuration option.

3. Comment by jimcbrown Sep 30, 2010

I hacked Makefile.gnu so the svn_rev target looked like this,

svn_rev : 
        -hi hi hi $(EXE) -i ../include revget.ex -root $(ROOTDIR) 

And ran make. I got this,

hi hi hi eui -i ../include revget.ex -root /home/jbrown105/other/feu6 
make[1]: hi: Command not found 
make[1]: [svn_rev] Error 127 (ignored) 
making eui 

So I don't think revget is the issue. I went ahead and make this change,

svn_rev : 
        -/bin/sh -c "$(EXE) -i ../include revget.ex -root $(ROOTDIR);true" 

So svn_rev will always report success to make. Now I get this,

eui -i /home/jbrown105/other/feu6/include coverage.ex /home/jbrown105/other/feu6/source/intobj 
make[1]: eui: Command not found 
make[1]: *** [/home/jbrown105/other/feu6/source/intobj/back/coverage.h] Error 127 
make[1]: Leaving directory `/home/jbrown105/other/feu6/source' 

I went ahead and hacked Makefile.gnu further,

$(BUILDDIR)/$(OBJDIR)/back/coverage.h : $(BUILDDIR)/$(OBJDIR)/main-.c $(BUILDDIR)/$(OBJDIR)/back 
ifeq "$(EUPHORIA)" "1" 
        $(EXE) -i $(TRUNKDIR)/include coverage.ex $(BUILDDIR)/$(OBJDIR) 
else 
        echo coverage.bin $(BUILDDIR)/$(OBJDIR) 
endif 

And now get this,

/bin/sh -c "eui -i ../include revget.ex -root /home/jbrown105/other/feu6;true" 
/bin/sh: eui: command not found 
echo coverage.bin /home/jbrown105/other/feu6/source/intobj 
coverage.bin /home/jbrown105/other/feu6/source/intobj 
make[1]: Leaving directory `/home/jbrown105/other/feu6/source' 

make /home/jbrown105/other/feu6/source/eui OBJDIR=intobj EBSD= CONFIG=Makefile.eu EDEBUG=1 EPROFILE= 
make[1]: Entering directory `/home/jbrown105/other/feu6/source' 

echo coverage.bin /home/jbrown105/other/feu6/source/intobj 
coverage.bin /home/jbrown105/other/feu6/source/intobj 
/bin/sh -c "eui -i ../include revget.ex -root /home/jbrown105/other/feu6;true" 
/bin/sh: eui: command not found 
making eui 

So it looks like coverage might be an issue for WITHOUT EUPHORIA, but that can be worked around. After these 2 changes, the build stops on a completely unrelated mess that I broke earlier in the week, so I think these should be enough to get a complete build working without eui.

4. Comment by mattlewis Oct 07, 2010

Excluded the svn_rev dependency if without-euphoria was used (or if no eubins, and no eui on the path). Also, fixed configure script to enforce without-euphoria, even if there is an interpreter in the path.

Search



Quick Links

User menu

Not signed in.

Misc Menu