[xsd-users] XSD compile problems

Boris Kolpackov boris at codesynthesis.com
Tue Jun 10 08:25:58 EDT 2008


Hi Pontus,

Pontus Åström <Pontus.Astrom at csr.com> writes:

> First, congrats to an excellent package. I have been using it for a 
> while in my projects with ease. 

Thanks, I am glad you found it useful.


> 1. It is quite complicated to automate the process due to the interactive
> nature of the configuration. Nevertheless it is possible with tools like 
> ezpect. 

Yes, we are aware of that and plan to provide support for auto-configuration.


> 2. The makefiles are nonstandard. It would simplify for end users if it 
> was more standards conformant and utilized for instance autotools or 
> similar.

This is a tricky issue. I agree it would have been easier for end-users
if we used autotools. However, it would have also slowed the development
of XSD immensely. I am not sure what would people generally prefer: a more
functional product or an easier to use build system. I wrote a blog post
not long ago about this:

http://www.codesynthesis.com/~boris/blog/2008/03/24/user-or-development-oriented-build-system/

I also must add that the build system we use can and hopefully will be 
improved so that it is more end-user-friendly on commonly used platforms
(e.g., GNU/Linux).


> 3. No distclean option exists so to preform a clean build on has to do 
> 'make clean; find . -name "*-dynamic.make" -type f -delete'. This is a 
> bit awkward.

The disfigure target does this, e.g., 'make disfigure'. Perhaps we
should alias it to distclean.


> 4. During compile the actual compile commands are not shown. This makes
> it difficult to debug errors during compilations. It would be good if
> the exact commands executed are shown.

You can add verbose=1 to the make command line to see them, e.g., 
'make verbose=1'.


> 1. Compiling libcult with gcc 4.2.1 and binutils 2.18 results in 
> segmentation fault in ld:
> 
> [...]
> 
> My question is if there are known issues with this combination of
> compiler and binutils packages. For instance the combo gcc 4.1.1
> with binutils 2.18 compiles libcult with no problems but that
> version of gcc is pretty poor and I rather not use it.

This is probably a binutils issue which you may want to report to
the binutils developers. I am using 2.17 and can build XSD with all
versions of gcc between 3.4-4.2 inclusive. I also think building it
with 4.1.1 should be fine (at least I haven't heard anybody having
problems with this combination).


> 2. When compiling libxsd-frontend I get linking errors. Below is
> the first such linking error message I get. I have selected to
> link against the installed version of boost. I have tried to
> add the option -L/path/too/boost/install/lib under 'extra C++
> linker options' in the configuration bit this does not work.
> I wonder if there is anything else I can try to solve the compile
> error?

If it is installed into one of the system-default locations (e.g.,
/usr or /usr/local) then everything should work without any extra
-L paths. Also, if you get link errors and not "library not found"
type of errors then that means the library was found ok and there
is some other issue. Which version of boost are you using? You may
want to try to build something like 1.33.1 (that one still has a
more or less sane build system) and see if that helps.

Boris




More information about the xsd-users mailing list