You are not logged in.

#1 2016-03-23 19:24:52

Xaero252
Member
Registered: 2011-11-28
Posts: 107

Best way to approach these linker errors?

I'm trying to get an older project to compile on modern Arch, and I've hit a brick wall. (Well, several of them, but I broke most of them down) and I'm at my wits end with these final linker errors. The project is this:
https://github.com/buzzert/openitg (specifically this fork, as well)

It's a modified version of StepMania 3.95 designed to be a drop-in replacement for a piece of arcade software. At any rate, I've patched around the older version of LUA it uses, and enabled "-fpermissive" to allow the use of the loose implementations used. I then patched around some poor type casting that prevented 64-bit compilation and have managed to get the entire project to compile, and attempt linking the final executable as well as a library file that is normally shipped with the executable. I don't usually run into linker errors or problems linking projects, so I don't know much about fixing them, and I know it varies from distro to distro depending on the versions and locations of different libraries. Anyways, I _do_ have all of the libraries it lists as problematic installed, but It's not linking them, here's the log output for the linking:

g++ -finline-limit=300 -g  -I./libtomcrypt/src/headers -I./libtommath  -Wall -W -Wno-unused -Wno-switch -fpermissive -O3  -rdynamic -o openitg Screen.o ScreenArcadeDiagnostics.o ScreenArcadePatch.o ScreenArcadeStart.o ScreenAttract.o ScreenBookkeeping.o ScreenBranch.o ScreenCenterImage.o ScreenCredits.o ScreenDebugOverlay.o ScreenDemonstration.o ScreenEdit.o ScreenEditCoursesMenu.o EditCoursesSongMenu.o ScreenEditMenu.o ScreenEnding.o ScreenEndlessBreak.o ScreenEvaluation.o ScreenExit.o ScreenNetEvaluation.o ScreenNetSelectMusic.o ScreenNetSelectBase.o ScreenNetRoom.o ScreenEz2SelectMusic.o ScreenEz2SelectPlayer.o ScreenGameplay.o ScreenHowToPlay.o ScreenInstructions.o ScreenJukebox.o ScreenLogo.o ScreenMapControllers.o ScreenMessage.o ScreenMiniMenu.o ScreenMusicScroll.o ScreenNameEntry.o ScreenNameEntryTraditional.o ScreenOptions.o ScreenOptionsMaster.o ScreenOptionsMasterPrefs.o ScreenPackages.o ScreenPlayerOptions.o ScreenNetworkOptions.o ScreenPlayLights.o ScreenProfileOptions.o ScreenPrompt.o ScreenRanking.o ScreenReloadSongs.o ScreenSandbox.o ScreenSaveSync.o ScreenSelect.o ScreenSelectCharacter.o ScreenSelectDifficulty.o ScreenSelectGroup.o ScreenSelectMaster.o ScreenSelectMode.o ScreenSelectMusic.o ScreenSelectStyle.o ScreenSyncOverlay.o ScreenSystemLayer.o ScreenSetTime.o ScreenSongOptions.o ScreenSplash.o ScreenStage.o ScreenTest.o ScreenTestFonts.o ScreenTestInput.o ScreenTestLights.o ScreenTestSound.o ScreenTextEntry.o ScreenTitleMenu.o ScreenUnlock.o ScreenUserPacks.o ScreenWithMenuElements.o ScreenGameplayMultiplayer.o ScreenSMOnlineLogin.o ActorCommands.o Attack.o AutoKeysounds.o BackgroundUtil.o BannerCache.o CatalogXml.o Character.o CodeDetector.o Command.o CommonMetrics.o DiagnosticsUtil.o Difficulty.o EnumHelper.o Course.o CourseUtil.o DateTime.o Font.o FontCharAliases.o FontCharmaps.o Game.o GameCommand.o GameConstantsAndTypes.o GameInput.o Grade.o HighScore.o Inventory.o LightsMapper.o LuaReference.o LyricsLoader.o NoteData.o NoteDataUtil.o NoteDataWithScoring.o NoteFieldPositioning.o NoteTypes.o NotesLoader.o NotesLoaderBMS.o NotesLoaderDWI.o NotesLoaderKSF.o NotesLoaderSM.o NotesWriterDWI.o NotesWriterSM.o OptionRowHandler.o PlayerAI.o PlayerNumber.o PlayerOptions.o PlayerStageStats.o PlayerState.o Preference.o Profile.o RandomSample.o RadarValues.o RoomWheel.o ScreenDimensions.o ScoreKeeperMAX2.o ScoreKeeperRave.o Song.o SongCacheIndex.o SongOptions.o SongUtil.o StageStats.o Steps.o StepsUtil.o Style.o StyleUtil.o TimingData.o Trail.o TrailUtil.o TitleSubstitution.o USBDriver.o PIUIO.o ITGIO.o PacDrive.o G15.o MiniMaid.o Genesis.o USBDevice.o  IniFile.o MsdFile.o XmlFile.o StepMania.o global.o  LoadingWindow.o LoadingWindow_Gtk.o  RageSoundDriver.o RageSoundDriver_Null.o RageSoundDriver_Generic_Software.o RageSoundDriver_OSS.o ALSA9Dynamic.o ALSA9Helpers.o RageSoundDriver_ALSA9.o RageSoundDriver_ALSA9_Software.o ArchHooks.o ArchHooks_Unix.o InputHandler.o InputHandler_MonkeyKeyboard.o InputHandler_PIUIO.o InputHandler_PIUIO_Helper.o InputHandler_Iow.o InputHandler_MK3.o InputHandler_MiniMaid.o InputHandler_RemoteControl.o  InputHandler_X11.o InputHandler_Linux_Joystick.o MovieTexture.o MovieTexture_Null.o MovieTexture_FFMpeg.o LightsDriver.o LightsDriver_SystemMessage.o LightsDriver_ActorMessage.o LightsDriver_External.o LightsDriver_PacDrive.o LightsDriver_G15.o LightsDriver_LinuxWeedTech.o LightsDriver_LinuxParallel.o MemoryCardDriver.o MemoryCardDriverThreaded_Linux.o LowLevelWindow.o  LowLevelWindow_X11.o X11Helper.o AssertionHandler.o GetSysInfo.o SignalHandler.o LinuxThreadHelpers.o RunningUnderValgrind.o EmergencyShutdown.o Backtrace.o BacktraceNames.o CrashHandler.o CrashHandlerChild.o Dialog.o DialogDriver.o Threads_Pthreads.o USBDriver_Impl.o USBDriver_Impl_Libusb.o RageDriver.o BGAnimation.o BGAnimationLayer.o Banner.o DifficultyIcon.o MeterDisplay.o StreamDisplay.o Transition.o ActiveAttackList.o BPMDisplay.o ComboGraph.o CourseContentsList.o CourseEntryDisplay.o DifficultyDisplay.o DifficultyList.o DifficultyMeter.o DifficultyRating.o DualScrollBar.o EditCoursesMenu.o EditMenu.o FadingBanner.o GradeDisplay.o GraphDisplay.o GrooveGraph.o GrooveRadar.o GroupList.o HelpDisplay.o LinkedOptionsMenu.o MemoryCardDisplay.o MenuTimer.o ModeSwitcher.o MusicBannerWheel.o MusicList.o MusicSortDisplay.o MusicWheel.o MusicWheelItem.o NetworkProfileDisplay.o OptionIcon.o OptionIconRow.o OptionsList.o OptionRow.o OptionsCursor.o PaneDisplay.o ScrollBar.o ScrollingList.o SnapDisplay.o TextBanner.o WheelBase.o WheelItemBase.o WheelNotifyIcon.o ArrowEffects.o AttackDisplay.o Background.o BeginnerHelper.o CombinedLifeMeterTug.o Combo.o DancingCharacters.o Foreground.o GhostArrow.o GhostArrowRow.o HoldGhostArrow.o HoldJudgment.o Judgment.o LifeMeterBar.o LifeMeterBattery.o LifeMeterTime.o LyricDisplay.o NoteDisplay.o NoteField.o PercentageDisplay.o Player.o ReceptorArrow.o ReceptorArrowRow.o ScoreDisplay.o ScoreDisplayBattle.o ScoreDisplayCalories.o ScoreDisplayLifeTime.o ScoreDisplayNormal.o ScoreDisplayOni.o ScoreDisplayPercentage.o ScoreDisplayRave.o get.o maketables.o pcre.o study.o RageFileBasic.o RageFile.o RageFileDriver.o RageFileManager.o RageFileDriverDirect.o RageFileDriverDirectHelpers.o RageFileDriverMemory.o RageFileDriverZip.o RageFileDriverDeflate.o RageFileDriverSlice.o RageFileDriverTimeout.o RageFileDriverCrypt.o RageFileDriverCrypt_ITG2.o RageFileDriverProbe.o RageSoundReader_WAV.o RageSoundReader_Vorbisfile.o RageSoundReader_MP3.o RageBitmapTexture.o RageDisplay.o RageDisplay_OGL.o RageDisplay_OGL_Extensions.o RageDisplay_Null.o RageException.o RageInput.o RageInputDevice.o RageLog.o RageMath.o RageModelGeometry.o RageSound.o RageSoundManager.o RageSoundUtil.o RageSoundMixBuffer.o RageSoundPosMap.o RageSoundReader_FileReader.o RageSoundReader_Preload.o RageSoundReader_Resample.o RageSoundReader_Resample_Fast.o RageSoundReader_Resample_Good.o RageSoundReader_Chain.o RageSoundResampler.o RageSurface.o RageSurfaceUtils.o RageSurfaceUtils_Dither.o RageSurface_Save_JPEG.o RageSurfaceUtils_Palettize.o RageSurfaceUtils_Zoom.o RageSurface_Load.o RageSurface_Load_PNG.o RageSurface_Load_JPEG.o RageSurface_Load_GIF.o RageSurface_Load_BMP.o RageSurface_Load_XPM.o RageTexture.o RageSurface_Save_BMP.o RageTextureID.o RageTextureManager.o RageThreads.o RageTimer.o RageUtil.o RageUtil_CharConversions.o RageUtil_BackgroundLoader.o RageUtil_FileDB.o RageUtil_WorkerThread.o Actor.o ActorFrame.o ActorScroller.o ActorUtil.o AutoActor.o BitmapText.o Model.o ModelManager.o ModelTypes.o Quad.o RollingNumbers.o Sprite.o AnnouncerManager.o Bookkeeper.o CryptManager.o FontManager.o GameSoundManager.o GameManager.o GameState.o InputFilter.o InputMapper.o InputQueue.o LuaManager.o LightsManager.o MemoryCardManager.o MessageManager.o NetworkSyncManager.o NetworkSyncServer.o NoteSkinManager.o PrefsManager.o ProfileManager.o ScreenManager.o SongManager.o StatsManager.o ThemeManager.o UnlockManager.o UserPackManager.o ProductInfo.o NetworkProfileManager.o ezsockets.o owerr.o ownetu.o owllu.o owsesu.o owtrnu.o crcutil.o ds2480ut.o linuxlnk.o sha18.o shaib.o iButton.o aescrypt.o aeskey.o aestab.o CryptBn.o CryptMD5.o CryptNoise.o CryptPrime.o CryptRSA.o CryptRand.o CryptSH512.o CryptSHA.o CryptHelpers.o Timer.o -Wl,-Bstatic -lvorbisfile -lvorbis -logg -lmad -Wl,-Bdynamic  -lXtst -lGL -lGLU ./libtomcrypt/libtomcrypt.a ./libtommath/libtommath.a -lrt ./libresample/libresample.a ./ffmpeg/lib/libavformat.a ./ffmpeg/lib/libavcodec.a -ldl  -lpng -lz -lm -ljpeg -lz -lusb  -nodefaultlibs -Wl,-Bstatic -lstdc++ -llua -lXrandr -lXrender -lmad -lgcc -lgcc_eh -Wl,-Bdynamic -lpthread -lusb -lc -lusb -lX11 -lXext -lXrandr -lcurl
g++ -Wno-write-strings -Wall -W -Wno-unused -Wno-switch -fpermissive -O3 -rdynamic -shared -rdynamic -o GtkModule.so GtkModule_so-LoadingWindow_GtkModule.o -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -ldl  -lpng -lz -lm -ljpeg -lz -lusb  -nodefaultlibs -Wl,-Bstatic -lstdc++ -llua -lXrandr -lXrender -lmad -lgcc -lgcc_eh -Wl,-Bdynamic -lpthread -lusb -lc -lusb -lX11 -lXext -lXrandr -lcurl
/usr/bin/ld: cannot find -llua
/usr/bin/ld: cannot find -lXrandr
/usr/bin/ld: cannot find -lXrender
/usr/bin/ld: cannot find -lmad
collect2: error: ld returned 1 exit status
Makefile:2015: recipe for target 'GtkModule.so' failed
make[2]: *** [GtkModule.so] Error 1
make[2]: *** Waiting for unfinished jobs....
/usr/bin/ld: cannot find -lvorbisfile
/usr/bin/ld: cannot find -lvorbis
/usr/bin/ld: cannot find -logg
/usr/bin/ld: cannot find -lmad
collect2: error: ld returned 1 exit status
Makefile:2019: recipe for target 'openitg' failed
make[2]: *** [openitg] Error 1
make[2]: Leaving directory '/home/xaero/openitg-gemini-src/src'
Makefile:1920: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/xaero/openitg-gemini-src/src'
Makefile:395: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

As you can see it finds the majority of the libraries required, but errors out on the following:

llua
lXrandr
lXrender
lmad
lvorbisfile
lvorbis
logg

For reference here's the output of `ld -llua --verbose` on my system:

GNU ld (GNU Binutils) 2.26.0.20160302
  Supported emulations:
   elf_x86_64
   elf32_x86_64
   elf_i386
   elf_iamcu
   i386linux
   elf_l1om
   elf_k1om
using internal linker script:
==================================================
/* Script for -z combreloc: combine and sort reloc sections */
/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
   Copying and distribution of this script, with or without modification,
   are permitted in any medium without royalty provided the copyright
   notice and this notice are preserved.  */
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
	      "elf64-x86-64")
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib64"); SEARCH_DIR("/usr/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash           : { *(.hash) }
  .gnu.hash       : { *(.gnu.hash) }
  .dynsym         : { *(.dynsym) }
  .dynstr         : { *(.dynstr) }
  .gnu.version    : { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn       :
    {
      *(.rela.init)
      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
      *(.rela.fini)
      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
      *(.rela.ctors)
      *(.rela.dtors)
      *(.rela.got)
      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
      *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
      *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
      *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
      *(.rela.ifunc)
    }
  .rela.plt       :
    {
      *(.rela.plt)
      PROVIDE_HIDDEN (__rela_iplt_start = .);
      *(.rela.iplt)
      PROVIDE_HIDDEN (__rela_iplt_end = .);
    }
  .init           :
  {
    KEEP (*(SORT_NONE(.init)))
  }
  .plt            : { *(.plt) *(.iplt) }
.plt.got        : { *(.plt.got) }
.plt.bnd        : { *(.plt.bnd) }
  .text           :
  {
    *(.text.unlikely .text.*_unlikely .text.unlikely.*)
    *(.text.exit .text.exit.*)
    *(.text.startup .text.startup.*)
    *(.text.hot .text.hot.*)
    *(.text .stub .text.* .gnu.linkonce.t.*)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
  }
  .fini           :
  {
    KEEP (*(SORT_NONE(.fini)))
  }
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1        : { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) }
  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table
  .gcc_except_table.*) }
  .gnu_extab   : ONLY_IF_RO { *(.gnu_extab*) }
  /* These sections are generated by the Sun/Oracle C++ compiler.  */
  .exception_ranges   : ONLY_IF_RO { *(.exception_ranges
  .exception_ranges*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) }
  .gnu_extab      : ONLY_IF_RW { *(.gnu_extab) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  .exception_ranges   : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) }
  /* Thread Local Storage sections  */
  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
  .preinit_array     :
  {
    PROVIDE_HIDDEN (__preinit_array_start = .);
    KEEP (*(.preinit_array))
    PROVIDE_HIDDEN (__preinit_array_end = .);
  }
  .init_array     :
  {
    PROVIDE_HIDDEN (__init_array_start = .);
    KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
    KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
    PROVIDE_HIDDEN (__init_array_end = .);
  }
  .fini_array     :
  {
    PROVIDE_HIDDEN (__fini_array_start = .);
    KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))
    KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors))
    PROVIDE_HIDDEN (__fini_array_end = .);
  }
  .ctors          :
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    KEEP (*crtbegin?.o(.ctors))
    /* We don't want to include the .ctor section from
       the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
  .dtors          :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*crtbegin?.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .jcr            : { KEEP (*(.jcr)) }
  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) }
  .dynamic        : { *(.dynamic) }
  .got            : { *(.got) *(.igot) }
  . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .);
  .got.plt        : { *(.got.plt)  *(.igot.plt) }
  .data           :
  {
    *(.data .data.* .gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1          : { *(.data1) }
  _edata = .; PROVIDE (edata = .);
  . = .;
  __bss_start = .;
  .bss            :
  {
   *(.dynbss)
   *(.bss .bss.* .gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.
      FIXME: Why do we need it? When there is no .bss section, we don't
      pad the .data section.  */
   . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  .lbss   :
  {
    *(.dynlbss)
    *(.lbss .lbss.* .gnu.linkonce.lb.*)
    *(LARGE_COMMON)
  }
  . = ALIGN(64 / 8);
  . = SEGMENT_START("ldata-segment", .);
  .lrodata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.lrodata .lrodata.* .gnu.linkonce.lr.*)
  }
  .ldata   ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) :
  {
    *(.ldata .ldata.* .gnu.linkonce.l.*)
    . = ALIGN(. != 0 ? 64 / 8 : 1);
  }
  . = ALIGN(64 / 8);
  _end = .; PROVIDE (end = .);
  . = DATA_SEGMENT_END (.);
  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line .debug_line.* .debug_line_end ) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  /* DWARF Extension.  */
  .debug_macro    0 : { *(.debug_macro) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}


==================================================
attempt to open /usr/x86_64-pc-linux-gnu/lib64/liblua.so failed
attempt to open /usr/x86_64-pc-linux-gnu/lib64/liblua.a failed
attempt to open /usr/lib/liblua.so succeeded
-llua (/usr/lib/liblua.so)
libdl.so.2 needed by /usr/lib/liblua.so
found libdl.so.2 at /usr/lib/libdl.so.2
libm.so.6 needed by /usr/lib/liblua.so
found libm.so.6 at /usr/lib/libm.so.6
libc.so.6 needed by /usr/lib/liblua.so
found libc.so.6 at /usr/lib/libc.so.6
ld-linux-x86-64.so.2 needed by /usr/lib/libdl.so.2
found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2
/usr/bin/ld: warning: cannot find entry symbol _start; not setting start address

The other libraries all have similar output.

I'm not sure even if these are trying to be dynamically or statically linked since I'm so unfamiliar with troubleshooting these issues.

Last edited by Xaero252 (2016-03-23 19:26:31)

Offline

Board footer

Powered by FluxBB