Closed hhkaos closed 3 years ago
@hhkaos I'm not able to replicate this bug. Followed your steps, but everything went fine.
Could you into the script file at line 220 and encapsulate the substitution expression in single quotes and check if that fixes the issue: https://github.com/obsproject/obs-studio/blob/9201390a46ae14ec3838fb43437bce2f74558363/CI/full-build-macos.sh#L220
Thanks @PatTheMav for the quick response!, I just did it and got this:
➜ CI git:(master) ✗ ./full-build-macos.sh
+ Fetching OBS tags...
[OBS-Studio] Installing Homebrew dependencies
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 3 taps (homebrew/core, homebrew/cask and homebrew/services).
==> New Formulae
aida-header libvnc muffet trec_eval
==> Updated Formulae
Updated 61 formulae.
==> Updated Casks
aio-creator-neo emby-server omniplan stoplight-studio
atlauncher eudic-es origami-studio sync
avast-secure-browser feishu purei-play teamviewer
blitz icollections qiyimedia teamviewer-quickjoin
chatwork itrash qlcolorcode texpad
clickcharts kui raw-photo-processor textexpander
deepl lark resolume-arena tor-browser
devonagent lbry roon valentina-studio
dropbox microsoft-azure-storage-explorer scrutiny wechatwork
elgiganten-jotta microsoft-office servo
Using akeru-inc/tap
Using jack
Using speexdsp
Using cmake
Using freetype
Using fdk-aac
Using cmocka
Using akeru-inc/tap/xcnotary
Homebrew Bundle complete! 8 Brewfile dependencies now installed.
[OBS-Studio] Setting up pre-built macOS OBS dependencies v2020-12-11
+ Download...
################################################################################################################################### 100.0%
+ Unpack...
[OBS-Studio] Setting up pre-built dependency QT v5.15.2
+ Download...
################################################################################################################################### 100.0%
+ Unpack...
[OBS-Studio] Building dependency CEF v3770
+ Download...
############################################################################################################################################################################## 100.0%
curl: (52) Empty reply from server
+ ERROR during build step: cef
I executed it a second time and got this:
➜ CI git:(master) ✗ ./full-build-macos.sh
+ Fetching OBS tags...
[OBS-Studio] Installing Homebrew dependencies
Using akeru-inc/tap
Using jack
Using speexdsp
Using cmake
Using freetype
Using fdk-aac
Using cmocka
Using akeru-inc/tap/xcnotary
Homebrew Bundle complete! 8 Brewfile dependencies now installed.
[OBS-Studio] Setting up pre-built macOS OBS dependencies v2020-12-11
+ Download...
############################################################################################################################################################################## 100.0%
+ Unpack...
[OBS-Studio] Setting up pre-built dependency QT v5.15.2
+ Download...
############################################################################################################################################################################## 100.0%
+ Unpack...
[OBS-Studio] Building dependency CEF v3770
+ Download...
############################################################################################################################################################################## 100.0%
+ Unpack...
+ Fix tests...
sed: -e expression #1, char 1: unknown command: `.'
+ ERROR during build step: cef
The script looks like this:
install_cef() {
hr "Building dependency CEF v${1}"
ensure_dir ${DEPS_BUILD_DIR}
step "Download..."
${CURLCMD} --progress-bar -L -C - -O https://obs-nightly.s3-us-west-2.amazonaws.com/cef_binary_${1}_macosx64.tar.bz2
step "Unpack..."
tar -xf ./cef_binary_${1}_macosx64.tar.bz2
cd ./cef_binary_${1}_macosx64
step "Fix tests..."
sed -i '.orig' '/add_subdirectory(tests\/ceftests)/d' ./CMakeLists.txt
##sed -i '.orig' s/\"10.9\"/\"${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}}\"/ ./cmake/cef_variables.cmake
sed -i '.orig' s/\"10.9\"/\"${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}}\"/ ./cmake/cef_variables.cmake
ensure_dir ./build
step "Run CMAKE..."
cmake \
-DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -Wno-deprecated-declarations"\
-DCMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++"\
-DCMAKE_OSX_DEPLOYMENT_TARGET=${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}} \
..
step "Build..."
make -j4
if [ ! -d libcef_dll ]; then mkdir libcef_dll; fi
}
One idea I have would be that this is not BSD sed
but GNU sed
.. what's the output of where sed
?
It's:
CI git:(master) ✗ where sed
/usr/local/opt/gnu-sed/libexec/gnubin/sed
/usr/bin/sed
Ha, of course. Hardcoding sed
to /usr/bin/sed
should fix this.
You are right
install_cef() {
hr "Building dependency CEF v${1}"
ensure_dir ${DEPS_BUILD_DIR}
step "Download..."
${CURLCMD} --progress-bar -L -C - -O https://obs-nightly.s3-us-west-2.amazonaws.com/cef_binary_${1}_macosx64.tar.bz2
step "Unpack..."
tar -xf ./cef_binary_${1}_macosx64.tar.bz2
cd ./cef_binary_${1}_macosx64
step "Fix tests..."
/usr/bin/sed -i '.orig' '/add_subdirectory(tests\/ceftests)/d' ./CMakeLists.txt
##sed -i '.orig' s/\"10.9\"/\"${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}}\"/ ./cmake/cef_variables.cmake
/usr/bin/sed -i '.orig' s/\"10.9\"/\"${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}}\"/ ./cmake/cef_variables.cmake
ensure_dir ./build
step "Run CMAKE..."
cmake \
-DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -Wno-deprecated-declarations"\
-DCMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++"\
-DCMAKE_OSX_DEPLOYMENT_TARGET=${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}} \
..
step "Build..."
make -j4
if [ ! -d libcef_dll ]; then mkdir libcef_dll; fi
}
It's building now !! :D thank!
Ah the last-second edit before I can write a confused response, well done sir!
hhehe, but I still have one error 😢 👍
CMake Error at /usr/local/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:14 (message):
The imported target "Qt5::Core" references the file
"/usr/local/.//mkspecs/macx-clang"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"/usr/local/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake"
but not all the files it references.
Call Stack (most recent call first):
/usr/local/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake:56 (_qt5_Core_check_file_exists)
/usr/local/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:227 (include)
/usr/local/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:93 (find_package)
/usr/local/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:93 (find_package)
CMakeLists.txt:258 (find_package)
-- Configuring incomplete, errors occurred!
See also "/Users/hhkaos/workspace/obs-studio/build/CMakeFiles/CMakeOutput.log"
I'm going to investigate...
I'll leave this open until I have opened the PR that should safeguard against this in the future.
hhehe, but I still have one error 😢 👍
CMake Error at /usr/local/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:14 (message): The imported target "Qt5::Core" references the file "/usr/local/.//mkspecs/macx-clang" but this file does not exist. Possible reasons include: * The file was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. * The installation package was faulty and contained "/usr/local/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake" but not all the files it references. Call Stack (most recent call first): /usr/local/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake:56 (_qt5_Core_check_file_exists) /usr/local/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:227 (include) /usr/local/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:93 (find_package) /usr/local/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:93 (find_package) CMakeLists.txt:258 (find_package) -- Configuring incomplete, errors occurred! See also "/Users/hhkaos/workspace/obs-studio/build/CMakeFiles/CMakeOutput.log"
I'm going to investigate...
Try brew unlink qt
before running the script, maybe that fixes it. Looks like cmake
finds Qt installed by Homebrew instead of the one provided by our own pre-built dependencies.
Ok, thanks! and yes, it helped, we are doing progress, but not there yet hehe:
So... I need to fix this Qt5Widgets
thing hehe
Please edit your post and attach the log as a text file to your post OR hide it with a collapsible section
Did you update to Xcode 12.3 and did you also update the command line tools already?
Also from your cmake command I cannot tell you if you provide a Qt directory as well as a dependency directory. Look at the build script itself to see what a "proper" cmake command looks like with pre-built dependencies. I'll probably edit the Wiki soon-ish because I cannot support custom build scenarios apart from using the script.
I have:
CI git:(master) ✗ /usr/bin/xcodebuild -version
Xcode 11.3.1
Build version 11C504
Let me update the Xcode. And what command line tools do you mean?, I think I haven't update them.
FYI: I just updated qt to the lastest version (not sure if that was mandatory)
➜ CI git:(master) ✗ brew install qt5
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
==> Updated Casks
workflowy
Error: qt 5.15.1 is already installed
To upgrade to 5.15.2, run `brew upgrade qt`
➜ CI git:(master) ✗ brew upgrade qt
...
After that I tried running just the cmake with -DCMAKE_PREFIX_PATH=/usr/local/opt/qt/ \
and it returned
But when I tried to run the whole script with the same change:
install_cef() {
hr "Building dependency CEF v${1}"
ensure_dir ${DEPS_BUILD_DIR}
step "Download..."
${CURLCMD} --progress-bar -L -C - -O https://obs-nightly.s3-us-west-2.amazonaws.com/cef_binary_${1}_macosx64.tar.bz2
step "Unpack..."
tar -xf ./cef_binary_${1}_macosx64.tar.bz2
cd ./cef_binary_${1}_macosx64
step "Fix tests..."
/usr/bin/sed -i '.orig' '/add_subdirectory(tests\/ceftests)/d' ./CMakeLists.txt
##sed -i '.orig' s/\"10.9\"/\"${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}}\"/ ./cmake/cef_variables.cmake
/usr/bin/sed -i '.orig' s/\"10.9\"/\"${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}}\"/ ./cmake/cef_variables.cmake
ensure_dir ./build
step "Run CMAKE..."
cmake \
-DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -Wno-deprecated-declarations"\
-DCMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++"\
-DCMAKE_OSX_DEPLOYMENT_TARGET=${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}} \
-DCMAKE_PREFIX_PATH=/usr/local/opt/qt/ \
..
step "Build..."
make -j4
if [ ! -d libcef_dll ]; then mkdir libcef_dll; fi
}
I got many error: Unsupported architecture
as you can see:
Xcode is still updating to 12.3 (using the AppStore), I keep looking...
I just finished updating xcode:
/usr/bin/xcodebuild -version
Xcode 12.3
Build version 12C33
And run ./full-build-macos.sh
again, but it still doesn't work:
I will continue tomorrow... ^_^'
Well I did a few things, but I'm still getting errors:
xcode-select --install
So now I'm running with this setup:
I have manually replaced install_cef
within CI/full-build-macos.sh
like this:
install_cef() {
hr "Building dependency CEF v${1}"
ensure_dir ${DEPS_BUILD_DIR}
step "Download..."
${CURLCMD} --progress-bar -L -C - -O https://obs-nightly.s3-us-west-2.amazonaws.com/cef_binary_${1}_macosx64.tar.bz2
step "Unpack..."
tar -xf ./cef_binary_${1}_macosx64.tar.bz2
cd ./cef_binary_${1}_macosx64
step "Fix tests..."
/usr/bin/sed -i '.orig' '/add_subdirectory(tests\/ceftests)/d' ./CMakeLists.txt
##sed -i '.orig' s/\"10.9\"/\"${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}}\"/ ./cmake/cef_variables.cmake
/usr/bin/sed -i '.orig' s/\"10.9\"/\"${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}}\"/ ./cmake/cef_variables.cmake
ensure_dir ./build
step "Run CMAKE..."
cmake \
-DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -Wno-deprecated-declarations"\
-DCMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++"\
-DCMAKE_OSX_DEPLOYMENT_TARGET=${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}} \
..
step "Build..."
make -j4
if [ ! -d libcef_dll ]; then mkdir libcef_dll; fi
}
And run the script again:
I'm not sure if this is related with this log message:
Ignoring CMAKE_OSX_SYSROOT value:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk
because the directory does not exist.
I have confirmed that directory does not exists:
➜ ~ ls /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
DriverKit20.2.sdk MacOSX.sdk MacOSX11.1.sdk
@PatTheMav do you know what else I can do?
Thanks!
Make sure to delete the build
directory in obs-build-dependencies/cef_binary_3770_macosx64
as I would expect that one to still keep remnants of the prior run that used the old platform SDK sources (which of course are gone by now).
Whenever you introduce changes to platform SDKs, dependency locations and all you need to delete the cmake configuration (or the whole build folder) and re-run cmake again to make sure it picks up the changes.
PS: I'm closing this issue for now as this doesn't seem like an actual bug for now - please visit our development channel on Discord for support to get your builds running. If you run into an actual bug, we can look into re-opening this issue again.
Thanks !! It worked! now it was finally built!
BTW: the obs-build-dependencies
was in the same level/folder of the repository 😀
Platform
Operating system and version: macOS Catalina v10.15.7 OBS Studio version: 26.1.0 (last commit #9201390a46ae14ec3838fb43437bce2f74558363)
Expected Behavior
Current Behavior
I'm trying to follow this instructions to build the code but when I try to build an error when building dependency CEF:
Steps to Reproduce
git clone --recursive https://github.com/obsproject/obs-studio.git
1.2. (Ensure we are using the same code):git reset --hard 9201390a46ae14ec3838fb43437bce2f74558363
cd obs-studio/CI
./full-build-macos.sh
Additional information
Before I got this error I had to run it several times and fix some things. So, I ended-up running also: