Closed barracuda156 closed 2 months ago
this is 3.1.7 release afaics use latest git
@ygrek Could you make a new release? I will test a build from the master locally today, but for updating it in MacPorts release is preferable.
ironing out remaining issues, more confirmation that it builds would help to build confidence to make new release :)
@ygrek From b9a1237bba932c3ecdbb3b1766b8bb93e9931174 commit, the build fails here:
:info:build /opt/local/bin/camlp4of build/bitstring.cma src/utils/bitstring/bitstring_persistent.cmo src/utils/bitstring/pa_bitstring.cmo -impl src/networks/bittorrent/bTUdpTracker.mlp -o src/networks/bittorrent/bTUdpTracker.ml
:info:build /opt/local/bin/camlp4of build/bitstring.cma src/utils/bitstring/bitstring_persistent.cmo src/utils/bitstring/pa_bitstring.cmo -impl src/networks/donkey/donkeyNodesDat.mlp -o src/networks/donkey/donkeyNodesDat.ml
:info:build ocamlc -w +a-3-4-6-27-29-32-35-37-41-44-45-48-60-70 -I src/utils/extlib -I src/utils/cdk -I src/utils/bitstring -I src/utils/lib -I src/utils/ocamlrss -I src/utils/xml-light -I src/utils/net -I tools -I src/daemon/common -I src/daemon/driver -I src/utils/mp3tagui -I src/config/unix -I src/networks/direct_connect -I src/networks/fasttrack -I src/networks/fileTP -I src/networks/bittorrent -I src/networks/donkey -I +camlp4 -I /opt/local/lib/ocaml/site-lib/num -c src/daemon/common/giftDecoding.ml
:info:build ocamlc -w +a-3-4-6-27-29-32-35-37-41-44-45-48-60-70 -I src/utils/extlib -I src/utils/cdk -I src/utils/bitstring -I src/utils/lib -I src/utils/ocamlrss -I src/utils/xml-light -I src/utils/net -I tools -I src/daemon/common -I src/daemon/driver -I src/utils/mp3tagui -I src/config/unix -I src/networks/direct_connect -I src/networks/fasttrack -I src/networks/fileTP -I src/networks/bittorrent -I src/networks/donkey -I +camlp4 -I /opt/local/lib/ocaml/site-lib/num -c src/networks/bittorrent/bTUdpTracker.ml
:info:build ocamlc -w +a-3-4-6-27-29-32-35-37-41-44-45-48-60-70 -I src/utils/extlib -I src/utils/cdk -I src/utils/bitstring -I src/utils/lib -I src/utils/ocamlrss -I src/utils/xml-light -I src/utils/net -I tools -I src/daemon/common -I src/daemon/driver -I src/utils/mp3tagui -I src/config/unix -I src/networks/direct_connect -I src/networks/fasttrack -I src/networks/fileTP -I src/networks/bittorrent -I src/networks/donkey -I +camlp4 -I /opt/local/lib/ocaml/site-lib/num -c src/networks/donkey/donkeyNodesDat.ml
:info:build File "src/networks/donkey/donkeyNodesDat.mlp", line 3, characters 5-18:
:info:build 3 | open CommonOptions
:info:build ^^^^^^^^^^^^^
:info:build Error: Unbound module CommonOptions
:info:build make: *** [src/networks/donkey/donkeyNodesDat.cmo] Error 2
:info:build make: *** Waiting for unfinished jobs....
There is also this, though it does not make the build err out:
:info:configure checking for native code lablgtk2... no
:info:configure Do you want this script to try to download and install lablgtk2
:info:configure LOCALLY in mldonkey directory ?
:info:configure ./configure: line 10301: read: read error: 0: Bad file descriptor
:info:configure configure: creating ./config.status
:info:configure config.status: creating Makefile.config
@ygrek The log from trying to build from the latest commit: main-3.log
more confirmation that it builds would help to build confidence to make new release :)
@ygrek some days ago mldonkey builded fine from git master since many months, thanks!
It would be cool if bytecode build also works. (Though at the moment I do not know if the failure is specific to bytecode target.)
@barracuda156 How and where are you calling configure
?
There is also this, though it does not make the build err out:
This should just skip building the GUI due to missing LABLGTK2.
:info:configure checking for native code lablgtk2... no :info:configure Do you want this script to try to download and install lablgtk2 :info:configure LOCALLY in mldonkey directory ? :info:configure ./configure: line 10301: read: read error: 0: Bad file descriptor :info:configure configure: creating ./config.status :info:configure config.status: creating Makefile.config
When LABLGTK2 is not installed, that error is generated while reading stdin for user input and fail if was previously redirected and not available (like when using nohup). https://github.com/ygrek/mldonkey/blob/b9a1237bba932c3ecdbb3b1766b8bb93e9931174/config/configure.in#L1267
For this you could try preinstalling these packages available for your MacOS release, but don't know if it will be enough since for ubuntu needs liblablgtk2-ocaml-dev
liblablgtk2-gl-ocaml-dev
and liblablgtk2-gnome-ocaml-dev
@ygrek lablgtk2
is available, but byte code one. It looks to me like a wrong syntax rather than a missing dep, though I can mistake here.
How and where are you calling
configure
The port does not do anything fancy: https://github.com/macports/macports-ports/blob/1403a20ac7e8a1b0ea144bf0da9ca8232cd5f400/net/mldonkey/Portfile (I have updated the version locally and fixed compiler choice, but otherwise it is the same).
So it will run ./configure
from extracted directory. That should be reflected in the build log, which I shared above.
@barracuda156 The syntax is correct. The error is due to stdin not being readable for the configure script. Adding the required dependencies would just skip the user input request avoiding this issue. But since lablgtk2 dev is not available for your system the only option is to download and build them.
I'm not familiar with your build chain, but since it's not interactive my guess is that you should set the --enable-batch
switch because while building the configure script won't be able to accept the user input expected. That way won't request any user input (always assume yes) and hopefully will download and build the required dependencies without asking.
That won't solve the other issue above though.
@barracuda156 @ygrek
File "src/networks/donkey/donkeyNodesDat.ml", line 3, characters 5-18:
3 | open CommonOptions
^^^^^^^^^^^^^
Error: Unbound module CommonOptions
Those errors disappear when telling make to use only one job (-j1). https://github.com/ygrek/mldonkey/issues/48
JFTR building the current master with a github workflow job and linux runner with 2 cores (several times) without any modification, never found any such issue though.
oh, i didn't notice it is make -j6
, thanks @lulol
indeed, see #48, parallel builds are not officially supported (and I am not going to work on it, better switch to dune eventually and get parallel builds for free)
@lulol @ygrek Thanks, I will try building on a single core.
Okay, from b9a1237bba932c3ecdbb3b1766b8bb93e9931174 and with parallel build disabled, compilation succeeds (with some warning along the way):
ocamlc -w +a-3-4-6-27-29-32-35-37-41-44-45-48-60-70 -a -o build/driver.cma src/utils/cdk/gdstubs.o -ccopt "-L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -I/opt/local/include" -cclib "-lcharset -lz -liconv" -cclib -lbz2 -ccopt "-D_THREAD_SAFE " src/utils/cdk/gd.cmo src/daemon/driver/driverGraphics_gd.cmo src/daemon/driver/driverGraphics.cmo src/daemon/driver/driverInteractive.cmo src/daemon/driver/driverCommands.cmo src/daemon/driver/driverControlers.cmo src/daemon/driver/driverInterface.cmo src/daemon/driver/driverMain.cmo
ocamlc -w +a-3-4-6-27-29-32-35-37-41-44-45-48-60-70 -linkall -o mlnet.byte \
-custom bigarray.cma unix.cma str.cma -I /opt/local/lib/ocaml/site-lib/num nums.cma -ccopt "-L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -I/opt/local/include" -cclib "-lcharset -lz -liconv" -cclib -lbz2 -ccopt "-D_THREAD_SAFE " \
\
-cclib "-lgd -lpng16 -ljpeg" -ccopt "" \
-cc 'ccache /opt/local/bin/g++-mp-14 -pipe -Os -arch ppc' -ccopt '-fno-omit-frame-pointer' \
-cclib -lmagic \
\
\
-I build build/extlib.cma build/cdk.cma build/bitstring.cma build/magic.cma build/common.cma build/client.cma build/core.cma build/driver.cma src/daemon/common/commonMain.cmo
make: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_net_mldonkey/mldonkey/work/mldonkey-b9a1237bba932c3ecdbb3b1766b8bb93e9931174'
I close the issue as completed. Thanks!