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

Can not build USDX on Ubuntu 14.04 #188

Open
zeroel opened this issue Dec 14, 2016 · 17 comments
Open

Can not build USDX on Ubuntu 14.04 #188

zeroel opened this issue Dec 14, 2016 · 17 comments

Comments

@zeroel
Copy link

zeroel commented Dec 14, 2016

Hi, Please help!
I'm trying to build your USDX on my Ubuntu 14.04. But got error:

/usr/bin/ld: /usr/local/lib/libavformat.a(matroskaenc.o): undefined reference to symbol 'fmod@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line

Please help me to fix them

@basisbit
Copy link
Member

please provide output from configure script. most likely your system is using libav instead of ffmpeg and thus is not supported.

@zeroel
Copy link
Author

zeroel commented Dec 14, 2016

Hi,
This is my configure log:

checking whether make sets $(MAKE)... yes
checking whether ln -s works... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for a BSD-compatible install... /usr/bin/install -c
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for fpc... fpc
checking for fpcmake... fpcmake
checking version of fpc... [3.0.0]
checking whether the Free Pascal Compiler works... yes
checking whether the Free Pascal Compiler can link... yes
checking whether FPC supports -k"-z noexecstack"... yes
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 we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for ranlib... ranlib
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libpng12... yes
checking version of libpng... [1.2.50]
checking for sdl2... yes (-L/usr/local/lib)
checking for SDL2_image... yes (-L/usr/local/lib)
checking for freetype2... yes
checking for sqlite3... yes
checking for lua5.3... no
checking for lua5.2... no
checking for lua5.1... yes
checking version of lua... [5.1.5]
checking for libavcodec... yes (-L/usr/local/lib)
checking version of libavcodec... [56.60.100]
checking for avcodec_decode_audio in -lavcodec... no
checking for avcodec_decode_audio2 in -lavcodec... no
checking for img_convert in -lavcodec... no
checking for libavformat... yes (-L/usr/local/lib)
checking version of libavformat... [56.40.101]
checking for libavutil... yes (-L/usr/local/lib)
checking version of libavutil... [54.31.100]
checking version of ffmpeg... [2.8]
checking for libswscale... yes (-L/usr/local/lib)
checking version of libswscale... [3.1.101]
checking for libprojectM >= 0.98... no
checking for portaudio-2.0... yes (-L/usr/local/lib)
checking version of portaudio... [19]
checking for libpcre... yes
checking version of libpcre... [8.31]
checking for portmixer... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/config-linux.inc
configure:

!!!
!!! Configuration of ultrastardx 1.1 done!

Please help!

@AlexanderS
Copy link
Member

Seems like you build a custom ffmpeg version by yourself (it's in /usr/local). Are you sure, that you used the current libraries for this ffmpeg or did you build this version some time ago?

@zeroel
Copy link
Author

zeroel commented Dec 15, 2016

Thank for your quick reply!
Firstly, I've installed ffmpeg via apt-get: sudo apt-get install libav-tools (I'm on Ubuntu 14.04)
But USDX required ffmpeg 2.8, got it from configuration's console
Then, I tried to install ffmpeg by downloading: https://ffmpeg.org/releases/ffmpeg-2.8.10.tar.gz
configure, make and make install.

@AlexanderS
Copy link
Member

Did you specify custom LDFLAGS or something like this? -lm seems to be missing or at the wrong position in the flags. Can you please show the complete command line of your ./configure and make call for usdx and any relevant environment variables passed to make.

@zeroel
Copy link
Author

zeroel commented Dec 16, 2016

Hi,

I tried to build USDX with no environment variables. Just ./configure sudo make and make install.
The sudo make log in more detail:

/home/namna/Downloads/USDX/src/media/UAudioPlayback_SoftMixer.pas(1158,50) Warning: Constructing a class "TGenericVoiceStream" with abstract method "ReadData"
Compiling media/UAudioPlayback_SDL.pas
Compiling media/UAudioInput_Portaudio.pas
Compiling media/UAudioDecoder_FFmpeg.pas
/home/namna/Downloads/USDX/src/media/UAudioDecoder_FFmpeg.pas(283,3) Note: Local variable "TestFrame" not used
/home/namna/Downloads/USDX/src/media/UAudioDecoder_FFmpeg.pas(441,3) Note: Local variable "ThreadResult" not used
/home/namna/Downloads/USDX/src/media/UAudioDecoder_FFmpeg.pas(1026,27) Warning: Symbol "avcodec_decode_audio3" is deprecated
Compiling media/UMedia_dummy.pas
Compiling menu/UMenuStaticList.pas
Linking ../game/ultrastardx
/usr/bin/ld: warning: ../game/link.res contains output sections; did you forget -T?
/usr/bin/ld: /usr/local/lib/libavformat.a(matroskaenc.o): undefined reference to symbol 'fmod@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
Error: Error while linking
Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/local/bin/ppcx64 returned an error exitcode
make[1]: *** [../game/ultrastardx] Error 1
make[1]: Leaving directory `/home/namna/Downloads/USDX/src'
make: *** [all] Error 2

After that, I also tried to export LDFLAGS="-lm" but still get error:

/home/namna/Downloads/ffmpeg-2.8.10/libavformat/tee.c:112: undefined reference to `av_bitstream_filter_init'
/usr/local/lib/libavformat.a(tee.o): In function `close_slaves':
/home/namna/Downloads/ffmpeg-2.8.10/libavformat/tee.c:301: undefined reference to `av_bitstream_filter_close'
/usr/local/lib/libavformat.a(ac3dec.o): In function `ac3_eac3_probe':
/home/namna/Downloads/ffmpeg-2.8.10/libavformat/ac3dec.c:58: undefined reference to `avpriv_ac3_parse_header2'
/usr/local/lib/libavformat.a(adtsenc.o): In function `adts_decode_extradata':
/home/namna/Downloads/ffmpeg-2.8.10/libavformat/adtsenc.c:56: undefined reference to `avpriv_mpeg4audio_get_config'
/home/namna/Downloads/ffmpeg-2.8.10/libavformat/adtsenc.c:88: undefined reference to `avpriv_copy_pce_data'
Error: Error while linking
Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/local/bin/ppcx64 returned an error exitcode
make[1]: *** [../game/ultrastardx] Error 1
make[1]: Leaving directory `/home/namna/Downloads/USDX/src'
make: *** [all] Error 2

