Interesting Brain..

Cygwin's not so much fringe as just not tested regularly due to lacking maintainership for that environment. I've fixed the cygwin build a couple times (seems to be every few years), but it doesn't get much attention in-between and the last time was a couple years ago.

As for not finding a Windows download, though -- http://brlcad.org then select Download on the menu, then select Windows, then download it? That should work.

It's much more useful to get the build working, though, as a cygwin build should give you a "complete port" given the environment compatibility.

That's for identifying the problem. The issue is undoubtedly the line endings in our version files and differences in behavior between how m4 is handling the first few lines in our configure.ac file:

<snippet>
define([MAJOR_VERSION], [patsubst(esyscmd([cat include/conf/MAJOR]), [
])])
define([MINOR_VERSION], [patsubst(esyscmd([cat include/conf/MINOR]), [
])])
define([PATCH_VERSION], [patsubst(esyscmd([cat include/conf/PATCH]), [
])])
define([CAD_VERSION], [patsubst ([MAJOR_VERSION.MINOR_VERSION.PATCH_VERSION], [
])])

AC_INIT(BRL-CAD, [CAD_VERSION], [http://brlcad.org], brlcad)
</snippet>

PACKAGE_VERSION is set from CAD_VERSION, which is getting set to a multiple-line string and autoconf being okay with that. Each of the three *_VERSION variables has an end-of-line in it and of course it shouldn't.

A quick fix to try would be to change the command to something like [cat include/conf/MAJOR | awk '{print $1}']. Might need to be $$1 -- I forget what m4 escapes are necessary there but the basic idea would be to just get the value and not take it all for granted. Another fix on the svn side might be to set the file line-ending style properties on those files. Right now they're unset, but if they were always only newline terminated, it might work. Only good way to test would be to edit the three files and remove the carriage returns, see if it still dies.

Cheers!
Sean



On Feb 28, 2009, at 4:14 PM, Brian Davis wrote:

Upon further research:

cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF

$PACKAGE_VERSION is a env variable that is likely made up of sub env variable MAJOR, MINOR.. ETC and in Cygwin env vars have trailing line ending

Thoughts?

Brain

On Sat, Feb 28, 2009 at 2:52 PM, Brian Davis <[email protected]> wrote: I was trying to build BRL-CAD in the Cygwin environment. I realize that this is not supported, but I could not find the "Windows Version" and I cannot find any docs on building windows version. If no one responds to this, don't worry my feelings won't be hurt. I realize that Cygwin is a fringe environment Anyway:

I have checked out trunk on windows and I believe there may be a character encoding issue in either svn or in the use of autotools.

running ./autogen.sh runs to completion successfully:

$ ./autogen.sh
Preparing the BRL-CAD build system...please wait

Found GNU Autoconf version 2.63
Found GNU Automake version 1.10.1
Found GNU Libtool version 1.3087 2008-08-02) 2.2.7a

Automatically preparing build ... done

The BRL-CAD build system is now prepared.  To build here, run:
  ./configure
  make

But then comes ./configure

$ ./configure
./configure: line 5: .14: command not found
./configure: line 6: .3: command not found
./configure: line 7: .: filename argument required
.: usage: . filename [arguments]

A look see (technical term) at the file shows the following beginning at line 4 and continuing to line eight.

-snip
# Generated by GNU Autoconf 2.63 for BRL-CAD 7
.14
.3
.
#
-snip

Clearly the version of BRL-CAD 7.14.3. is broken up amongst lines likely due to some character encoding or autotools issue.

Fixing this and rerunnning produces:
./configure: line 2483: .14: command not found
./configure: line 2484: .3: command not found
*****************************************************
*** Configuring BRL-CAD Release 7, Build 20090228 ***
*****************************************************
checking build system type... i686-pc-cygwin
... blah
... blah
... blah
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: in `/home/BrianDavis/projects/BRLCAD/source/trunk':
configure: error: C compiler cannot create executables
See `config.log' for more details.

So checking config log shows:

#define PACKAGE_VERSION "7
.14
.3
"
#define PACKAGE_STRING "BRL-CAD 7
.14
.3
"
#define PACKAGE_BUGREPORT "http://brlcad.org";
#define BRLCAD_ROOT "/usr/brlcad"
#define BRLCAD_DATA "/usr/brlcad/share/brlcad/7"
#define PACKAGE "brlcad"
#define VERSION "7
.14
.3
"

configure: exit 77

Where again the version is broken among multiple lines

Any ideas?

Well any way back to find and replace :-) Thankfully I have Eclipse +CDT

--
Brian





--
Brian


---------------------------------------------------------------------- -------- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/ XcvMzF8H_______________________________________________
BRL-CAD Developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
BRL-CAD Developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to