Closed mkammes closed 8 months ago
Since you have set things up for transcode using CUDA, could you please double check that you installed CUDA and NVIDIA drivers? Those packages are available from the NVIDIA website https://developer.nvidia.com/cuda-downloads?target_os=Linux https://www.nvidia.com/Download/index.aspx I am using a slightly older version of CUDA, but newer ones should also work.
Please also make sure you have run the setupsystem.sh and setuptranscode.sh scripts. And in the setuptranscode.sh script, please make sure you update the cudainclude and cudalib directories to where you did the CUDA installation.
On Wed, Nov 9, 2022 at 7:06 PM Michael K. @.***> wrote:
I go so far as
$ make $ make clean
Then the error below.
I'll also note that #Enable_Transode was already uncommented (no #).
BTW, this is running in an Ubuntu 22.04.1 LTS VM (VMware) on Windows 11.
g++ fillet.o crc.o tsdecode.o fgetopt.o mempool.o transvideo.o transaudio.o dataqueue.o udpsource.o tsreceive.o hlsmux.o mp4core.o background.o cJSON.o cJSON_Utils.o webdav.o esignal.o -L./ ./cbffmpeg/libavfilter/libavfilter.a ./cbffmpeg/libavformat/libavformat.a ./cbffmpeg/libswscale/libswscale.a ./cbffmpeg/libavcodec/libavcodec.a ./cbffmpeg/libavutil/libavutil.a ./cbffmpeg/libavresample/libavresample.a ./cbffmpeg/libswresample/libswresample.a ./cbfdkaac/.libs/libfdk-aac.a ./cblibcurl/./lib/.libs/libcurl.a -lz -ldl -lnuma -lcrypto -lssl /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppig.so /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppicc.so /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppc.so -lm -lpthread -o fillet /usr/bin/ld: cannot find /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppig.so: No such file or directory /usr/bin/ld: cannot find /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppicc.so: No such file or directory /usr/bin/ld: cannot find /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppc.so: No such file or directory collect2: error: ld returned 1 exit status make: *** [Makefile:51: fillet] Error 1
Thanks!
— Reply to this email directly, view it on GitHub https://github.com/cannonbeach/ott-packager/issues/36, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJ3YIOZEOYLIK67KH5U6FDWHRC7VANCNFSM6AAAAAAR4A243E . You are receiving this because you are subscribed to this thread.Message ID: @.***>
I'd actually prefer not to use CUDA. The VM is running on a NUC like mini PC with no Nvidia components.
Please check that in the Makefile, you have "ENABLE_GPU" commented out similar to the below.
ENABLE_TRANSCODE=1
And in the event you have NVIDIA hardware on the system, you need to disable the autodetect. Please update setuptranscode.sh:
lspci -nn | egrep -i '3d|display|vga' | grep 'NVIDIA'
nvidiacheck=''
After updating setuptranscode.sh, please run it again and then go through the make process.
Please let me know if you have any additional problems.
On Thu, Nov 10, 2022 at 9:48 AM Michael K. @.***> wrote:
I'd actually prefer not to use CUDA. The VM is running on a NUC like mini PC with no Nvidia components.
— Reply to this email directly, view it on GitHub https://github.com/cannonbeach/ott-packager/issues/36#issuecomment-1310494103, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJ3YIMAC46AMIU6PMRCEELWHUKONANCNFSM6AAAAAAR4A243E . You are receiving this because you commented.Message ID: @.***>
I appreciate your assistance.
After commenting out the ENABLE_GPU command in the MakeFile and running $ Make, I have another error message:
g++ fillet.o crc.o tsdecode.o fgetopt.o mempool.o transvideo.o transaudio.o dataqueue.o udpsource.o tsreceive.o hlsmux.o mp4core.o background.o cJSON.o cJSON_Utils.o webdav.o esignal.o -L./ ./cbffmpeg/libavfilter/libavfilter.a ./cbffmpeg/libavformat/libavformat.a ./cbffmpeg/libswscale/libswscale.a ./cbffmpeg/libavcodec/libavcodec.a ./cbffmpeg/libavutil/libavutil.a ./cbffmpeg/libavresample/libavresample.a ./cbffmpeg/libswresample/libswresample.a ./cbfdkaac/.libs/libfdk-aac.a ./cblibcurl/./lib/.libs/libcurl.a -lz -ldl -lnuma -lcrypto -lssl ./cbx264/libx264.a ./x265_3.0/build/linux/libx265.a -lm -lpthread -o fillet
/usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in function `x265::ThreadPool::create(int, int, unsigned long)':
threadpool.cpp:(.text+0x25f): undefined reference to `numa_available'
/usr/bin/ld: threadpool.cpp:(.text+0x369): undefined reference to `numa_allocate_nodemask'
/usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in function `x265::ThreadPool::setThreadNodeAffinity(void*)':
threadpool.cpp:(.text+0x5d9): undefined reference to `numa_available'
/usr/bin/ld: threadpool.cpp:(.text+0x604): undefined reference to `numa_run_on_node_mask'
/usr/bin/ld: threadpool.cpp:(.text+0x60c): undefined reference to `numa_set_interleave_mask'
/usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in function `x265::ThreadPool::getNumaNodeCount()':
threadpool.cpp:(.text+0x879): undefined reference to `numa_available'
/usr/bin/ld: threadpool.cpp:(.text+0x88b): undefined reference to `numa_max_node'
/usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in function `x265::ThreadPool::allocThreadPools(x265_param*, int&, bool)':
threadpool.cpp:(.text+0xa03): undefined reference to `numa_available'
/usr/bin/ld: threadpool.cpp:(.text+0x104b): undefined reference to `numa_allocate_cpumask'
/usr/bin/ld: threadpool.cpp:(.text+0x106c): undefined reference to `numa_bitmask_weight'
/usr/bin/ld: threadpool.cpp:(.text+0x1086): undefined reference to `numa_node_to_cpus'
/usr/bin/ld: threadpool.cpp:(.text+0x10b4): undefined reference to `numa_bitmask_free'
/usr/bin/ld: threadpool.cpp:(.text+0x1395): undefined reference to `numa_available'
/usr/bin/ld: threadpool.cpp:(.text+0x1400): undefined reference to `numa_allocate_cpumask'
/usr/bin/ld: threadpool.cpp:(.text+0x1414): undefined reference to `numa_bitmask_free'
/usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in function `x265::ThreadPool::~ThreadPool()':
threadpool.cpp:(.text+0x592): undefined reference to `numa_bitmask_free'
/usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in function `x265::ThreadPool::setThreadNodeAffinity(void*)':
threadpool.cpp:(.text+0x612): undefined reference to `numa_set_localalloc'
collect2: error: ld returned 1 exit status
make: *** [Makefile:51: fillet] Error 1
virtual-machine:~/ott-packager$
Thanks again!
Can you try moving the location of the "-lnuma" linking to after the libx265.a linking? See below
ifdef ENABLE_TRANSCODE ifneq ("$(wildcard ./cbfdkaac/.libs/libfdk-aac.a)","") FILE_EXISTS = 1 else FILE_EXISTS = 0 $(error Please make sure FDK-AAC is installed - missing ./cbfdkaac/.libs/libfdk-aac.a - please run setuptranscode.sh) endif
CFLAGS += -DENABLE_TRANSCODE
BASELIBS += ./cbffmpeg/libavfilter/libavfilter.a \
./cbffmpeg/libavformat/libavformat.a \
./cbffmpeg/libswscale/libswscale.a \
./cbffmpeg/libavcodec/libavcodec.a \
./cbffmpeg/libavutil/libavutil.a \
./cbffmpeg/libavresample/libavresample.a \
./cbffmpeg/libswresample/libswresample.a \
./cbfdkaac/.libs/libfdk-aac.a \
./cblibcurl/./lib/.libs/libcurl.a
INC += -I./cbfdkaac/libAACenc/include -I./cbfdkaac/libSYS/include
INC += -I./x265_3.0/build/linux
INC += -I./cblibcurl/include/curl
INC += -I./cbffmpeg
BASELIBS += -lz -ldl -lcrypto -lssl
endif
ifdef ENABLE_GPU CFLAGS += -DENABLE_GPU BASELIBS += /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppig.so /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppicc.so /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppc.so else ifdef ENABLE_TRANSCODE BASELIBS += ./cbx264/libx264.a \ ./x265_3.0/build/linux/libx265.a \ -lnuma endif endif
On Thu, Nov 10, 2022 at 11:18 AM Michael K. @.***> wrote:
I appreciate your assistance.
After commenting out the ENABLE_GPU command in the MakeFile and running $ Make, I have another error message:
g++ fillet.o crc.o tsdecode.o fgetopt.o mempool.o transvideo.o transaudio.o dataqueue.o udpsource.o tsreceive.o hlsmux.o mp4core.o background.o cJSON.o cJSON_Utils.o webdav.o esignal.o -L./ ./cbffmpeg/libavfilter/libavfilter.a ./cbffmpeg/libavformat/libavformat.a ./cbffmpeg/libswscale/libswscale.a ./cbffmpeg/libavcodec/libavcodec.a ./cbffmpeg/libavutil/libavutil.a ./cbffmpeg/libavresample/libavresample.a ./cbffmpeg/libswresample/libswresample.a ./cbfdkaac/.libs/libfdk-aac.a ./cblibcurl/./lib/.libs/libcurl.a -lz -ldl -lnuma -lcrypto -lssl ./cbx264/libx264.a ./x265_3.0/build/linux/libx265.a -lm -lpthread -o fillet /usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in function
x265::ThreadPool::create(int, int, unsigned long)': threadpool.cpp:(.text+0x25f): undefined reference to
numa_available' /usr/bin/ld: threadpool.cpp:(.text+0x369): undefined reference tonuma_allocate_nodemask' /usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in function
x265::ThreadPool::setThreadNodeAffinity(void)': threadpool.cpp:(.text+0x5d9): undefined reference tonuma_available' /usr/bin/ld: threadpool.cpp:(.text+0x604): undefined reference to
numa_run_on_node_mask' /usr/bin/ld: threadpool.cpp:(.text+0x60c): undefined reference tonuma_set_interleave_mask' /usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in function
x265::ThreadPool::getNumaNodeCount()': threadpool.cpp:(.text+0x879): undefined reference tonuma_available' /usr/bin/ld: threadpool.cpp:(.text+0x88b): undefined reference to
numa_max_node' /usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in function `x265::ThreadPool::allocThreadPools(x265_param, int&, bool)': threadpool.cpp:(.text+0xa03): undefined reference tonuma_available' /usr/bin/ld: threadpool.cpp:(.text+0x104b): undefined reference to
numa_allocate_cpumask' /usr/bin/ld: threadpool.cpp:(.text+0x106c): undefined reference tonuma_bitmask_weight' /usr/bin/ld: threadpool.cpp:(.text+0x1086): undefined reference to
numa_node_to_cpus' /usr/bin/ld: threadpool.cpp:(.text+0x10b4): undefined reference tonuma_bitmask_free' /usr/bin/ld: threadpool.cpp:(.text+0x1395): undefined reference to
numa_available' /usr/bin/ld: threadpool.cpp:(.text+0x1400): undefined reference tonuma_allocate_cpumask' /usr/bin/ld: threadpool.cpp:(.text+0x1414): undefined reference to
numa_bitmask_free' /usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in functionx265::ThreadPool::~ThreadPool()': threadpool.cpp:(.text+0x592): undefined reference to
numa_bitmask_free' /usr/bin/ld: ./x265_3.0/build/linux/libx265.a(threadpool.cpp.o): in functionx265::ThreadPool::setThreadNodeAffinity(void*)': threadpool.cpp:(.text+0x612): undefined reference to
numa_set_localalloc' collect2: error: ld returned 1 exit status make: *** [Makefile:51: fillet] Error 1 virtual-machine:~/ott-packager$Thanks again!
— Reply to this email directly, view it on GitHub https://github.com/cannonbeach/ott-packager/issues/36#issuecomment-1310626300, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJ3YIKE62LIQPEKTCNOM5DWHUU4ZANCNFSM6AAAAAAR4A243E . You are receiving this because you commented.Message ID: @.***>
That seems to work great!
npm and pm2 had to be installed to complete the build, but after that, things seem to be all good. I'll be able to test more in the upcoming days. Thanks for the support!
Sorry you've had so much trouble getting things up and running. I am hoping to clean up the build system a bit in the next code push, but I just haven't had the cycles due to other projects. Hopefully soon!
On Thu, Nov 10, 2022 at 1:16 PM Michael K. @.***> wrote:
That seems to work great!
npm and pm2 had to be installed to complete the build, but after that, things seem to be all good. I'll be able to test more in the upcoming days. Thanks for the support!
— Reply to this email directly, view it on GitHub https://github.com/cannonbeach/ott-packager/issues/36#issuecomment-1310780976, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJ3YIODXIDFTXGORIW7WPLWHVCY3ANCNFSM6AAAAAAR4A243E . You are receiving this because you commented.Message ID: @.***>
Oh, this was a piece of cake compared to other repos! I appreciate the work you've done on this.
I presume having more than 4 outputs is part of a larger update? Roku, for example, suggests 8!
Thanks again.
Hi Cannonbeach I had the same error. I also don't use nvidia (hard- and software!). After commenting the ENABLE_GPU out (#ENABLE_GPU=1), I get the following errors:
/usr/bin/ld: ./x265_3.0/build/linux/libx265.a(api.cpp.o): in function x265_api_get_169': api.cpp:(.text+0x289f): undefined reference to
dlopen'
/usr/bin/ld: api.cpp:(.text+0x28b3): undefined reference to dlsym' /usr/bin/ld: api.cpp:(.text+0x291d): undefined reference to
dlopen'
/usr/bin/ld: ./x265_3.0/build/linux/libx265.a(api.cpp.o): in function x265_api_query': api.cpp:(.text+0x3607): undefined reference to
dlopen'
/usr/bin/ld: api.cpp:(.text+0x361f): undefined reference to dlsym' /usr/bin/ld: api.cpp:(.text+0x369d): undefined reference to
dlopen'
/usr/bin/ld: ./cbx264/libx264.a(opencl-8.o): in function x264_8_opencl_load_library': opencl.c:(.text+0x41b): undefined reference to
dlopen'
/usr/bin/ld: opencl.c:(.text+0x437): undefined reference to dlsym' /usr/bin/ld: opencl.c:(.text+0x455): undefined reference to
dlsym'
/usr/bin/ld: opencl.c:(.text+0x473): undefined reference to dlsym' /usr/bin/ld: opencl.c:(.text+0x491): undefined reference to
dlsym'
/usr/bin/ld: opencl.c:(.text+0x4af): undefined reference to dlsym' /usr/bin/ld: ./cbx264/libx264.a(opencl-8.o):opencl.c:(.text+0x4cd): more undefined references to
dlsym' follow
/usr/bin/ld: ./cbx264/libx264.a(opencl-8.o): in function x264_8_opencl_load_library': opencl.c:(.text+0x795): undefined reference to
dlclose'
/usr/bin/ld: ./cbx264/libx264.a(opencl-8.o): in function x264_8_opencl_close_library': opencl.c:(.text+0x7c5): undefined reference to
dlclose'
/usr/bin/ld: ./cbx264/libx264.a(opencl-8.o): in function x264_8_opencl_lookahead_init': opencl.c:(.text+0x150a): undefined reference to
dlopen'
/usr/bin/ld: opencl.c:(.text+0x1525): undefined reference to dlsym' /usr/bin/ld: opencl.c:(.text+0x1539): undefined reference to
dlsym'
/usr/bin/ld: opencl.c:(.text+0x154b): undefined reference to dlsym' /usr/bin/ld: opencl.c:(.text+0x155f): undefined reference to
dlsym'
/usr/bin/ld: opencl.c:(.text+0x1649): undefined reference to dlclose' /usr/bin/ld: opencl.c:(.text+0x1a3b): undefined reference to
dlclose'
collect2: error: ld returned 1 exit status
Any Ideas? Thank you :) Patrick
Patrick, I am not able to reproduce the linking issue on my setup, but here are some suggestions:
In MakefileTranscode, Change BASELIBS line from BASELIBS += -lz -ldl -lcrypto -lssl to: BASELIBS += -lz -lcrypto -lssl -ldl
In setuptranscode.sh, add --disable-opencl to the x264 configure line So change: ./configure --enable-static --disable-shared --disable-avs --disable-swscale --disable-lavf --disable-ffms --disable-gpac --disable-lsmash To: ./configure --enable-static --disable-shared --disable-avs --disable-swscale --disable-lavf --disable-ffms --disable-gpac --disable-lsmash --disable-opencl
Make sure you rerun both the setuptranscode.sh script and run make -f MakefileTranscode clean before trying to build again. Let me know if either of those changes work. In the meantime, what specific Linux version and distribution are you using?
Whow, didn't expect an answer today. Thank you!
My Linux is Ubuntu 20.04.6 LTS
I have now less errors:
root@tc10:/opt/ott-packager# make -f MakefileTranscode
g++ fillet.o crc.o tsdecode.o fgetopt.o mempool.o transvideo.o transaudio.o dataqueue.o udpsource.o tsreceive.o hlsmux.o mp4core.o background.o cJSON.o cJSON_Utils.o webdav.o esignal.o -L./ ./cbffmpeg/libavfilter/libavfilter.a ./cbffmpeg/libavformat/libavformat.a ./cbffmpeg/libswscale/libswscale.a ./cbffmpeg/libavcodec/libavcodec.a ./cbffmpeg/libavutil/libavutil.a ./cbffmpeg/libavresample/libavresample.a ./cbffmpeg/libswresample/libswresample.a ./cbfdkaac/.libs/libfdk-aac.a ./cblibcurl/./lib/.libs/libcurl.a -lz -lcrypto -lssl -ldl ./cbx264/libx264.a ./x265_3.0/build/linux/libx265.a -lnuma -lm -lpthread -o fillet_transcode
/usr/bin/ld: ./x265_3.0/build/linux/libx265.a(api.cpp.o): in function x265_api_get_169': api.cpp:(.text+0x289f): undefined reference to
dlopen'
/usr/bin/ld: api.cpp:(.text+0x28b3): undefined reference to dlsym' /usr/bin/ld: api.cpp:(.text+0x291d): undefined reference to
dlopen'
/usr/bin/ld: ./x265_3.0/build/linux/libx265.a(api.cpp.o): in function x265_api_query': api.cpp:(.text+0x3607): undefined reference to
dlopen'
/usr/bin/ld: api.cpp:(.text+0x361f): undefined reference to dlsym' /usr/bin/ld: api.cpp:(.text+0x369d): undefined reference to
dlopen'
collect2: error: ld returned 1 exit status
make: *** [MakefileTranscode:50: fillet_transcode] Error 1
I have found the solution: I moved the "-ldl" part behind the "ifdef ENABLE-GPU"-Part:
BASELIBS += -lz -lcrypto -lssl
ifdef ENABLE_GPU CFLAGS += -DENABLE_GPU BASELIBS += /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppig.so /usr/local/cuda-11.1/targets/x86_64-linu> else ifdef ENABLE_TRANSCODE BASELIBS += ./cbx264/libx264.a \ ./x265_3.0/build/linux/libx265.a \ -lnuma endif endif
BASELIBS += -ldl
I will test now the rest of the installation process.
Thanks Patrick. I am trying to make sure this compiles with minimal effort, so thanks for letting me know. I’ll update the MakefileTranscode with your changes and get it pushed up this week. Let me know if you run into any other issues or have questions.
On Sun, Jan 7, 2024 at 11:33 AM PatrickFromLiechtenstein < @.***> wrote:
I have found the solution: I moved the "-ldl" part behind the "ifdef ENABLE-GPU"-Part:
BASELIBS += -lz -lcrypto -lssl
ifdef ENABLE_GPU CFLAGS += -DENABLE_GPU BASELIBS += /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnppig.so /usr/local/cuda-11.1/targets/x86_64-linu> else ifdef ENABLE_TRANSCODE BASELIBS += ./cbx264/libx264.a ./x265_3.0/build/linux/libx265.a -lnuma endif endif
BASELIBS += -ldl
I will test now the rest of the installation process.
— Reply to this email directly, view it on GitHub https://github.com/cannonbeach/ott-packager/issues/36#issuecomment-1880120377, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJ3YIJ6DVPHV23AWALTMIDYNLL6RAVCNFSM6AAAAAAR4A243GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBQGEZDAMZXG4 . You are receiving this because you commented.Message ID: @.***>
I go so far as
Then the error below.
I'll also note that #Enable_Transode was already uncommented (no #).
BTW, this is running in an Ubuntu 22.04.1 LTS VM (VMware) on Windows 11.
Thanks!