I am running Ubuntu Studio 22.04 as no Repository candidate, I have d made sure all dependencies met, followed the compile from source instructions on IDJC site definitely have jack installed, but it fails on "Configure error required function not detected
~/Downloads/idjc-0.9.8$ ./configure CFLAGS="-O2" --prefix=/usr --libdir=/usr/lib64
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for a Python interpreter with version >= 3... python3
checking for python3... /usr/bin/python3
checking for python3 version... 3.10
checking for python3 platform... linux
checking for GNU default python3 prefix... ${prefix}
checking for GNU default python3 exec_prefix... ${exec_prefix}
checking for python3 script directory (pythondir)... ${PYTHON_PREFIX}/local/lib/python3.10/dist-packages
checking for python3 extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/local/lib/python3.10/dist-packages
checking how to print strings... printf
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for file... file
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by GCC... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking how to run the C preprocessor... gcc -E
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for LIBJACK... yes
checking for jack_session_reply in -ljack... yes
checking for jack_session_event_free in -ljack... yes
checking for LIBOGG... yes
checking for LIBVORBIS... yes
checking for LIBVORBISENC... yes
checking for LIBSAMPLERATE... yes
checking for LIBSNDFILE... yes
checking for GLIB... yes
checking for EBUR128... yes
checking for git... yes
checking for git repository in source tree root... fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
./configure: line 16626: test: =: unary operator expected
no
checking for pw-jack... no
checking for jackd... yes
checking for LIBAVCODEC... yes
checking for avcodec_send_frame in -lavcodec... yes
checking for avcodec_receive_frame in -lavcodec... yes
checking for avcodec_send_packet in -lavcodec... yes
checking for avcodec_receive_packet in -lavcodec... yes
checking for LIBAVFORMAT... yes
checking for LIBAVUTIL... yes
checking for av_frame_alloc in -lavutil... yes
checking for av_frame_unref in -lavutil... yes
checking for av_packet_unref in -lavcodec... yes
checking for LIBSWRESAMPLE... yes
checking for av_opt_set_sample_fmt in -lavutil... yes
checking for LIBSPEEX... yes
checking for mutagen... yes
checking for LIBFLAC... yes
checking for FLAC__stream_decoder_init_ogg_stream in -lFLAC... yes
checking for mpg123.h... yes
checking for libavutil/channel_layout.h... yes
checking for mpg123_param2 in -lmpg123... yes
checking for MPG123... yes
checking for lame/lame.h... yes
checking for lame_init in -lmp3lame -lm... yes
checking for TWOLAME... yes
checking for ogg_stream_flush_fill in -logg... yes
checking for OPUS... yes
checking for pthread_create in -lpthread... yes
checking for sqrt... no
checking for sqrt, pow in -lm... yes
checking for pow... no
checking for sqrt, pow in -lm... (cached) yes
checking for fcntl.h... yes
checking for jack/jack.h... yes
checking for pthread.h... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for pid_t... yes
checking for size_t... yes
checking for GNU libc compatible malloc... yes
checking for memset... yes
checking for strchr... yes
checking for getline... yes
checking for strndup... yes
checking for canonicalize_file_name... yes
checking for SHOUTIDJC... yes
checking for shoutidjc/shout.h... yes
checking for shout_set_content_format in -lshout-idjc... no
configure: error: required function not detected
rob@rob-ms7c37:~/Downloads/idjc-0.9.8$
Is there a simple way round this?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Try without the --libdir=/usr/lib64 You normally do not need that on Debian based distros.
(Also do the same for libshout-idjc, rerun ./configure without the --libdir. And don't forget to run make and make install again after doing the configure)
Last edit: Brian Millham 2024-03-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sent: Thursday, March 14, 2024 at 2:46 AM From: "Brian Millham" <bmillham@users.sourceforge.net> To: "[idjc:discussion] " <458835@discussion.idjc.p.re.sourceforge.net> Subject: [idjc:discussion] Re: Compiling IDJC
Try without the --libdir=/usr/lib64 You normally do not need that on Debian based distros.
(Also do the same for libshout-idjc, rerun ./configure without the --libdir)
is the version libshout-idjc-2.4.6 OK from GitHub?
Sent: Thursday, March 14, 2024 at 9:09 AM From: "Stephen Fairchild" <s-fairchild@users.sourceforge.net> To: "[idjc:discussion] " <458835@discussion.idjc.p.re.sourceforge.net> Subject: [idjc:discussion] Compiling IDJC
The libshout-idjc from the repository is too old. You will need to build the latest libshout-idjc from source before reattempting the idjc build.
I have for a while perceived the presence of old libshout-idjc binaries as a problem. To counter this it seems that IDJC could be made to use regular libshout at a cost of not being able to stream the now rarely used AAC and MP2 formats. At any rate it would help get IDJC back into package managers since there would be no need to persuade the concurrent adoption of a support library.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes that would be good if it could, AAC and MP2 are very rarely encountered now
Sent: Saturday, March 23, 2024 at 3:53 PM From: "Stephen Fairchild" <s-fairchild@users.sourceforge.net> To: "[idjc:discussion] " <458835@discussion.idjc.p.re.sourceforge.net> Subject: [idjc:discussion] Compiling IDJC
I have for a while perceived the presence of old libshout-idjc binaries as a problem. To counter this it seems that IDJC could be made to use regular libshout at a cost of not being able to stream the now rarely used AAC and MP2 formats. At any rate it would help get IDJC back into package managers since there would be no need to persuade the concurrent adoption of a support library.
I never use AAC or MP2, so if you switched to the generic libshout it would not bother me. Maybe allow the use of libshout-idjc as an option for people who do use those formats?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
First thing, the libshout3-dev in the Ubuntu repository is to old, it's 2.4.5. shout_set_metadata_utf8 is missing. I got the source for libshout-2.4.6, built and installed and was able to get ./configure to run and then IDJC to built. So that problem solved.
However, when I run IDJC now I just get 'something bad happened' after selecting a profile.
Re-installing libshout-idjc and I was able to get IDJC working again.
(EDIT: I checked in a basic Debian 12 install, and libshout is 2.4.6, so it's the Ubuntu repository that has the older version)
Last edit: Brian Millham 2024-03-24
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am running Ubuntu Studio 22.04 as no Repository candidate, I have d made sure all dependencies met, followed the compile from source instructions on IDJC site definitely have jack installed, but it fails on "Configure error required function not detected
~/Downloads/idjc-0.9.8$ ./configure CFLAGS="-O2" --prefix=/usr --libdir=/usr/lib64
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for a Python interpreter with version >= 3... python3
checking for python3... /usr/bin/python3
checking for python3 version... 3.10
checking for python3 platform... linux
checking for GNU default python3 prefix... ${prefix}
checking for GNU default python3 exec_prefix... ${exec_prefix}
checking for python3 script directory (pythondir)... ${PYTHON_PREFIX}/local/lib/python3.10/dist-packages
checking for python3 extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/local/lib/python3.10/dist-packages
checking how to print strings... printf
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for file... file
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by GCC... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking how to run the C preprocessor... gcc -E
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for LIBJACK... yes
checking for jack_session_reply in -ljack... yes
checking for jack_session_event_free in -ljack... yes
checking for LIBOGG... yes
checking for LIBVORBIS... yes
checking for LIBVORBISENC... yes
checking for LIBSAMPLERATE... yes
checking for LIBSNDFILE... yes
checking for GLIB... yes
checking for EBUR128... yes
checking for git... yes
checking for git repository in source tree root... fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
./configure: line 16626: test: =: unary operator expected
no
checking for pw-jack... no
checking for jackd... yes
checking for LIBAVCODEC... yes
checking for avcodec_send_frame in -lavcodec... yes
checking for avcodec_receive_frame in -lavcodec... yes
checking for avcodec_send_packet in -lavcodec... yes
checking for avcodec_receive_packet in -lavcodec... yes
checking for LIBAVFORMAT... yes
checking for LIBAVUTIL... yes
checking for av_frame_alloc in -lavutil... yes
checking for av_frame_unref in -lavutil... yes
checking for av_packet_unref in -lavcodec... yes
checking for LIBSWRESAMPLE... yes
checking for av_opt_set_sample_fmt in -lavutil... yes
checking for LIBSPEEX... yes
checking for mutagen... yes
checking for LIBFLAC... yes
checking for FLAC__stream_decoder_init_ogg_stream in -lFLAC... yes
checking for mpg123.h... yes
checking for libavutil/channel_layout.h... yes
checking for mpg123_param2 in -lmpg123... yes
checking for MPG123... yes
checking for lame/lame.h... yes
checking for lame_init in -lmp3lame -lm... yes
checking for TWOLAME... yes
checking for ogg_stream_flush_fill in -logg... yes
checking for OPUS... yes
checking for pthread_create in -lpthread... yes
checking for sqrt... no
checking for sqrt, pow in -lm... yes
checking for pow... no
checking for sqrt, pow in -lm... (cached) yes
checking for fcntl.h... yes
checking for jack/jack.h... yes
checking for pthread.h... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for pid_t... yes
checking for size_t... yes
checking for GNU libc compatible malloc... yes
checking for memset... yes
checking for strchr... yes
checking for getline... yes
checking for strndup... yes
checking for canonicalize_file_name... yes
checking for SHOUTIDJC... yes
checking for shoutidjc/shout.h... yes
checking for shout_set_content_format in -lshout-idjc... no
configure: error: required function not detected
rob@rob-ms7c37:~/Downloads/idjc-0.9.8$
Is there a simple way round this?
Try without the --libdir=/usr/lib64 You normally do not need that on Debian based distros.
(Also do the same for libshout-idjc, rerun ./configure without the --libdir. And don't forget to run make and make install again after doing the configure)
Last edit: Brian Millham 2024-03-14
From: "Brian Millham" <bmillham@users.sourceforge.net>
To: "[idjc:discussion] " <458835@discussion.idjc.p.re.sourceforge.net>
Subject: [idjc:discussion] Re: Compiling IDJC
Try without the --libdir=/usr/lib64 You normally do not need that on Debian based distros.
(Also do the same for libshout-idjc, rerun ./configure without the --libdir)
Compiling IDJC
Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/idjc/discussion/458835/
To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/
The libshout-idjc from the repository is too old. You will need to build the latest libshout-idjc from source before reattempting the idjc build.
From: "Stephen Fairchild" <s-fairchild@users.sourceforge.net>
To: "[idjc:discussion] " <458835@discussion.idjc.p.re.sourceforge.net>
Subject: [idjc:discussion] Compiling IDJC
The libshout-idjc from the repository is too old. You will need to build the latest libshout-idjc from source before reattempting the idjc build.
Compiling IDJC
Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/idjc/discussion/458835/
To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/
Robert, just grab the tar.gz at https://sourceforge.net/projects/libshoutidjc.idjc.p/files/libshout-idjc-2.4.6-r1.tar.gz/download
I have for a while perceived the presence of old libshout-idjc binaries as a problem. To counter this it seems that IDJC could be made to use regular libshout at a cost of not being able to stream the now rarely used AAC and MP2 formats. At any rate it would help get IDJC back into package managers since there would be no need to persuade the concurrent adoption of a support library.
From: "Stephen Fairchild" <s-fairchild@users.sourceforge.net>
To: "[idjc:discussion] " <458835@discussion.idjc.p.re.sourceforge.net>
Subject: [idjc:discussion] Compiling IDJC
I have for a while perceived the presence of old libshout-idjc binaries as a problem. To counter this it seems that IDJC could be made to use regular libshout at a cost of not being able to stream the now rarely used AAC and MP2 formats. At any rate it would help get IDJC back into package managers since there would be no need to persuade the concurrent adoption of a support library.
Compiling IDJC
Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/idjc/discussion/458835/
To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/
I never use AAC or MP2, so if you switched to the generic libshout it would not bother me. Maybe allow the use of libshout-idjc as an option for people who do use those formats?
OK done. User simply has to uninstall or never install libshout-idjc in order to use libshout.
I tested this a am unable to get IDJC running.
First thing, the libshout3-dev in the Ubuntu repository is to old, it's 2.4.5. shout_set_metadata_utf8 is missing. I got the source for libshout-2.4.6, built and installed and was able to get ./configure to run and then IDJC to built. So that problem solved.
However, when I run IDJC now I just get 'something bad happened' after selecting a profile.
Re-installing libshout-idjc and I was able to get IDJC working again.
(EDIT: I checked in a basic Debian 12 install, and libshout is 2.4.6, so it's the Ubuntu repository that has the older version)
Last edit: Brian Millham 2024-03-24
More info: I created a new Ubuntu (22.04) VM and can get IDCJ working (using the libshout 2.4.6 from icecast.org).
So I need to figure out why I can't get it working on my existing system.
compiled OK but fell over on install
make[1]: Leaving directory '/home/rob/idjc-0.9.8/po'
Making install in c
make[1]: Entering directory '/home/rob/idjc-0.9.8/c'
make[2]: Entering directory '/home/rob/idjc-0.9.8/c'
/usr/bin/mkdir -p '/usr/local/lib/idjc'
/usr/bin/mkdir: cannot create directory ‘/usr/local/lib/idjc’: Permission denied
make[2]: *** [Makefile:571: install-pkglibLTLIBRARIES] Error 1
make[2]: Leaving directory '/home/rob/idjc-0.9.8/c'
make[1]: *** [Makefile:1096: install-am] Error 2
make[1]: Leaving directory '/home/rob/idjc-0.9.8/c'
make: *** [Makefile:677: install-recursive] Error 1
rob@rob-ms7c37:~/idjc-0.9.8$
Looks like you forgot to sudo. You have t first make, then install (you can't do it as one step)
And also forgot the --prefix="/usr" on the ./configure. This could cause the problem that the program does not appear in the desktop menu.