Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build fail on Erlang 21.0-rc0 #1636

Closed
c0b opened this issue Sep 26, 2017 · 4 comments
Closed

build fail on Erlang 21.0-rc0 #1636

c0b opened this issue Sep 26, 2017 · 4 comments
Labels
bug enhancement new behaviour or additional functionality

Comments

@c0b
Copy link

c0b commented Sep 26, 2017

looks like all are warnings, but the ./bootstrap didn't generate a new rebar3 binary; this Erlang is version 21.0-rc0 from [source-1b18005] a newly built one from today's latest erlang/otp@1b18005 ;

root@d04b66c90141:/usr/src/rebar3-src# HOME=$PWD DEBUG=1 ./bootstrap
./bootstrap:83: Warning: string:join/2: deprecated; use lists:join/2 instead
./bootstrap:213: Warning: string:join/2: deprecated; use lists:join/2 instead
./bootstrap:391: Warning: string:chr/2: deprecated; use string:find/2 instead
./bootstrap:392: Warning: string:sub_string/3: deprecated; use string:slice/3 instead
./bootstrap:393: Warning: string:sub_string/2: deprecated; use string:slice/3 instead
/usr/src/rebar3-src/_build/default/lib/getopt/src/getopt.erl:440: Warning: string:to_lower/1: deprecated; use string:lowercase/1 or string:casefold/1 instead
/usr/src/rebar3-src/_build/default/lib/getopt/src/getopt.erl:498: Warning: string:to_lower/1: deprecated; use string:lowercase/1 or string:casefold/1 instead
/usr/src/rebar3-src/_build/default/lib/getopt/src/getopt.erl:601: Warning: string:tokens/2: deprecated; use string:lexemes/2 instead
/usr/src/rebar3-src/_build/default/lib/getopt/src/getopt.erl:772: Warning: string:cspan/2: deprecated; use string:take/3 instead

root@d04b66c90141:/usr/src/rebar3-src# echo $?
1
root@d04b66c90141:/usr/src/rebar3-src# ls
CONTRIBUTING.md  README.md  _build	  bootstrap	 manpages	 priv	       rebar.config.sample  src
LICENSE		 THANKS     appveyor.yml  bootstrap.bat  pr2relnotes.sh  rebar.config  rebar.lock	    test
root@d04b66c90141:/usr/src/rebar3-src# erl +V
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 9.0.5
root@d04b66c90141:/usr/src/rebar3-src# erl
Erlang/OTP 21 [DEVELOPMENT] [erts-9.0.5] [source-1b18005] [64-bit] [smp:24:24] [ds:24:24:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V9.0.5  (abort with ^G)
1> uptime().
2 seconds
ok
2> 

it looks like i'm always the first one testing rebar3 with next version Erlang #1122 #1414

c0b added a commit to erlang/docker-erlang-otp that referenced this issue Sep 26, 2017
1. built with buildpack-deps:stretch
2. rebar3 still has a problem built with Erlang 21 erlang/rebar3#1636
@ferd
Copy link
Collaborator

ferd commented Sep 27, 2017

We're really going to be in a bad place for multi-version support with string handling. We're likely going to do one or more of:

  1. turn off compile-time warnings
  2. introduce a rebar_strings module with multiversion support or macros for calls
  3. do either runtime dispatch of functions (will really piss off dialyzer but work well for multi-version support)
  4. or do compile-time selection of functions (will need a copy of rebar3 per function)

@ferd ferd added bug enhancement new behaviour or additional functionality labels Sep 27, 2017
@c0b
Copy link
Author

c0b commented Oct 31, 2017

so is there a ./bootstrap command line switch or env set to turn off the warning to fail behavior?

@ferd
Copy link
Collaborator

ferd commented Oct 31, 2017

nope, you'd just have to change the line that asks to treat warnings as errors in the rebar.config file before compiling (see https://github.com/erlang/rebar3/blob/master/rebar.config#L34). I haven't had time to check this out at this point. Busy times.

@ferd
Copy link
Collaborator

ferd commented Nov 1, 2017

I started work on this, but multiple dependencies need updating. I've so far submitted PRs to (I'll update this comment:

After those, all issues appear to be internal to rebar3, which I have awaiting in a private branch once this is resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug enhancement new behaviour or additional functionality
Projects
None yet
Development

No branches or pull requests

2 participants