@AlexanderS
Copy link
Member

First:

sudo make

You do not need sudo there (and you should only use it, if you really need it). Only for make install sudo might be necessary if you want to install the game into a system wide directory.

The problem with the second approach is, that if you set LDFLAGS you overwrite the detections made by configure and the compiler cannot find the ffmpeg libs anymore. Could you please try:

PFLAGS_EXTRA="-lm" ./configure
make

@zeroel
Copy link
Author

zeroel commented Dec 20, 2016

Hi, I tried to configure and make as your help, but still error. Please help!

  1. Configuration log:
namna@namna-H81M-DS2:~/Downloads/USDX$ PFLAGS_EXTRA="-lm" ./configure
checking whether make sets $(MAKE)... yes
checking whether ln -s works... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for a BSD-compatible install... /usr/bin/install -c
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for fpc... fpc
checking for fpcmake... fpcmake
checking version of fpc... [3.0.0]
checking whether the Free Pascal Compiler works... yes
checking whether the Free Pascal Compiler can link... yes
checking whether FPC supports -k"-z noexecstack"... yes
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 we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for ranlib... ranlib
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libpng12... yes
checking version of libpng... [1.2.50]
checking for sdl2... yes (-L/usr/local/lib)
checking for SDL2_image... yes (-L/usr/local/lib)
checking for freetype2... yes
checking for sqlite3... yes
checking for lua5.3... no
checking for lua5.2... no
checking for lua5.1... yes
checking version of lua... [5.1.5]
checking for libavcodec... yes (-L/usr/local/lib)
checking version of libavcodec... [56.60.100]
checking for avcodec_decode_audio in -lavcodec... no
checking for avcodec_decode_audio2 in -lavcodec... no
checking for img_convert in -lavcodec... no
checking for libavformat... yes (-L/usr/local/lib)
checking version of libavformat... [56.40.101]
checking for libavutil... yes (-L/usr/local/lib)
checking version of libavutil... [54.31.100]
checking version of ffmpeg... [2.8]
checking for libswscale... yes (-L/usr/local/lib)
checking version of libswscale... [3.1.101]
checking for libprojectM >= 0.98... no
checking for portaudio-2.0... yes (-L/usr/local/lib)
checking version of portaudio... [19]
checking for libpcre... yes
checking version of libpcre... [8.31]
checking for portmixer... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/config-linux.inc
configure:

!!!
!!! Configuration of ultrastardx 1.1 done!
!!!
!!! Type "make" to compile and
!!!      "make install" to install it afterwards.
!!!

  1. Make
