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

failure building aubio #2997

Open
lopippo opened this issue Jun 20, 2023 · 3 comments
Open

failure building aubio #2997

lopippo opened this issue Jun 20, 2023 · 3 comments

Comments

@lopippo
Copy link

lopippo commented Jun 20, 2023

Greetings,

I did a git clone today and the proceeded with

make MXE_TARGETS='x86_64-w64-mingw32.shared'

After a long while, the build fails with the following error:

[build] aubio x86_64-w64-mingw32.shared

Failed to build package aubio for target x86_64-w64-mingw32.shared!

File "/home/rusconi/devel/mxe/tmp-aubio-x86_64-w64-mingw32.shared/aubio-0.4.2.build_/waf-1.8.17/.waf3-1.8.17-daa67386b71d29ad7cda321d44eb497a/waflib/Utils.py", line 87, in readf
f=open(fname,m)
^^^^^^^^^^^^^
ValueError: invalid mode: 'rUb'
make[1]: *** [Makefile:901: build-only-aubio_x86_64-w64-mingw32.shared] Error 2
make[1]: Leaving directory '/home/rusconi/devel/mxe'

The full log is here:

https://paste.debian.net/1283663/

Since I am new to MXE, I wanted to check the file and put some debugging trace code. So I opened the Utils.py file from the path provided above. I put some print()-based debug statements in the relevant function and ran make again. But only to discover that the directory was overwritten anew probably from the pkg/waf-1.8.17.tar.bz2 archive.

So, I unpackacked that archive in a tmp dir, edited the file, saved it, make a new tar.bz2 archive, copied it to pkg/, computed the shasum for it and edited src/waf.mk accordingly. Then I ran make again. But that did not work.

So, my question is "how should one proceed with debugging software in this kind of situation?".

Thank you for your enlightening comments !
Sincerely,
Filippo

@lopippo
Copy link
Author

lopippo commented Jun 20, 2023

One comment on my post above:

I understand that the waf package is unpacked in real build time of the aubio package. What I cannot understand is where that waf package comes from. I have modified the waf package as detailed above, but upon building the aubio package it seems that the new waf package I made is not used...

@lopippo
Copy link
Author

lopippo commented Jun 20, 2023

Well well, editing my post...

I discovered that the aubio package itself ships a copy of the waf software.
So I modified that copy of the waf software (file Utils.py) in the aubio package and updated everything.
I also modified the Utils.py file in the waf package itself, in case. And I updated everything (that is, the checksum value in the src/.mk file and the bz2 archive itself in the pkg/ directory).

What I do not understand is how the .waf3-1.8.17-daa67386b71d29ad7cda321d44eb497a directory below is created:

mxe/tmp-aubio-x86_64-w64-mingw32.shared/aubio-0.4.2.build_/waf-1.8.17/.waf3-1.8.17-daa67386b71d29ad7cda321d44eb497a/waflib/Utils.py

Any help ?
Sincerely,
Filippo

@lopippo
Copy link
Author

lopippo commented Jun 23, 2023

After much research, I now understand where the .waf3-1.8.17-daa67386b71d29ad7cda321d44eb497a comes from: waf itself, which is a build system (which I did not know). Apparently, waf in the setup of aubio is downloaded from the net and unpacks itself in this hidden directory.

From there, I am stuck...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant