[M3devel] building packages from source from cvs -- odbc

Jay K jay.krell at cornell.edu
Thu May 17 08:01:19 CEST 2012


Good.
Wasn't the error message from configure obvious though?


Anyway:
  I think there's a "minor" incrementality bug here.   
  Incremental build isn't picking back up where it left off/failed.  

Try this:
   rm -rf /farhome/hendrik/cm3/cm3/m3-db/odbc/AMD64_LINUX   
   rm -rf /tmp/tmp_T7ITL/cm3-all-AMD64_LINUX-d5.9.0-20120516 
   ./make-dist.py  


OR:  
   rm -rf /farhome/hendrik/cm3/cm3/m3-db/odbc/AMD64_LINUX   
   Look at make-dist.py/pylib.py -- get it to point at the same output as before and then just:  
  ./make-dist.py 



That is -- I think every run of make-dist.py is clean to a new temporary timestamp-based location.
This is good and bad.


Note also, I think it is obvious, but I wrote make-dist.py to always package up everything possible
for the target platform. So it is up to you as the "builder" to have all the dependencies already installed.
It isn't great.
I don't believe there is a perfect option here.
Another release form we have yields a bunch of per-target packages.
I find that confusing -- too many.
My form yields just one largeish per-target package.
Over-size, monolithic, but simpler, less choices to confuse people.


Of course ultimately we don't want per-target stuff at all. :)
Or at least we want both "source" and "binary" distributions.


Still I am confused.
Don't people have binary distributions of programs with GUIs for Linux?
Like Komodo IDE, Komodo Edit, Acrobat Reader?


Maybe we should really have a java-generating backend...one binary distribution for all..and a better Android story?
I know, there is a funny tradeoff here. Modula-3 is kind of lower-level than Java.
You'd want such a backend/port to throw out our garbage collector..and heck..all unsafe code....
 (or generate C for those and use JNI or such...interesting..theoretically possible..unlikely to happen..)


 - Jay


> Date: Wed, 16 May 2012 22:35:33 -0400
> From: hendrik at topoi.pooq.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] building packages from source from cvs -- odbc
> 
> On Wed, May 16, 2012 at 09:49:03PM -0400, Hendrik Boom wrote:
> > On Thu, May 17, 2012 at 12:06:00AM +0000, Jay K wrote:
> > > 
> > >      > *** LIBRARY_PATH shouldn't contain the current directory when  
> > >      > *** building gcc. Please change the environment variable  
> > >      > *** and run configure again.  
> > >     hendrik at april:~/cm3/cm3/scripts/python$ echo $LIBRARY_PATH  
> > >   :/usr/local/Gambit-C/lib  
> > >  Please either clear the variable, or at least remove the leading :.The leading : makes there be an empty entry, which is interpreted as current directory, which is dangerous and fragile. I think.This is a local problem on your machine. Easily fixed.   It might be reasonable for us to clear it in m3cc/src/m3makefile.   - Jay 		 	   		  
> > 
> > Yes, emptying LIBRARY_PATH enabled uprade.py to complete successfully.
> > Thanks.  It would have taken me many ages to figure this out.
> > 
> > -- hendrik
> > 
> Now I'm onto ./make-dist.py
> 
> It fails in teh data base stuff.
> 
> First becaues it didn't have libodbc.  So I installed package unixodbc.
> But then:
> 
> == package /farhome/hendrik/cm3/cm3/m3-db/odbc ==
> 
>  +++ /tmp/tmp_T7ITL/cm3-all-AMD64_LINUX-d5.9.0-20120516/bin/cm3    -build -DROOT=/farhome/hendrik/cm3/cm3 +++
> --- building in AMD64_LINUX ---
> 
> ignoring ../src/m3overrides
> 
>  ==> /farhome/hendrik/cm3/cm3/m3-db/odbc done
> 
>  +++ /tmp/tmp_T7ITL/cm3-all-AMD64_LINUX-d5.9.0-20120516/bin/cm3  -ship -DROOT=/farhome/hendrik/cm3/cm3 +++
> --- shipping from AMD64_LINUX ---
> 
> . => /tmp/tmp_T7ITL/cm3-all-AMD64_LINUX-d5.9.0-20120516/pkg/odbc/AMD64_LINUX
>   .M3EXPORTS      
> . => /tmp/tmp_T7ITL/cm3-all-AMD64_LINUX-d5.9.0-20120516/lib
>   libm3odbc.so.5  "/farhome/hendrik/cm3/cm3/m3-db/odbc/AMD64_LINUX/.M3SHIP", line 4: quake runtime error: unable to copy "libm3odbc.so.5" to "/tmp/tmp_T7ITL/cm3-all-AMD64_LINUX-d5.9.0-20120516/lib/libm3odbc.so.5": errno=2
> 
> --procedure--  -line-  -file---
> install_file       --  <builtin>
>                     4  /farhome/hendrik/cm3/cm3/m3-db/odbc/AMD64_LINUX/.M3SHIP
> 
> Fatal Error: package build failed
>  *** execution of [<function _BuildGlobalFunction at 0x1a56de8>, <function _ShipFunction at 0x1a56c80>] failed ***
> hendrik at april:~/cm3/cm3/scripts/python$ 
> 
> 
> It doesn't seem to build libm3odbc.so.5
> 
> hendrik at april:~/cm3/cm3/m3-db/odbc$ ls AMD64_LINUX/
> libm3odbc.a    libm3odbc.so  SQLext.mo  SQLtypes.io
> libm3odbc.m3x  SQLext.io     SQL.io
> hendrik at april:~/cm3/cm3/m3-db/odbc$ 
> 
> There's nothing at all in /tmp/tmp_T7ITL/cm3-all-AMD64_LINUX-d5.9.0-20120516/pkg/odbc/AMD64_LINUX
> There are lots of files in /tmp/tmp_T7ITL/cm3-all-AMD64_LINUX-d5.9.0-20120516/lib,
> but nothing resembling libm3odbc>
> 
> -- hendrik
> 
> 
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20120517/e2bd275d/attachment-0002.html>


More information about the M3devel mailing list