Menu

Compiling IDJC

Help
2024-03-13
2024-04-02
  • Robert Redhead

    Robert Redhead - 2024-03-13

    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?

     
    • Brian Millham

      Brian Millham - 2024-03-14

      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
      • Robert Redhead

        Robert Redhead - 2024-03-14
         
         
        Many thanks will try that , recompile both
         
        Regards
         
        Rob
        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)


        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/

         
         
  • Stephen Fairchild

    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.

     
    • Robert Redhead

      Robert Redhead - 2024-03-14
       
      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.


      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/

       
       
  • Stephen Fairchild

    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.

     
    • Robert Redhead

      Robert Redhead - 2024-03-23
       
       
      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.


      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/

       
       
    • Brian Millham

      Brian Millham - 2024-03-23

      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?

       
      • Stephen Fairchild

        OK done. User simply has to uninstall or never install libshout-idjc in order to use libshout.

         
        • Brian Millham

          Brian Millham - 2024-03-24

          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
          • Brian Millham

            Brian Millham - 2024-03-25

            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.

             
  • Robert Redhead

    Robert Redhead - 2024-04-01

    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$

     
    • Brian Millham

      Brian Millham - 2024-04-01

      Looks like you forgot to sudo. You have t first make, then install (you can't do it as one step)

      make
      sudo make install
      
       
      • Stephen Fairchild

        And also forgot the --prefix="/usr" on the ./configure. This could cause the problem that the program does not appear in the desktop menu.

         

Log in to post a comment.