namna@namna-H81M-DS2:~/Downloads/USDX$ make
make -C ./src all
make[1]: Entering directory `/home/namna/Downloads/USDX/src'
===================================
Changed files:
ultrastardx.dpr switches.inc screens/UScreenOptionsRecord.pas screens/UScreenLoading.pas screens/controllers/UScreenSingController.pas screens/UScreenJukeboxPlaylist.pas screens/UScreenOptionsInput.pas screens/UScreenOptionsGame.pas screens/UScreenAbout.pas screens/UScreenPartyTournamentOptions.pas screens/UScreenPartyPlayer.pas screens/UScreenOptionsLyrics.pas screens/UScreenSongJumpto.pas screens/UScreenPartyTournamentPlayer.pas screens/UScreenOptionsThemes.pas screens/UScreenEditSub.pas screens/UScreenPartyNewRound.pas screens/UScreenStatMain.pas screens/UScreenOptions.pas screens/UScreenName.pas screens/UScreenStatDetail.pas screens/UScreenPartyRounds.pas screens/UScreenMain.pas screens/UScreenOptionsAdvanced.pas screens/UScreenEditConvert.pas screens/UScreenCredits.pas screens/UScreenJukeboxOptions.pas screens/UScreenSong.pas screens/UScreenPopup.pas screens/UScreenPartyTournamentWin.pas screens/UScreenTop5.pas screens/UScreenPartyTournamentRounds.pas screens/UScreenOptionsWebcam.pas screens/UScreenScore.pas screens/UScreenJukebox.pas screens/UScreenPartyOptions.pas screens/UScreenOptionsSound.pas screens/UScreenOptionsNetwork.pas screens/UScreenEditHeader.pas screens/UScreenOptionsGraphics.pas screens/UScreenSongMenu.pas screens/UScreenLevel.pas screens/UScreenPartyWin.pas screens/UScreenPartyScore.pas screens/UScreenEdit.pas screens/UScreenOpen.pas screens/views/UScreenSingView.pas screens/UScreenOptionsJukebox.pas media/UMedia_dummy.pas media/UAudioInput_Bass.pas media/UAudioPlayback_SoftMixer.pas media/UAudioCore_Bass.pas media/UAudioCore_Portaudio.pas media/UVisualizer.pas media/UAudioPlayback_Portaudio.pas media/UAudioPlayback_Bass.pas media/UMediaCore_SDL.pas media/UAudioConverter.pas media/UAudioPlaybackBase.pas media/UAudioInput_Portaudio.pas media/UAudioDecoder_FFmpeg.pas media/UVideo.pas media/UAudioPlayback_SDL.pas media/UAudioDecoder_Bass.pas media/UMediaCore_FFmpeg.pas config-win.inc lua/ULuaParty.pas lua/ULuaUsdx.pas lua/ULuaLog.pas lua/ULuaScreenSing.pas lua/ULuaUtils.pas lua/ULuaTexture.pas lua/ULuaCore.pas lua/ULuaGl.pas lua/UHookableEvent.pas lua/ULuaTextGL.pas config-darwin.inc base/USong.pas base/UCommon.pas base/UMusic.pas base/UParty.pas base/UGraphic.pas base/TextGL.pas base/UPartyTournament.pas base/UJoystick.pas base/UDraw.pas base/ULanguage.pas base/UPlatform.pas base/UFilesystem.pas base/ULyrics.pas base/UDLLManager.pas base/UTextEncoding.pas base/URingBuffer.pas base/UPlatformWindows.pas base/UFont.pas base/UTexture.pas base/UTime.pas base/UCatCovers.pas base/USingScores.pas base/USingNotes.pas base/UBeatTimer.pas base/UWebcam.pas base/USkins.pas base/UGraphicClasses.pas base/UCovers.pas base/USongs.pas base/UEditorLyrics.pas base/UConfig.pas base/UAvatars.pas base/UPath.pas base/UThemes.pas base/UPlaylist.pas base/UPathUtils.pas base/UXMLSong.pas base/UFiles.pas base/UPlatformMacOSX.pas base/UIni.pas base/UPlatformLinux.pas base/UCommandLine.pas base/UNote.pas base/ULog.pas base/UImage.pas base/URecord.pas base/UDataBase.pas base/uunicodestringhelper.pas base/UUnicodeUtils.pas base/UMain.pas menu/UMenu.pas menu/UMenuBackgroundNone.pas menu/UDisplay.pas menu/UMenuStaticList.pas menu/UMenuEqualizer.pas menu/UMenuBackgroundVideo.pas menu/UMenuBackgroundColor.pas menu/UMenuBackground.pas menu/UMenuStatic.pas menu/UMenuSelectSlide.pas menu/UMenuBackgroundTexture.pas menu/UMenuButton.pas menu/UMenuText.pas menu/UDrawTexture.pas menu/UMenuInteract.pas menu/UMenuBackgroundFade.pas menu/UMenuButtonCollection.pas config-linux.inc lib/FreeImage/FreeBitmap.pas lib/FreeImage/FreeImage.pas lib/Lua/ULua.pas lib/ffmpeg-2.5/libavutil/cpu.pas lib/ffmpeg-2.5/libavutil/pixfmt.pas lib/ffmpeg-2.5/libavutil/samplefmt.pas lib/ffmpeg-2.5/libavutil/dict.pas lib/ffmpeg-2.5/libavutil/log.pas lib/ffmpeg-2.5/libavutil/opt.pas lib/ffmpeg-2.5/libavutil/buffer.pas lib/ffmpeg-2.5/libavutil/frame.pas lib/ffmpeg-2.5/libavutil/mathematics.pas lib/ffmpeg-2.5/libavutil/mem.pas lib/ffmpeg-2.5/libavutil/error.pas lib/ffmpeg-2.5/avcodec.pas lib/ffmpeg-2.5/swscale.pas lib/ffmpeg-2.5/swresample.pas lib/ffmpeg-2.5/rational.pas lib/ffmpeg-2.5/avutil.pas lib/ffmpeg-2.5/avio.pas lib/ffmpeg-2.5/avformat.pas lib/ffmpeg-2.5/libavcodec/audioconvert.pas lib/ffmpeg-2.5/ff_api-defines.inc lib/dglOpenGL/dglOpenGL.pas lib/ffmpeg-1.1/libavutil/cpu.pas lib/ffmpeg-1.1/libavutil/pixfmt.pas lib/ffmpeg-1.1/libavutil/samplefmt.pas lib/ffmpeg-1.1/libavutil/dict.pas lib/ffmpeg-1.1/libavutil/log.pas lib/ffmpeg-1.1/libavutil/opt.pas lib/ffmpeg-1.1/libavutil/mathematics.pas lib/ffmpeg-1.1/libavutil/mem.pas lib/ffmpeg-1.1/libavutil/error.pas lib/ffmpeg-1.1/avcodec.pas lib/ffmpeg-1.1/swscale.pas lib/ffmpeg-1.1/rational.pas lib/ffmpeg-1.1/avutil.pas lib/ffmpeg-1.1/avio.pas lib/ffmpeg-1.1/avformat.pas lib/ffmpeg-1.1/libavcodec/audioconvert.pas lib/collections/CollLibrary.pas lib/collections/CollHash.pas lib/collections/CollList.pas lib/collections/CollArray.pas lib/collections/CollWrappers.pas lib/collections/CollPArray.pas lib/collections/Collections.pas lib/ffmpeg-2.1/libavutil/cpu.pas lib/ffmpeg-2.1/libavutil/pixfmt.pas lib/ffmpeg-2.1/libavutil/samplefmt.pas lib/ffmpeg-2.1/libavutil/dict.pas lib/ffmpeg-2.1/libavutil/log.pas lib/ffmpeg-2.1/libavutil/opt.pas lib/ffmpeg-2.1/libavutil/buffer.pas lib/ffmpeg-2.1/libavutil/frame.pas lib/ffmpeg-2.1/libavutil/mathematics.pas lib/ffmpeg-2.1/libavutil/mem.pas lib/ffmpeg-2.1/libavutil/error.pas lib/ffmpeg-2.1/avcodec.pas lib/ffmpeg-2.1/swscale.pas lib/ffmpeg-2.1/swresample.pas lib/ffmpeg-2.1/rational.pas lib/ffmpeg-2.1/avutil.pas lib/ffmpeg-2.1/avio.pas lib/ffmpeg-2.1/avformat.pas lib/ffmpeg-2.1/libavcodec/audioconvert.pas lib/fft/UFFT.pas lib/bass/delphi/bass.pas lib/ffmpeg-2.7/libavutil/cpu.pas lib/ffmpeg-2.7/libavutil/pixfmt.pas lib/ffmpeg-2.7/libavutil/samplefmt.pas lib/ffmpeg-2.7/libavutil/dict.pas lib/ffmpeg-2.7/libavutil/log.pas lib/ffmpeg-2.7/libavutil/opt.pas lib/ffmpeg-2.7/libavutil/buffer.pas lib/ffmpeg-2.7/libavutil/frame.pas lib/ffmpeg-2.7/libavutil/mathematics.pas lib/ffmpeg-2.7/libavutil/mem.pas lib/ffmpeg-2.7/libavutil/error.pas lib/ffmpeg-2.7/avcodec.pas lib/ffmpeg-2.7/swscale.pas lib/ffmpeg-2.7/swresample.pas lib/ffmpeg-2.7/rational.pas lib/ffmpeg-2.7/avutil.pas lib/ffmpeg-2.7/avio.pas lib/ffmpeg-2.7/avformat.pas lib/ffmpeg-2.7/libavcodec/audioconvert.pas lib/ffmpeg-2.7/ff_api-defines.inc lib/samplerate/samplerate.pas lib/ffmpeg-2.0/libavutil/cpu.pas lib/ffmpeg-2.0/libavutil/pixfmt.pas lib/ffmpeg-2.0/libavutil/samplefmt.pas lib/ffmpeg-2.0/libavutil/dict.pas lib/ffmpeg-2.0/libavutil/log.pas lib/ffmpeg-2.0/libavutil/opt.pas lib/ffmpeg-2.0/libavutil/mathematics.pas lib/ffmpeg-2.0/libavutil/mem.pas lib/ffmpeg-2.0/libavutil/error.pas lib/ffmpeg-2.0/avcodec.pas lib/ffmpeg-2.0/swscale.pas lib/ffmpeg-2.0/rational.pas lib/ffmpeg-2.0/avutil.pas lib/ffmpeg-2.0/avio.pas lib/ffmpeg-2.0/avformat.pas lib/ffmpeg-2.0/libavcodec/audioconvert.pas lib/portaudio/portaudio.pas lib/ffmpeg-0.9/libavutil/cpu.pas lib/ffmpeg-0.9/libavutil/pixfmt.pas lib/ffmpeg-0.9/libavutil/samplefmt.pas lib/ffmpeg-0.9/libavutil/dict.pas lib/ffmpeg-0.9/libavutil/log.pas lib/ffmpeg-0.9/libavutil/opt2.pas lib/ffmpeg-0.9/libavutil/opt1.pas lib/ffmpeg-0.9/libavutil/mathematics.pas lib/ffmpeg-0.9/libavutil/mem.pas lib/ffmpeg-0.9/libavutil/error.pas lib/ffmpeg-0.9/avcodec.pas lib/ffmpeg-0.9/swscale.pas lib/ffmpeg-0.9/rational.pas lib/ffmpeg-0.9/avutil.pas lib/ffmpeg-0.9/avio.pas lib/ffmpeg-0.9/avformat.pas lib/ffmpeg-0.9/libavcodec/audioconvert.pas lib/ffmpeg-0.10/libavutil/cpu.pas lib/ffmpeg-0.10/libavutil/pixfmt.pas lib/ffmpeg-0.10/libavutil/samplefmt.pas lib/ffmpeg-0.10/libavutil/dict.pas lib/ffmpeg-0.10/libavutil/log.pas lib/ffmpeg-0.10/libavutil/opt.pas lib/ffmpeg-0.10/libavutil/mathematics.pas lib/ffmpeg-0.10/libavutil/mem.pas lib/ffmpeg-0.10/libavutil/error.pas lib/ffmpeg-0.10/avcodec.pas lib/ffmpeg-0.10/swscale.pas lib/ffmpeg-0.10/rational.pas lib/ffmpeg-0.10/avutil.pas lib/ffmpeg-0.10/avio.pas lib/ffmpeg-0.10/avformat.pas lib/ffmpeg-0.10/libavcodec/audioconvert.pas lib/ffmpeg-3.0/libavutil/cpu.pas lib/ffmpeg-3.0/libavutil/pixfmt.pas lib/ffmpeg-3.0/libavutil/samplefmt.pas lib/ffmpeg-3.0/libavutil/dict.pas lib/ffmpeg-3.0/libavutil/log.pas lib/ffmpeg-3.0/libavutil/opt.pas lib/ffmpeg-3.0/libavutil/buffer.pas lib/ffmpeg-3.0/libavutil/frame.pas lib/ffmpeg-3.0/libavutil/mathematics.pas lib/ffmpeg-3.0/libavutil/mem.pas lib/ffmpeg-3.0/libavutil/error.pas lib/ffmpeg-3.0/avcodec.pas lib/ffmpeg-3.0/swscale.pas lib/ffmpeg-3.0/swresample.pas lib/ffmpeg-3.0/rational.pas lib/ffmpeg-3.0/avutil.pas lib/ffmpeg-3.0/avio.pas lib/ffmpeg-3.0/avformat.pas lib/ffmpeg-3.0/libavcodec/audioconvert.pas lib/ffmpeg-3.0/ff_api-defines.inc lib/bassmidi/bassmidi.pas lib/ffmpeg-2.2/libavutil/cpu.pas lib/ffmpeg-2.2/libavutil/pixfmt.pas lib/ffmpeg-2.2/libavutil/samplefmt.pas lib/ffmpeg-2.2/libavutil/dict.pas lib/ffmpeg-2.2/libavutil/log.pas lib/ffmpeg-2.2/libavutil/opt.pas lib/ffmpeg-2.2/libavutil/buffer.pas lib/ffmpeg-2.2/libavutil/frame.pas lib/ffmpeg-2.2/libavutil/mathematics.pas lib/ffmpeg-2.2/libavutil/mem.pas lib/ffmpeg-2.2/libavutil/error.pas lib/ffmpeg-2.2/avcodec.pas lib/ffmpeg-2.2/swscale.pas lib/ffmpeg-2.2/swresample.pas lib/ffmpeg-2.2/rational.pas lib/ffmpeg-2.2/avutil.pas lib/ffmpeg-2.2/avio.pas lib/ffmpeg-2.2/avformat.pas lib/ffmpeg-2.2/libavcodec/audioconvert.pas lib/ffmpeg-2.2/ff_api-defines.inc lib/ffmpeg-0.11/libavutil/cpu.pas lib/ffmpeg-0.11/libavutil/pixfmt.pas lib/ffmpeg-0.11/libavutil/samplefmt.pas lib/ffmpeg-0.11/libavutil/dict.pas lib/ffmpeg-0.11/libavutil/log.pas lib/ffmpeg-0.11/libavutil/opt.pas lib/ffmpeg-0.11/libavutil/mathematics.pas lib/ffmpeg-0.11/libavutil/mem.pas lib/ffmpeg-0.11/libavutil/error.pas lib/ffmpeg-0.11/avcodec.pas lib/ffmpeg-0.11/swscale.pas lib/ffmpeg-0.11/rational.pas lib/ffmpeg-0.11/avutil.pas lib/ffmpeg-0.11/avio.pas lib/ffmpeg-0.11/avformat.pas lib/ffmpeg-0.11/libavcodec/audioconvert.pas lib/ffmpeg-2.6/libavutil/cpu.pas lib/ffmpeg-2.6/libavutil/pixfmt.pas lib/ffmpeg-2.6/libavutil/samplefmt.pas lib/ffmpeg-2.6/libavutil/dict.pas lib/ffmpeg-2.6/libavutil/log.pas lib/ffmpeg-2.6/libavutil/opt.pas lib/ffmpeg-2.6/libavutil/buffer.pas lib/ffmpeg-2.6/libavutil/frame.pas lib/ffmpeg-2.6/libavutil/mathematics.pas lib/ffmpeg-2.6/libavutil/mem.pas lib/ffmpeg-2.6/libavutil/error.pas lib/ffmpeg-2.6/avcodec.pas lib/ffmpeg-2.6/swscale.pas lib/ffmpeg-2.6/swresample.pas lib/ffmpeg-2.6/rational.pas lib/ffmpeg-2.6/avutil.pas lib/ffmpeg-2.6/avio.pas lib/ffmpeg-2.6/avformat.pas lib/ffmpeg-2.6/libavcodec/audioconvert.pas lib/ffmpeg-2.6/ff_api-defines.inc lib/projectM/projectM.pas lib/projectM/projectM-1_0.inc lib/projectM/projectM-0_9.inc lib/midi/MidiScope.pas lib/midi/MidiOut.pas lib/midi/MidiIn.pas lib/midi/DelphiMcb.pas lib/midi/MidiCons.pas lib/midi/MidiType.pas lib/midi/CircBuf.pas lib/midi/MidiFile.pas lib/midi/MidiDefs.pas lib/other/WinAllocation.pas lib/ffmpeg/avcodec.pas lib/ffmpeg/swscale.pas lib/ffmpeg/rational.pas lib/ffmpeg/avutil.pas lib/ffmpeg/avio.pas lib/ffmpeg/avformat.pas lib/ffmpeg/opt.pas lib/ffmpeg/mathematics.pas lib/ffmpeg/error.pas lib/zlib/zlib.pas lib/bass_fx/bass_fx.pas lib/ffmpeg-2.8/libavutil/cpu.pas lib/ffmpeg-2.8/libavutil/pixfmt.pas lib/ffmpeg-2.8/libavutil/samplefmt.pas lib/ffmpeg-2.8/libavutil/dict.pas lib/ffmpeg-2.8/libavutil/log.pas lib/ffmpeg-2.8/libavutil/opt.pas lib/ffmpeg-2.8/libavutil/buffer.pas lib/ffmpeg-2.8/libavutil/frame.pas lib/ffmpeg-2.8/libavutil/mathematics.pas lib/ffmpeg-2.8/libavutil/mem.pas lib/ffmpeg-2.8/libavutil/error.pas lib/ffmpeg-2.8/avcodec.pas lib/ffmpeg-2.8/swscale.pas lib/ffmpeg-2.8/swresample.pas lib/ffmpeg-2.8/rational.pas lib/ffmpeg-2.8/avutil.pas lib/ffmpeg-2.8/avio.pas lib/ffmpeg-2.8/avformat.pas lib/ffmpeg-2.8/libavcodec/audioconvert.pas lib/ffmpeg-2.8/ff_api-defines.inc lib/ffmpeg-0.8/libavutil/cpu.pas lib/ffmpeg-0.8/libavutil/pixfmt.pas lib/ffmpeg-0.8/libavutil/samplefmt.pas lib/ffmpeg-0.8/libavutil/dict.pas lib/ffmpeg-0.8/libavutil/log.pas lib/ffmpeg-0.8/libavutil/opt.pas lib/ffmpeg-0.8/libavutil/mathematics.pas lib/ffmpeg-0.8/libavutil/mem.pas lib/ffmpeg-0.8/libavutil/error.pas lib/ffmpeg-0.8/avcodec.pas lib/ffmpeg-0.8/swscale.pas lib/ffmpeg-0.8/rational.pas lib/ffmpeg-0.8/avutil.pas lib/ffmpeg-0.8/avio.pas lib/ffmpeg-0.8/avformat.pas lib/ffmpeg-0.8/libavcodec/audioconvert.pas lib/pcre/pcre.pas lib/freetype/freetype.pas lib/freetype/ftstroke.inc lib/freetype/ftconfig.inc lib/freetype/demo/switches.inc lib/freetype/demo/nehe/UFreeType.pas lib/freetype/ftimage.inc lib/freetype/ftoutln.inc lib/freetype/ftglyph.inc lib/freetype/fttypes.inc lib/ffmpeg-0.7/libavutil/cpu.pas lib/ffmpeg-0.7/libavutil/pixfmt.pas lib/ffmpeg-0.7/libavutil/samplefmt.pas lib/ffmpeg-0.7/libavutil/dict.pas lib/ffmpeg-0.7/libavutil/log.pas lib/ffmpeg-0.7/libavutil/opt.pas lib/ffmpeg-0.7/libavutil/mathematics.pas lib/ffmpeg-0.7/libavutil/mem.pas lib/ffmpeg-0.7/libavutil/error.pas lib/ffmpeg-0.7/test.pp lib/ffmpeg-0.7/avcodec.pas lib/ffmpeg-0.7/swscale.pas lib/ffmpeg-0.7/rational.pas lib/ffmpeg-0.7/avutil.pas lib/ffmpeg-0.7/avio.pas lib/ffmpeg-0.7/avformat.pas lib/ffmpeg-0.7/libavcodec/audioconvert.pas lib/SQLite/SQLiteTable3.pas lib/SQLite/example/uTestSqlite.pas lib/SQLite/SQLite3.pas lib/ffmpeg-1.2/libavutil/cpu.pas lib/ffmpeg-1.2/libavutil/pixfmt.pas lib/ffmpeg-1.2/libavutil/samplefmt.pas lib/ffmpeg-1.2/libavutil/dict.pas lib/ffmpeg-1.2/libavutil/log.pas lib/ffmpeg-1.2/libavutil/opt.pas lib/ffmpeg-1.2/libavutil/mathematics.pas lib/ffmpeg-1.2/libavutil/mem.pas lib/ffmpeg-1.2/libavutil/error.pas lib/ffmpeg-1.2/avcodec.pas lib/ffmpeg-1.2/swscale.pas lib/ffmpeg-1.2/rational.pas lib/ffmpeg-1.2/avutil.pas lib/ffmpeg-1.2/avio.pas lib/ffmpeg-1.2/avformat.pas lib/ffmpeg-1.2/libavcodec/audioconvert.pas lib/ffmpeg-1.0/libavutil/cpu.pas lib/ffmpeg-1.0/libavutil/pixfmt.pas lib/ffmpeg-1.0/libavutil/samplefmt.pas lib/ffmpeg-1.0/libavutil/dict.pas lib/ffmpeg-1.0/libavutil/log.pas lib/ffmpeg-1.0/libavutil/opt.pas lib/ffmpeg-1.0/libavutil/mathematics.pas lib/ffmpeg-1.0/libavutil/mem.pas lib/ffmpeg-1.0/libavutil/error.pas lib/ffmpeg-1.0/avcodec.pas lib/ffmpeg-1.0/swscale.pas lib/ffmpeg-1.0/rational.pas lib/ffmpeg-1.0/avutil.pas lib/ffmpeg-1.0/avio.pas lib/ffmpeg-1.0/avformat.pas lib/ffmpeg-1.0/libavcodec/audioconvert.pas lib/ffmpeg-3.1/libavutil/cpu.pas lib/ffmpeg-3.1/libavutil/pixfmt.pas lib/ffmpeg-3.1/libavutil/samplefmt.pas lib/ffmpeg-3.1/libavutil/dict.pas lib/ffmpeg-3.1/libavutil/log.pas lib/ffmpeg-3.1/libavutil/opt.pas lib/ffmpeg-3.1/libavutil/buffer.pas lib/ffmpeg-3.1/libavutil/frame.pas lib/ffmpeg-3.1/libavutil/mathematics.pas lib/ffmpeg-3.1/libavutil/mem.pas lib/ffmpeg-3.1/libavutil/error.pas lib/ffmpeg-3.1/avcodec.pas lib/ffmpeg-3.1/swscale.pas lib/ffmpeg-3.1/swresample.pas lib/ffmpeg-3.1/rational.pas lib/ffmpeg-3.1/avutil.pas lib/ffmpeg-3.1/avio.pas lib/ffmpeg-3.1/avformat.pas lib/ffmpeg-3.1/libavcodec/audioconvert.pas lib/ffmpeg-3.1/ff_api-defines.inc lib/portmixer/portmixer.pas lib/SDL2/sdlclipboard.inc lib/SDL2/sdltimer.inc lib/SDL2/sdltouch.inc lib/SDL2/sdlthread.inc lib/SDL2/sdlrect.inc lib/SDL2/sdlhaptic.inc lib/SDL2/SDL2_gfx.pas lib/SDL2/SDL2_mixer.pas lib/SDL2/SDL2_image.pas lib/SDL2/sdlblendmode.inc lib/SDL2/sdlmutex.inc lib/SDL2/sdlaudio.inc lib/SDL2/sdlfilesystem.inc lib/SDL2/sdlmouse.inc lib/SDL2/jedi.inc lib/SDL2/sdlmessagebox.inc lib/SDL2/sdlrwops.inc lib/SDL2/sdlversion.inc lib/SDL2/sdlpower.inc lib/SDL2/sdlevents.inc lib/SDL2/sdlsyswm.inc lib/SDL2/sdlloadso.inc lib/SDL2/sdlpixels.inc lib/SDL2/sdl2.pas lib/SDL2/SDL2_net.pas lib/SDL2/sdlsurface.inc lib/SDL2/sdlrenderer.inc lib/SDL2/sdlvideo.inc lib/SDL2/sdltype.inc lib/SDL2/sdl.inc lib/SDL2/sdlscancode.inc lib/SDL2/sdlplatform.inc lib/SDL2/sdlerror.inc lib/SDL2/sdlgesture.inc lib/SDL2/sdllog.inc lib/SDL2/sdlhints.inc lib/SDL2/sdlcpuinfo.inc lib/SDL2/sdlgamecontroller.inc lib/SDL2/sdlsystem.inc lib/SDL2/SDL2_ttf.pas lib/SDL2/sdlkeyboard.inc lib/SDL2/sdlshape.inc lib/SDL2/sdljoystick.inc lib/ctypes/ctypes.pas lib/openCV/test/OpenCV.pas lib/openCV/test/Ipl.pas lib/openCV/opencv_highgui.pas lib/openCV/opencv_core.pas lib/openCV/opencv_types.pas lib/openCV/opencv_imgproc.pas lib/ffmpeg-2.4/libavutil/cpu.pas lib/ffmpeg-2.4/libavutil/pixfmt.pas lib/ffmpeg-2.4/libavutil/samplefmt.pas lib/ffmpeg-2.4/libavutil/dict.pas lib/ffmpeg-2.4/libavutil/log.pas lib/ffmpeg-2.4/libavutil/opt.pas lib/ffmpeg-2.4/libavutil/buffer.pas lib/ffmpeg-2.4/libavutil/frame.pas lib/ffmpeg-2.4/libavutil/mathematics.pas lib/ffmpeg-2.4/libavutil/mem.pas lib/ffmpeg-2.4/libavutil/error.pas lib/ffmpeg-2.4/avcodec.pas lib/ffmpeg-2.4/swscale.pas lib/ffmpeg-2.4/swresample.pas lib/ffmpeg-2.4/rational.pas lib/ffmpeg-2.4/avutil.pas lib/ffmpeg-2.4/avio.pas lib/ffmpeg-2.4/avformat.pas lib/ffmpeg-2.4/libavcodec/audioconvert.pas lib/ffmpeg-2.4/ff_api-defines.inc webSDK/dcpcrypt2-2009/DCPbase64.pas webSDK/dcpcrypt2-2009/Demos/FileHash/uMain.pas webSDK/dcpcrypt2-2009/Demos/FileEncrypt/uMain.pas webSDK/dcpcrypt2-2009/DCPcrypt2.pas webSDK/dcpcrypt2-2009/Ciphers/DCPrc2.inc webSDK/dcpcrypt2-2009/Ciphers/DCPgost.inc webSDK/dcpcrypt2-2009/Ciphers/DCPtwofish.pas webSDK/dcpcrypt2-2009/Ciphers/DCPice.pas webSDK/dcpcrypt2-2009/Ciphers/DCPrc4.pas webSDK/dcpcrypt2-2009/Ciphers/DCPmisty1.pas webSDK/dcpcrypt2-2009/Ciphers/DCPgost.pas webSDK/dcpcrypt2-2009/Ciphers/DCPrijndael.pas webSDK/dcpcrypt2-2009/Ciphers/DCPrc2.pas webSDK/dcpcrypt2-2009/Ciphers/DCPmisty1.inc webSDK/dcpcrypt2-2009/Ciphers/DCPmars.pas webSDK/dcpcrypt2-2009/Ciphers/DCPmars.inc webSDK/dcpcrypt2-2009/Ciphers/DCPblowfish.pas webSDK/dcpcrypt2-2009/Ciphers/DCPcast256.pas webSDK/dcpcrypt2-2009/Ciphers/DCPblowfish.inc webSDK/dcpcrypt2-2009/Ciphers/DCPserpent.pas webSDK/dcpcrypt2-2009/Ciphers/DCPcast128.inc webSDK/dcpcrypt2-2009/Ciphers/DCPrijndael.inc webSDK/dcpcrypt2-2009/Ciphers/DCPcast256.inc webSDK/dcpcrypt2-2009/Ciphers/DCPtwofish.inc webSDK/dcpcrypt2-2009/Ciphers/DCPrc5.pas webSDK/dcpcrypt2-2009/Ciphers/DCPidea.pas webSDK/dcpcrypt2-2009/Ciphers/DCPdes.inc webSDK/dcpcrypt2-2009/Ciphers/DCPrc6.pas webSDK/dcpcrypt2-2009/Ciphers/DCPcast128.pas webSDK/dcpcrypt2-2009/Ciphers/DCPdes.pas webSDK/dcpcrypt2-2009/Ciphers/DCPtea.pas webSDK/dcpcrypt2-2009/PHPEncryption/uMain.pas webSDK/dcpcrypt2-2009/DCPreg.pas webSDK/dcpcrypt2-2009/Hashes/DCPmd4.pas webSDK/dcpcrypt2-2009/Hashes/DCPripemd160.pas webSDK/dcpcrypt2-2009/Hashes/DCPhaval3.inc webSDK/dcpcrypt2-2009/Hashes/DCPtiger.inc webSDK/dcpcrypt2-2009/Hashes/DCPhaval4.inc webSDK/dcpcrypt2-2009/Hashes/DCPripemd128.pas webSDK/dcpcrypt2-2009/Hashes/DCPhaval5.inc webSDK/dcpcrypt2-2009/Hashes/DCPtiger.pas webSDK/dcpcrypt2-2009/Hashes/DCPsha512.pas webSDK/dcpcrypt2-2009/Hashes/DCPsha1.pas webSDK/dcpcrypt2-2009/Hashes/DCPmd5.pas webSDK/dcpcrypt2-2009/Hashes/DCPhaval.pas webSDK/dcpcrypt2-2009/Hashes/DCPsha256.pas webSDK/dcpcrypt2-2009/DCPconst.pas webSDK/dcpcrypt2-2009/DCPblockciphers.pas webSDK/UWebSDK.pas webSDK/encrypt/cDefines.inc webSDK/encrypt/UMD5.pas webSDK/encrypt/cHash.pas webSDK/cURL_/demo/testpart.pas webSDK/cURL_/demo/testver.pas webSDK/cURL_/demo/testsave.pas webSDK/cURL_/demo/testpost.pas webSDK/cURL_/demo/testcook.pas webSDK/cURL_/demo/testevnt.pas webSDK/cURL_/demo/testtxcb.pas webSDK/cURL_/demo/testinfo.pas webSDK/cURL_/demo/testmpf1.pas webSDK/cURL_/demo/testmthd.pas webSDK/cURL_/demo/testmpf2.pas webSDK/cURL_/demo/testput.pas webSDK/cURL_/demo/testcb.pas webSDK/cURL_/demo/simple.pas webSDK/cURL_/demo/testmult.pas webSDK/cURL_/demo/testmobj.pas webSDK/cURL_/demo/curltest.inc webSDK/cURL_/src/ocurlini.inc webSDK/cURL_/src/ocurltyp.inc webSDK/cURL_/src/ocurlcll.inc webSDK/cURL_/src/ocurlacc.inc webSDK/cURL_/src/curlpas.pas webSDK/cURL_/src/ocurlprv.inc webSDK/cURL_/src/ocurlcb2.inc webSDK/cURL_/src/ocurlmlt.inc webSDK/cURL_/src/curl_h.pas webSDK/cURL_/src/ocurlset.inc webSDK/cURL_/src/ocurlinf.inc webSDK/cURL_/src/ocurluse.inc webSDK/cURL_/src/lazcurl.pas webSDK/cURL_/src/ocurlget.inc webSDK/cURL_/src/ocurlthd.inc webSDK/cURL_/src/ocurlcb.inc webSDK/cURL_/src/ocurlprt.inc webSDK/cURL_/src/ocurlpub.inc webSDK/cURL_/src/curldbug.pas webSDK/cURL_/src/curlobj.pas webSDK/cURL_/src/ocurlver.inc webSDK/cURL_/gui/curlform.pas macosx/PseudoThread.pas encoding/Auto.inc encoding/Locale.inc encoding/CP1250.inc encoding/UTF8.inc encoding/CP1252.inc
===================================
-----------------------------------
Clean old object data...
make clean_obj
make[2]: Entering directory `/home/namna/Downloads/USDX/src'
rm -f "../game/ultrastardx"
rm -f -r "../build/fpc-x86_64-linux"
make[2]: Leaving directory `/home/namna/Downloads/USDX/src'
-----------------------------------
/bin/mkdir -p "../build/fpc-x86_64-linux"
make create-pathinfo
make[2]: Entering directory `/home/namna/Downloads/USDX/src'
echo "INSTALL_DATADIR = '/usr/local/share/ultrastardx';" > paths.inc
make[2]: Leaving directory `/home/namna/Downloads/USDX/src'
fpc -Si -Sg- -Sc- -v0Binwe -Xs- -O2 -lm -k"-z noexecstack" -k" -L/usr/local/lib" -Fi../src/lib/JEDI-SDL/SDL/Pas -Fu. -FU../build/fpc-x86_64-linux -o../game/ultrastardx ultrastardx.dpr
Error: Illegal parameter: -lm
Error: /usr/local/bin/ppcx64 returned an error exitcode
make[1]: *** [../game/ultrastardx] Error 1
make[1]: Leaving directory `/home/namna/Downloads/USDX/src'
make: *** [all] Error 2

