Euphoria Ticket #871: Build error

I did a clean checkout from HG. When I tried to build, eui or eub (I don't remember) would complain about eudir being already defined, it is defined in the eu.cfg generated inside the build directory and also passed by command-line by the Makefile.gnu. This happened only to the "external" tools like eudist, eudis, eutest, etc. defined inside Makefile.gnu.

I removed the command-line -eudir parameter in Makefile.gnu and eudist and the rest of the tools built correctly.

Hg export patch: http://openeuphoria.org/pastey/215.wc

Details

Type: Bug Report Severity: Normal Category: Build System
Assigned To: unknown Status: Invalid Reported Release: hg-default
Fixed in SVN #: View VCS: none Milestone:

1. Comment by mattlewis Apr 30, 2013

I'm not getting this. What eubin are you using? I used:

$ eui -v 
Euphoria Interpreter v4.1.0 development 
   64-bit Linux, Using System Memory 
   Revision Date: 2013-04-15 22:28:34, Id: 6112:ca9cd0a77eff 
 

2. Comment by jimcbrown Apr 30, 2013

Shouldn't the tools (like eudist) be built with the new binaries just built, as opposed to the eubins, anyways?

3. Comment by mattlewis Apr 30, 2013

They are built using $(TRANSLATE), so they are translated with whatever translated everything else.

4. Comment by jimcbrown Apr 30, 2013

Why?

5. Comment by mattlewis Apr 30, 2013

For one thing, using $(TRANSLATE) is the only way to cross compile these things. I suppose we could make things more complicated and go back to using the new translator, but I'm not sure it's worth the hassle.

Actually, Jim, I think you were the one who had that idea (I recall despairing over how to cross compile those). smile

6. Comment by jimcbrown Apr 30, 2013

Ah, yes, I recall that.

Hmm... I think what I had in mind was if HOST==TARGET, then use the newly built binaries, else use the eubins. But, that's not really KISS. getlost

7. Comment by gbonvehi Apr 30, 2013

I was compiling:

Euphoria Interpreter v4.1.0 development 
   32-bit Linux, Using System Memory 
   Revision Date: 2013-04-30 04:49:42, Id: 6115:f77899bf64e8 
As eubins I used
Euphoria Interpreter v4.1.0 development 
   32-bit Linux, Using System Memory 
   Revision Date: 2011-06-30 16:06:49, Id: 5038:3739d931e005 
I did what it seems to be the new standard way of building, clone hg, create eu-build directory, run ../euphoria/source/configure   make

8. Comment by jimcbrown Apr 30, 2013

I recall sometime back there was a bug with duplicate parameters in eu.cfg and those passed on the command line directly conflicting, but that was fixed.

I don't recall which commit fixed it, but looking at the scm log, my guess is that your eubin is missing one of (or maybe both):

http://scm.openeuphoria.org/hg/euphoria/rev/d693732aec93

http://scm.openeuphoria.org/hg/euphoria/rev/0b744294d825

9. Comment by jimcbrown Apr 30, 2013

Try doing the build with your newly built binaries as the eubins, and a reverted Makefile.gnu - it should work ok even though both the command line and eu.cfg specify eudir.

10. Comment by gbonvehi Apr 30, 2013

Indeed it work. I guess it's a matter of updating the eubins then. I can upload them somewhere if you want to. Just in case, libraries linked against (in case you've some special need):

 -> ~/lang/eu-build $ ldd eui  
	linux-gate.so.1 (0xb772e000) 
	libm.so.6 => /usr/lib/libm.so.6 (0xb76cb000) 
	libdl.so.2 => /usr/lib/libdl.so.2 (0xb76c6000) 
	libresolv.so.2 => /usr/lib/libresolv.so.2 (0xb76ae000) 
	libnsl.so.1 => /usr/lib/libnsl.so.1 (0xb7695000) 
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0xb767a000) 
	libc.so.6 => /usr/lib/libc.so.6 (0xb74ca000) 
	/lib/ld-linux.so.2 (0xb772f000) 
This is Arch running up to date.

11. Comment by gbonvehi Apr 30, 2013

I guess we can set this as invalid, it's just a matter of uploading some newer 32-bit linux eubins to the correct place.

Thanks,
Guillermo

Search



Quick Links

User menu

Not signed in.

Misc Menu