Git Product home page Git Product logo

xmlada's People

Contributors

adadoom3 avatar anisimkov avatar arnaudcharlet avatar asarhaddon avatar bobduff avatar bracke avatar briot avatar brobecke avatar cedriclandet avatar enzbang avatar fabien-chouteau avatar fedor-rybin avatar flingure avatar godunko avatar kokkonisd avatar lambourg avatar nikokrock avatar okellogg avatar ptroja avatar setton avatar sirikid avatar stcarrez avatar t-14 avatar turbogit avatar vcelier avatar vpodzime avatar vreboul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xmlada's Issues

xmlada build appears to be triggering gcc STORAGE_ERROR bug

Starting a week ago, bootstraping a new toolchain based on development sources started to fail. Building on linux (Ubuntu Focal LTS) with the general steps of 1) starting with the Ubuntu provided 9.3 compiler and an empty /usr/local directory 2) build and install a new gcc (c,c++,ada) from github:/gcc-mirror/gcc-mirror/gcc, 2) build/install gprbuild-bootstrap, and then 3) build xmlada, which fails with:

raised STORAGE_ERROR : stack overflow or erroneous memory access
gprbuild: *** compilation phase failed

compilation of schema-validators.adb failed

This behavior started with commit gcc-mirror/gcc@ae99b31. Pinning gcc source to commits prior appears to be a reasonable workaround at this time.

A few more details are available at steve-cs/gnat-builder#24

Has AdaCore seen it or can confirm or could use help reproducing?

There's no gpl-2018 branch

The 2018 products from Adacore seem to be out, but unlike previous years, there's no gpl-2018 branch, nor is there a tag or release that points to the equivalent of the 2018 GPL release.

What branch and tag represents xmlada GPL-2018?
Perhaps it should be tagged and/or branched to match previous years.

gprbuild could not locate gprlib

  • gcc (GCC) 6.1.1 20160501
  • GPRBUILD Pro 17.0w (20150615) (x86_64-pc-linux-gnu)

I configured my gprbuild bootstrap with --libexecdir=/usr/lib (see AdaCore/gprbuild#2 (comment)) but when building xmlada with the following:

./configure --prefix=/usr --enable-shared
make relocatable

I get these errors:

checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking whether gnat can build shared libs... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
configure: creating ./config.status
config.status: creating shared.gpr
config.status: creating Makefile
config.status: creating tests/dom/default.gpr
gprbuild -j0 -m -p -XLIBRARY_TYPE=relocatable -XBUILD=Production -XPROCESSORS=0 xmlada.gpr
gprbuild: could not locate library builder "/usr/libexec/gprbuild/gprlib"
Makefile:55: recipe for target 'relocatable' failed

While the file /usr/lib/gprbuild/gprlib does exist, gprbuild seems to be looking for it in /usr/libexec instead. I can't seem to find anything in the xmlada repo which relates to this search path, is it something gprbuild itself hardwires?

Shared Lib Support Test Fails on RHEL Platforms

Commit cc01d58 introduced in community-2018 release causes regression on RedHat and probably also Fedora systems:

rpmbuild usually applies a %configure macro during build process. This macro sets the build and the host platform and passes them as parameter to the configure script. But not the target platform. This is not an issue, as configure --help clearly states the following strategy:

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
  --target=TARGET   configure for building compilers for TARGET [HOST]

configure assumes the target platform to be the same as the host platform, if not explicitly specified.
Commit cc01d58 violates this strategy. If --host is passed but not --target $target_alias is NULL, i. e. different from $host_alias, configure tries to check gprbuild's shared library support for an unspecified target platform (NULL), which leads to following failure:

gprbuild: illegal option "--target=" on the command line

Check will always fail regardless if the host=target platform supports shared GNAT libraries or not.

Hardcoded out of date version number suffix in library filenames

When xmlada is built with the usual method of ./configure && make all install, all produced xmlada library files are suffixed with 18.0w - due to that version being hardcoded into configure script (& configure.in)

lrwxrwxrwx   1 cpigott domain users   53 Oct  7 15:42 libxmlada_dom.so -> ../lib/xmlada/xmlada_dom.relocatable/libxmlada_dom.so
lrwxrwxrwx   1 cpigott domain users   59 Oct  7 15:42 libxmlada_dom.so.18.0w -> ../lib/xmlada/xmlada_dom.relocatable/libxmlada_dom.so.18.0w
lrwxrwxrwx   1 cpigott domain users   65 Oct  7 15:42 libxmlada_input_sources.so -> ../lib/xmlada/xmlada_input.relocatable/libxmlada_input_sources.so
lrwxrwxrwx   1 cpigott domain users   71 Oct  7 15:42 libxmlada_input_sources.so.18.0w -> ../lib/xmlada/xmlada_input.relocatable/libxmlada_input_sources.so.18.0w
lrwxrwxrwx   1 cpigott domain users   53 Oct  7 15:42 libxmlada_sax.so -> ../lib/xmlada/xmlada_sax.relocatable/libxmlada_sax.so
lrwxrwxrwx   1 cpigott domain users   59 Oct  7 15:42 libxmlada_sax.so.18.0w -> ../lib/xmlada/xmlada_sax.relocatable/libxmlada_sax.so.18.0w
lrwxrwxrwx   1 cpigott domain users   59 Oct  7 15:42 libxmlada_schema.so -> ../lib/xmlada/xmlada_schema.relocatable/libxmlada_schema.so
lrwxrwxrwx   1 cpigott domain users   65 Oct  7 15:42 libxmlada_schema.so.18.0w -> ../lib/xmlada/xmlada_schema.relocatable/libxmlada_schema.so.18.0w
lrwxrwxrwx   1 cpigott domain users   61 Oct  7 15:42 libxmlada_unicode.so -> ../lib/xmlada/xmlada_unicode.relocatable/libxmlada_unicode.so
lrwxrwxrwx   1 cpigott domain users   67 Oct  7 15:42 libxmlada_unicode.so.18.0w -> ../lib/xmlada/xmlada_unicode.relocatable/libxmlada_unicode.so.18.0w

This is an issue when building xmlada manually, i.e. getting the release archive via alr alr get xmlada (my particular usecase is using it as a dependency of libadalang)

At the very least the version should be overridable, which it isn't as far as I can see (I might be missing something)

(This doesn't appear to be an issue with GNAT Pro distributions of xmlada, so they are presumably being built via other methods)

Releases needed

Could we please have tags/releases corresponding to CE releases? the last release here is from 2016, and doesn’t compile with CE 2019.
This means that nothing that uses xmlada can be put into an Alire crate.
(Actually, what it means is that any Alire crate must ignore the fact that there’s an xmlada crate and hope that the user’s system has a working xmlada installed)

ld cannot find -lgnat-6.1

  • gcc (GCC) 6.1.1 20160501
  • GPRBUILD Pro 17.0w (20150615) (x86_64-pc-linux-gnu)

During linking I get the following errors:

gprbuild -j4 -m -p -XLIBRARY_TYPE=relocatable -XBUILD=Production -XPROCESSORS=4 xmlada.gpr
gprlib xmlada_unicode.lexch
gcc -shared -o /home/earnest/build/store/ada-xmlada-git/src/xmlada/unicode/lib/relocatable/libxmlada_unicode.so.17.0w ... @/home/earnest/build/store/ada-xmlada-git/src/xmlada/unicode/obj/relocatable/GNAT-TEMP-000002.TMP
/usr/bin/ld: cannot find -lgnat-6.1
collect2: error: ld returned 1 exit status
gprlib: /usr/bin/gcc execution error
gprbuild: could not build library for project xmlada_unicode
Makefile:55: recipe for target 'relocatable' failed
make: *** [relocatable] Error 4

I'm not sure why xmlada_unicode is searching for a libgnat-6.1 when the GCC build of Ada only includes
/usr/lib/libgnat-6.so and /usr/lib/libgnat.so. More importantly, why is to even attempting to use a versioned library in the first place?

Is this caused by the following code in xmlada_unicode.gpr?

for Library_Version use "lib" & Project'Library_Name
  & Shared.So_Ext & "." & Shared.Version;

If this is not the case and a symlink for libgnat-6.1.so is supposed to exist it may be a packging bug with the distribution and I can report it there instead. (The curious issue here is that it wants 6.1 while gcc is at either 6 or 6.1.1.)

Unable to store special characters instrings

You cannot store symbols in strings.

I need the degree symbol.

Using Ada.Characters.Latin_1.Degree_Symbol causes the program to crash:
raised UNICODE.CES.INVALID_ENCODING : unicode-ces-utf8.adb:258

If you try and enter the HTML symbol definition, "°", then the ampersand gets quoted out.

DOM.Core.Elements.Set_Attribute memory leak

package DOM.Core.Elements is
...
   procedure Set_Attribute
     (Elem : Element; Name : DOM_String; Value : DOM_String);
   --  Set the value of a specific attribute. The attribute is created if it
   --  doesn't exist yet.
       ^^^^^^^^^^^^^^^^

But the procedure creates a new attribute every time, even if it already exists.

with DOM.Core.Documents;
with DOM.Core.Elements;

procedure XMLBug is
   Imp : DOM.Core.DOM_Implementation;
   Doc : DOM.Core.Document;
   Root : DOM.Core.Element;
begin
   Doc := DOM.Core.Create_Document (Imp);
   Root := DOM.Core.Documents.Create_Element (Doc, "data");
   loop
      DOM.Core.Elements.Set_Attribute (Root, "bug", "memory leak");
   end loop;
end XMLBug;

Inconsistent behaviour of Sax.Readers.Get_Index

When the namespace feature is enabled, both functions work as expected. When disabling it, the string-based function becomes unusable, because there is no equivalent string for 'No_Symbol' as far as I can see.

Similarly, the symbol-based function behaves differently: When using 'No_Symbol' as input, the function returns the expected index, but in combination with Get_URI the attribute is not found. I think it would be better to return 'No_Symbol' from Get_URI when the namespace feature is disabled, because then it is compatible with the enabled feature without having to change code.

Here is a small test as txt: main.txt

CData encoding chars when it should not

I need a cdata section which contains ecmascript.

It contains the greater & less than signs, <> amongst others.

When printing, these get mangled into their html id's, < >

This is wrong. the cdata section should not be encoding these or any other characters.

As is, this breaks the ecmascript.

If this encoding is required, it should be enabled via a switch, and should not happen as default.

Build failure

  • gprbuild GPRBUILD Pro 18.0w (19940713) (x86_64-pc-linux-gnu)
  • gcc 6.2.1 20160830 (GCC)
% make PROCESSORS="$(nproc)" relocatable
[...]
Build Libraries
   [gprlib]       xmlada_unicode.lexch

raised CONSTRAINT_ERROR : g-dyntab.adb:259 access check failed
gprbuild: could not build library for project xmlada_unicode
make: *** [Makefile:58: relocatable] Error 4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.