Monday, November 07, 2022

Re: [UPDATE] lang/erlang 25.1.2 was: lang/erlang: observer_backend missing in -main?

Bump.

On 11/3/22 18:01, Volker Schlecht wrote:
> The attached patch fixes the problem with observer_backend in
> lang/erlang/21 and lang/erlang/25. It also updates lang/erlang to the
> most recent release 25.1.2
>
> rebar3, elixir and rabbitmq build without problems on amd64.
>
> On 10/26/22 20:46, Volker Schlecht wrote:
>> Yes, the observer backend slipped through with my patch to update
>> erlang/21 to 21.3.8.24, I dragged it from there into 25.x.
>> Thanks for pointing it out!
>>
>> OK for Stuart's patch from my side.
>>
>> NB: I also found that alongside observer-backend, the following files
>> that used to be in -main moved to -wx:
>>
>> lib/erlang21/lib/${ERL_OBSERVER}/ebin/cdv_persistent_cb.beam
>> lib/erlang21/lib/${ERL_OBSERVER}/src/cdv_persistent_cb.erl
>>
>> Those include wx, though so that one wasn't a mistake:
>> https://github.com/erlang/otp/blob/2735ffc3d883afa727569fa5becba3d32e262ace/lib/observer/src/cdv_persistent_cb.erl#L24
>>
>> On 10/25/22 21:20, Stuart Henderson wrote:
>>> +CC maintainer
>>>
>>> On 2022/10/22 12:51, la ninpre wrote:
>>>> I was updating my Pleroma instance two days ago after upgrading to
>>>> OpenBSD
>>>> 7.2.
>>>> Pleroma is written in Elixir, so I updated both Elixir/Erlang to
>>>> corresponding latest versions.
>>>> Then I rebuilt all the dependencies (before they were built with/for
>>>> Erlang-21).
>>>> When I tried to start Pleroma, it failed. The error was:
>>>>
>>>> 12:42:37.892 [notice] Application runtime_tools exited:
>>>> :runtime_tools.start(:normal, []) returned an error: shutdown:
>>>> failed to start child: :ttb_autostart
>>>>      ** (EXIT) an exception was raised:
>>>>          ** (UndefinedFunctionError) function
>>>> :observer_backend.ttb_resume_trace/0 is undefined (module
>>>> :observer_backend is not available)
>>>>              (runtime_tools 1.19) :observer_backend.ttb_resume_trace()
>>>>              (runtime_tools 1.19) ttb_autostart.erl:47:
>>>> :ttb_autostart.init/1
>>>>              (stdlib 4.0.1) gen_server.erl:848: :gen_server.init_it/2
>>>>              (stdlib 4.0.1) gen_server.erl:811: :gen_server.init_it/6
>>>>              (stdlib 4.0.1) proc_lib.erl:240:
>>>> :proc_lib.init_p_do_apply/3
>>>>
>>>> Then I found that, indeed, observer_backend.beam is missing from
>>>> /usr/local/lib/erlang25/lib/runtime_tools-1.19.
>>>> I then checked the ports tree to see what is in PLIST for lang/erlang.
>>>> The file is missing there too, but it is available in -wx subpackage.
>>>>
>>>> So my question is, shouldn't observer_backend.beam (and hrl and erl in
>>>> respective directories too)
>>>> be included in -main subpackage too? I'm no expert in Erlang, but I
>>>> know
>>>> that Observer is a graphical
>>>> tool (so it's OK for it to be in -wx subpackage). But the
>>>> observer_backend
>>>> module doesn't contain
>>>> any graphics and can be used in non-graphical environment (such as in
>>>> Pleroma above).
>>>>
>>>> ---
>>>>
>>>> best regards,
>>>>
>>>> la-ninpre.
>>>
>>> I don't know Erlang at all, but if that is the case, then this diff
>>> should do the trick.
>>>
>>>
>>> Index: 21/Makefile
>>> ===================================================================
>>> RCS file: /cvs/ports/lang/erlang/21/Makefile,v
>>> retrieving revision 1.13
>>> diff -u -p -r1.13 Makefile
>>> --- 21/Makefile    1 Sep 2022 20:03:37 -0000    1.13
>>> +++ 21/Makefile    25 Oct 2022 19:18:05 -0000
>>> @@ -6,13 +6,14 @@ COMMENT-wx=    WxWidgets bindings for Erlan
>>>   PORTROACH=    limit:^OTP-21\.
>>>   V=        21.3.8.24
>>> -REVISION-main=    1
>>> -REVISION-wx=    0
>>>   DISTNAME=    otp_src_$V
>>>   PKGNAME=    erlang-$V
>>>   PKGNAME-main=    erlang-$V
>>>   PKGNAME-wx=    erlang-wx-$V
>>>   EPOCH=        0
>>> +
>>> +REVISION-main=    2
>>> +REVISION-wx=    1
>>>   VERSION_SPEC=    >=21v0,<22v0
>>>   PKGSPEC-main=    erlang-${VERSION_SPEC}
>>> Index: 21/pkg/PLIST-main
>>> ===================================================================
>>> RCS file: /cvs/ports/lang/erlang/21/pkg/PLIST-main,v
>>> retrieving revision 1.5
>>> diff -u -p -r1.5 PLIST-main
>>> --- 21/pkg/PLIST-main    11 Jul 2022 22:29:08 -0000    1.5
>>> +++ 21/pkg/PLIST-main    25 Oct 2022 19:18:05 -0000
>>> @@ -1,5 +1,6 @@
>>>   @option no-default-conflict
>>>   @pkgpath lang/erlang/21
>>> +@conflict erlang-wx->=21v0,<=21.3.8.24p0v0
>>>   bin/ct_run21
>>>   bin/dialyzer21
>>>   bin/epmd21
>>> @@ -2183,6 +2184,7 @@ lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/dyntrace.beam
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/erts_alloc_config.beam
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/msacc.beam
>>> +lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/observer_backend.beam
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/runtime_tools.app
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/runtime_tools.appup
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/runtime_tools.beam
>>> @@ -2214,6 +2216,7 @@ lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/examples/user-probe.d
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/examples/user-probe.systemtap
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/include/
>>> +lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/include/observer_backend.hrl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/priv/
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/priv/lib/
>>>   @so lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/priv/lib/dyntrace.so
>>> @@ -2225,6 +2228,7 @@ lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/dyntrace.erl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/erts_alloc_config.erl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/msacc.erl
>>> +lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/observer_backend.erl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/runtime_tools.erl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/runtime_tools_sup.erl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/scheduler.erl
>>> Index: 21/pkg/PLIST-wx
>>> ===================================================================
>>> RCS file: /cvs/ports/lang/erlang/21/pkg/PLIST-wx,v
>>> retrieving revision 1.4
>>> diff -u -p -r1.4 PLIST-wx
>>> --- 21/pkg/PLIST-wx    21 May 2022 12:01:42 -0000    1.4
>>> +++ 21/pkg/PLIST-wx    25 Oct 2022 19:18:05 -0000
>>> @@ -169,9 +169,6 @@ lib/${ERLANG_V}/lib/${ERL_OBSERVER}/src/
>>>   lib/${ERLANG_V}/lib/${ERL_OBSERVER}/src/observer_wx.erl
>>>   lib/${ERLANG_V}/lib/${ERL_OBSERVER}/src/ttb.erl
>>>   lib/${ERLANG_V}/lib/${ERL_OBSERVER}/src/ttb_et.erl
>>> -lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/observer_backend.beam
>>> -lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/include/observer_backend.hrl
>>> -lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/observer_backend.erl
>>>   lib/${ERLANG_V}/lib/${ERL_WX}/
>>>   lib/${ERLANG_V}/lib/${ERL_WX}/ebin/
>>>   lib/${ERLANG_V}/lib/${ERL_WX}/ebin/gl.beam
>>> Index: 25/Makefile
>>> ===================================================================
>>> RCS file: /cvs/ports/lang/erlang/25/Makefile,v
>>> retrieving revision 1.4
>>> diff -u -p -r1.4 Makefile
>>> --- 25/Makefile    6 Oct 2022 15:35:12 -0000    1.4
>>> +++ 25/Makefile    25 Oct 2022 19:18:05 -0000
>>> @@ -10,8 +10,8 @@ PKGNAME=    erlang-$V
>>>   PKGNAME-main=    erlang-$V
>>>   PKGNAME-wx=    erlang-wx-$V
>>> -#REVISION-main=
>>> -#REVISION-wx=
>>> +REVISION-main=    0
>>> +REVISION-wx=    0
>>>   VERSION_SPEC=    >=25,<26
>>>   PKGSPEC-main=    erlang-${VERSION_SPEC}
>>> Index: 25/pkg/PLIST-main
>>> ===================================================================
>>> RCS file: /cvs/ports/lang/erlang/25/pkg/PLIST-main,v
>>> retrieving revision 1.1
>>> diff -u -p -r1.1 PLIST-main
>>> --- 25/pkg/PLIST-main    12 Jul 2022 20:45:16 -0000    1.1
>>> +++ 25/pkg/PLIST-main    25 Oct 2022 19:18:05 -0000
>>> @@ -1,4 +1,5 @@
>>>   @option no-default-conflict
>>> +@conflict erlang-wx->=25,<=25.1.1
>>>   @option is-branch
>>>   bin/ct_run25
>>>   bin/dialyzer25
>>> @@ -1972,6 +1973,7 @@ lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/dyntrace.beam
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/erts_alloc_config.beam
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/msacc.beam
>>> +lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/observer_backend.beam
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/runtime_tools.app
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/runtime_tools.appup
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/runtime_tools.beam
>>> @@ -2003,6 +2005,7 @@ lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/examples/user-probe.d
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/examples/user-probe.systemtap
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/include/
>>> +lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/include/observer_backend.hrl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/priv/
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/priv/lib/
>>>   @so lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/priv/lib/dyntrace.so
>>> @@ -2014,6 +2017,7 @@ lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/dyntrace.erl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/erts_alloc_config.erl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/msacc.erl
>>> +lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/observer_backend.erl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/runtime_tools.erl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/runtime_tools_sup.erl
>>>   lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/scheduler.erl
>>> Index: 25/pkg/PLIST-wx
>>> ===================================================================
>>> RCS file: /cvs/ports/lang/erlang/25/pkg/PLIST-wx,v
>>> retrieving revision 1.1
>>> diff -u -p -r1.1 PLIST-wx
>>> --- 25/pkg/PLIST-wx    12 Jul 2022 20:45:16 -0000    1.1
>>> +++ 25/pkg/PLIST-wx    25 Oct 2022 19:18:05 -0000
>>> @@ -172,9 +172,6 @@ lib/${ERLANG_V}/lib/${ERL_OBSERVER}/src/
>>>   lib/${ERLANG_V}/lib/${ERL_OBSERVER}/src/observer_wx.erl
>>>   lib/${ERLANG_V}/lib/${ERL_OBSERVER}/src/ttb.erl
>>>   lib/${ERLANG_V}/lib/${ERL_OBSERVER}/src/ttb_et.erl
>>> -lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/ebin/observer_backend.beam
>>> -lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/include/observer_backend.hrl
>>> -lib/${ERLANG_V}/lib/${ERL_RUNTIME_TOOLS}/src/observer_backend.erl
>>>   lib/${ERLANG_V}/lib/${ERL_WX}/
>>>   lib/${ERLANG_V}/lib/${ERL_WX}/ebin/
>>>   lib/${ERLANG_V}/lib/${ERL_WX}/ebin/gl.beam
>>>

No comments:

Post a Comment