Git Product home page Git Product logo

Comments (6)

oubiwann avatar oubiwann commented on July 3, 2024

@rvirding Is there anything I can do to help debug/fix this?

As a result of this issue, all of my non-17.0 builds on Travis CI are failing :-(

from lfe.

rvirding avatar rvirding commented on July 3, 2024

I will copy my comment in #erlang-lisp:

The problem with maps is twofold:
A number of calls to the bif is_map/1 type test and some some record definitions of maps for Core erlang. Calls to the maps module are no problem as these will just fail. If there was a decent way of testing which version of Erlang was being used there would be no problems as I could define macros. Maybe make should should first run an erlang to write something into a file which could then be used to define the right macros.

A solution is to maybe have separate branches, for a while anyway. So master and develop would support R15,16 while maps-dev would be for R17?

Saw your questions last night but net connection went down before I could reply. I run a wifi hotspot in my mobile out in the country so it is not that reliable.

from lfe.

oubiwann avatar oubiwann commented on July 3, 2024

Oh dear! Yeah, we never saw this comment on IRC yesterday. No worries, though :-) Thank goodness for other options when a network is misbehaving ;-)

Could you do a version check by calling out to erl -eval "io:format(\"~p~n\", [erlang:system_info(otp_release)]." in the Makefile?

Hrm, we could use the classic autoconfig approach: run ./config to generate a Makefile from a Makefile.in ...

If none of these work, I'm perfectly okay with just master and develop -- I can update all the docs and scripts to point to master; develop can be where all the breaking changes happen (which was probably your original intent anyway! See what happens when you do such a good job of making develop stable? ;-)).

If we go down this route, ultimately, backwards incompatible changes will make it into master, but we can alleviate a bad user experience with documentation. For example, we could have a section of the README dedicated to helping users figure out which version of LFE would work for them, which ones mapped to which versions of Erlang/OTP, and how to checkout from tags (e.g., git clone http://github.com/rvirding/lfe && cd lfe && git checkout tags/v0.8). Hrm, I guess I could also add a --use-version flag to lfetool to do something similar.

from lfe.

rvirding avatar rvirding commented on July 3, 2024

Added a commit cb26eda to the 'develop' branch which checks for existence of maps and creates a file "maps.mk" which is included by make. The file contains definition of a HAS_MAPS macro which is tested in the relevant files. I don't quite understand why make can load a file like this but it works. "make clean" removes file.

THIS ONLY WORKS WITH MAKE AND NOT WITH REBAR!

from lfe.

oubiwann avatar oubiwann commented on July 3, 2024

Hurray! This has fixed all the broken builds in TravisCI!

I didn't even have to update lfetool with a release. So magical :-)

from lfe.

oubiwann avatar oubiwann commented on July 3, 2024

Thanks again!

from lfe.

Related Issues (20)

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.