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
Makefile error : target pattern contains no '%'. #747
Comments
Hi @Potomac, as I already mentioned in AUR comment (https://aur.archlinux.org/packages/tsduck/#comment-799467) please provide log how you tried to install it? I've just checked two approaches:
Also @lelegard is not AUR package maintainer which is completely separated from TSDuck project , I am , so I suggest to close this "bug" and continue on AUR. Best Regards, |
Hi, The Maybe, your issue could be the result of a scenario like this:
For any project (non only TSDuck), when getting a weird build issue like this one, the first thing to do should be |
I still have the error "target pattern contains no '%", options used in /etc/makepkg.conf : I tried also "git clone https://aur.archlinux.org/tsduck.git" and execute makepkg -si : I get exactly the same error during the "package()" step, I suspect a problem with package versions (for the dependencies), the PKGBUILD doesn't check the version of dependencies, it checks only if 4 packages are installed : pcsclite, curl, srt and jq, but not their versions. The archlinux package versions I use :
|
Hi, Not being an Arch expert, I only have an Arch VM (one of 7 distros VM) to test potential issues with TSDuck. This VM is basic: I installed it once and do the rolling upgrades from time to time. There are the minimum tools and libraries to build TSDuck. I haven't hacked the system tree in any way. I run this:
And it works. TSDuck 3.25 is built and installed.
There is zero reason that a dependency version produces an error in the I agree with @piotr-serafin-epam, there is something weird on your system that creates this issue. Noone can troubleshoot it without access to your system. You must provide more details, more logs, more tests. For a start, I would suggest to do this in an empty directory:
If you still have the problem, please post the |
I've got the same issues as Potomac trying to build tsdruck-3.25-2237 from AUR using
it does however build properly when manually cloning the repo and making, like lelegard suggested. |
What is the content of the For instance, my
|
absolutely!
|
Thanks for your I think I understand the error but not the root cause. Maybe you could analyze it on your system. First, we need to explain how the A
The first command
We need to fix two things here with the second
After the
In your case, if the directory path of the object file is duplicated, it may be because the original It never happen to me, on many flavors of Linux and macOS. Furthermore, it does not happen to you outside the AUR package installation. Since it does not happen to me or @piotr-serafin-epam within the AUR package installation either, it is difficult to understand why it happens on some systems only and in the context of the package installation only. |
I can also reproduce this. Why not use the
|
I think the root cause is that Both sub-makes then process the dep rules and race with each other. It can then happen that a dep file is written by cc, overwritten by another cc, then modified by sed and again modified by another sed, leading to a broken file. |
Yes, this is known. This is why it is recommended to build with parallelism and The only advice I could make is to build and install with the same options, specifically |
@heftig, good idea, thank you. Done. I do not know why I didn't see that before. The |
makepkg will read the configuration in /etc/makepkg.conf, the "-jX" option will be automatically added by makepkg if the option exists in /etc/makepkg.conf (MAKEFLAGS variable) |
Please try to add manually -j1 in PKGBUILD if it will work for you I will update PKGBUILD to avoid this race condition, this is also mentioned in archwiki:
|
The parallel installation is not a problem, it works well since both parts (tools & devel) work on distinct sets of files. The problem can be (still not fully convinced that this is the root cause) the parallel automatic regeneration of make include files (.dep). To avoid that, make sure that This shoud be fine on AUR for version 3.25. For next version 3.26, I have applied the following modifications:
|
@piotr-serafin-epam i can acknowledge that it works with the latest update to the |
Great, please upvote the package in AUR if possible to gain more attention:) |
@lelegard we can close this ticket. |
Bug description:
Can not compile last version of tduck (3.25-2237) when using a rolling release linux distrubition like archlinux,
I got an error during the last step "make install" :
/home/potomac/compilation/tsduck/tsduck/src/tsduck-3.25-2237/bin/release-x86_64-ultima-dbr/objs-utest/utestPESPacketizer.dep:1: *** target pattern contains no '%'. Stop.
full error message :
How to reproduce:
Use archlinux, try to install tsduck, I use this PKGBUILD :
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=tsduck
Expected behavior:
The compilation should run without errors
Errors and logs:
Environment:
Additional information:
The text was updated successfully, but these errors were encountered: