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

[aubio] Fix definitions issues when build with dependencies #17353

Merged
merged 14 commits into from
Jun 10, 2021

Conversation

PhoebeHui
Copy link
Contributor

Fixes #17342

Move these definitions to CMakeLists.txt instead, they are used as compiler options, not a cmake variable, so it doesn't work when use vcpkg_check_features functions.

    tools HAVE_SNDFILE
    tools HAVE_WAVWRITE
    tools HAVE_WAVREAD
    tools HAVE_LIBAV
    tools HAVE_SWRESAMPLE

@PhoebeHui PhoebeHui added category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. labels Apr 19, 2021
@PhoebeHui PhoebeHui marked this pull request as draft April 19, 2021 07:52
@autoantwort
Copy link
Contributor

Maybe mark the feature as windows only. It never worked before on linux and mac.

@PhoebeHui
Copy link
Contributor Author

@autoantwort, it due to the link errors from dependency.

Failures on linux and osx platform.

load_abc.cpp:(.text+0x2837): undefined reference to `operator new[](unsigned long)'
load_abc.cpp:(.text+0x2877): undefined reference to `operator new[](unsigned long)'
load_abc.cpp:(.text+0x2936): undefined reference to `operator delete[](void*)'
load_abc.cpp:(.text+0x293e): undefined reference to `operator delete[](void*)'
/mnt/vcpkg-ci/installed/x64-linux/lib/libx265.a(api.cpp.o): In function `x265_encoder_open_192':
api.cpp:(.text+0x24cd): undefined reference to `operator new(unsigned long)'
api.cpp:(.text+0x2758): undefined reference to `operator delete(void*)'
/mnt/vcpkg-ci/installed/x64-linux/lib/libx265.a(api.cpp.o): In function `x265_encoder_close':
oad_pat.cpp:(.text+0x6fed): undefined reference to `operator new(unsigned long)'
load_pat.cpp:(.text+0x741e): undefined reference to `operator new(unsigned long)'
/home/phoebe/Hui/vcpkg/installed/x64-linux/lib/libmodplug.a(load_ult.cpp.o): In function `CSoundFile::ReadUlt(unsigned char const*, unsigned int)':
load_ult.cpp:(.text+0xaf5): undefined reference to `operator new[](unsigned long)'
/home/phoebe/Hui/vcpkg/installed/x64-linux/lib/libmodplug.a(load_xm.cpp.o): In function `CSoundFile::ReadXM(unsigned char const*, unsigned int)':
load_xm.cpp:(.text+0x649): undefined reference to `operator new(unsigned long)'
load_xm.cpp:(.text+0x182a): undefined reference to `operator new[](unsigned long)'
load_xm.cpp:(.text+0x188e): undefined reference to `operator new[](unsigned long)'
/home/phoebe/Hui/vcpkg/installed/x64-linux/lib/libsnappy.a(snappy.cc.o): In function `snappy::internal::WorkingMemory::WorkingMemory(unsigned long)':
snappy.cc:(.text+0x122): undefined reference to `operator new(unsigned long)'
/home/phoebe/Hui/vcpkg/installed/x64-linux/lib/libsnappy.a(snappy.cc.o): 

@PhoebeHui PhoebeHui marked this pull request as ready for review April 23, 2021 00:27
@PhoebeHui PhoebeHui requested a review from JackBoosY April 23, 2021 00:27
@JackBoosY JackBoosY added the info:reviewed Pull Request changes follow basic guidelines label Apr 23, 2021
@strega-nil-ms
Copy link
Contributor

Marking requires:author-response for @ras0219's comments

@JackBoosY JackBoosY removed the info:reviewed Pull Request changes follow basic guidelines label Apr 30, 2021
@PhoebeHui
Copy link
Contributor Author

PR #17985 would address ffmpeg dependency issue, I would revert ffmpeg changes, and rerun this PR after that PR merged.

@PhoebeHui PhoebeHui added depends:different-pr This PR or Issue depends on a PR which has been filed and removed requires:author-response labels May 25, 2021
ports/aubio/vcpkg.json Outdated Show resolved Hide resolved
@mcmtroffaes
Copy link
Contributor

I'm so sorry, it seems my suggestion tripped CI.

I just reproduced the failure on x64-linux. Build works fine with ffmpeg[core,avcodec,avformat,swresample] but not with ffmpeg[all-nonfree]. It seems to be related to a missing linker flag for one of the dependencies. However, I've confirmed that #17985 fixes the linking error (at least here locally for me, after merging that branch into the branch of this PR).

@PhoebeHui
Copy link
Contributor Author

Thanks @mcmtroffaes for testing the changes, I also confirmed that PR #17985 fixes the failures, I will rerun the Ci testing after the PR merged.

@PhoebeHui PhoebeHui removed the depends:different-pr This PR or Issue depends on a PR which has been filed label Jun 10, 2021
@PhoebeHui
Copy link
Contributor Author

#17985 has been merged, and it passed in CI testing after rerun.

@PhoebeHui
Copy link
Contributor Author

@strega-nil-ms, could you help merge this PR?

@JackBoosY JackBoosY added the info:reviewed Pull Request changes follow basic guidelines label Jun 10, 2021
@strega-nil-ms
Copy link
Contributor

Cool, thanks y'all!

@strega-nil-ms strega-nil-ms merged commit 6982e51 into microsoft:master Jun 10, 2021
@PhoebeHui PhoebeHui deleted the dev/Phoebe/aubio branch June 17, 2021 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[aubio] broken build feature, it always build without the dependencies
6 participants