@AlexanderS
Copy link
Member

Ok. seems like the fpc does not accept the linker arguments. I do not know what's wrong with your setup. I will try to replicate it and report back.

@zeroel
Copy link
Author

zeroel commented Dec 20, 2016

Yes, thank you!

@sanderr
Copy link

sanderr commented Dec 29, 2016

I am on Debian Jessie and I'm experiencing the same issue. I have purged fpc2.8 and ffmpeg3, installed fpc3.0.0 from the repositories and ffmpeg version n2.7.7 from source, much like zeroel it seems.
I have tried running the configure script both with and without setting the PFLAGS_EXTRA="-lm" variable.
I have attached the output for all those commands below.

configure.txt
configure-lm.txt
make.txt
make-lm.txt

@pheppy
Copy link

pheppy commented Dec 30, 2016

Same thing Ubuntu 14.04. I've installed ffmpeg-2.8.6, same result.

@Redox15
Copy link

Redox15 commented Feb 16, 2017

I'm getting:

./configure: line 3636: syntax error near unexpected token `libpng,'
./configure: line 3636: `PKG_HAVE(libpng, libpng12, no)'

@frapit
Copy link

frapit commented May 22, 2017

I just tried to compile USDX from source and got the exact same error as everyone else in this post. I compiled ffmpeg 2.8 from source. The system is running Debian Jessie. Did anyone found a solution yet?

@sanderr
Copy link

sanderr commented May 22, 2017

Not yet, alas. I have temporarily made a seperate partition running arch linux and got it working easily there. I'm planning on trying to run it from Debian in a VM or chroot, but I haven't figured that quite out yet. It's definitely not ideal, but it at least allows you to play.

@cRaZy-bisCuiT
Copy link

The FPC version seems broken. I can only compile with fpc 3.0.2

@s09bQ5
Copy link
Collaborator

s09bQ5 commented Aug 13, 2017

The problem is that most of you compiled FFmpeg only as static libraries.
This currently does not work because:

  • We would have to use pkg-config --libs --static libXYZ to get a list of all libraries we have to link to when we use libXYZ and in which order to link them.
  • Free Pascal lists all libraries used in the code through external declarations in the linker script link.res in random order.
  • Free Pascal passes all additional linker flags (passed with -k) before link.res in the arguments to the linker, meaning they will be applied before the linker even knows which symbols are needed by the application.
  • For some reason src/Makefile sorts the contents of the LIBS variable before it wraps it in -k""

So to fix the error listed in the first post, we can add -lm to LIBS since libm is most likely a shared library. But if you do so , you will be greeted with lots of other undefined symbols and in the end you will notice that you have to tell the linker to link the code to -lavcodec after -lavformat (not before). Then you start cursing Free Pascal and consider rebuilding FFmpeg as shared library.

@Redox15, I don't know what went wrong there, but the current version no longer checks for libpng.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants