Hallo Forum, kann mir jemand einen Hinweis geben, wodurch der Linker-Fehler verursacht wird, der im Anhang gelistet ist. Irgendwie gelingt es mir seit Tagen nicht das SPFT Master Package aus Github für Linux zu kompilieren. Danke für die Mühe der Durchsicht im Voraus. Markus
Meine Glaskugel sagt: Du hast Dich mit der Groß-/Kleinschreibung vertan oder eine Lib vergessen zu bauen/linken. Du hättest wenigstens mal einen Link zu dem Projekt angeben können. "./Lib/libflashtoolEx.so"??? Wo kommt die denn her? Sieht aus als hättest Du da wild irgendwelche Dateien kopiert. Und entgegen Deinem Kommentar ist die auf GitHub auch nicht zu finden (https://github.com/eret1k/SP-Flash-Tool-src/tree/master/Lib).
Hallo Gast, Ich habe das Packet SP-Flash-Tool-src-master von dem von Dir genannten Link aus Github geholt. Zumindest erinnere ich mich, dass der Account mit "e" angefangen hat. Ist schon zwei Wochen her. 122274777 1. Feb 14:05 SP-Flash-Tool-src-master-20170818.zip Die letzte Modifikation im Repository war am 18-Aug-2017, weshalb ich den Filenamen auch so gwählt habe. Das mit dem "Lib zu lib" LD-Switch habe ich schon bemerkt, leider hat das Erzeugen eines Links mit dem Namen lib, der auf ./Lib zeigt keine Abhilfe gebracht. Die verschiedenen lib*.so Namen im ./Lib Verzeichnis kommen daher, da sich der make-Forgang darüber beschwert hat, das bestimmte Libs mit bestimmten Namen, nicht vorhanden sind. Mal wird das "T" wie FlashToollib mal das "t" wie Flashtoollib verlangt. Ich hoffte das zu lösen, indem ich mehrere Kopien der selben Lib im Libverzeichnis "./Lib" vorhalte. Ich konnte das so weit treiben, dass jede *.so Lib beim Abfragen mit ldd keine fehlenden Abhängigkeiten mehr zeigte. Trotzdem klappt der Buildvorgang nicht so wie er soll. Meiner Meinung nach hängt das mit den export Deklarationen der gabauten Libs, die unter Linux wohl noch nicht ganz stimmen. Aber das ist nur eine Vermutung, da ich ein Linker-Experte bin. Wie Du aber meinem vorhergehendem Anhang entnehmen konntest, habe ich schon versucht nach bestem Wissen dem Problem auf den Grund zu gehen. Ist halt eine mühselige Sache und ich habe den Eindruck, dass das SPFTool mehr Windows Anhänger hat und deswegen dort besser gepflegt wird. Ich habe mal meinen Inhalt des zip-Archivs angehängt, aus dem ich mein Binary zu erzeugen versuche. Weder plain mit qmake und make all noch mit qtcreator hatte ich dabei Erfolg. Auch bin ich durch die vielen Verweise auf die boost Library etwas verunsichert. Habe diese in version 1.54 und 1.58 auf dem System installiert unter /usr/lib64 die so's und unter /usr/ibclude/boost die .h files. Bei OpenSuse einfach mit zypper zu bewerkstelligen. Ich sehe aber gerade, dass einige Pakete noch nicht installiert sind. Ob dass das Problem verursacht? Werde die anderen Pakete noch nach- installieren uns schauen, ob sich was bei make ändert. Danke derweil für Deine Antwort. Markus
Nachtrag zu oben. Habe jetzt boost 1.61 installiert und einen jungfräulichen Buildvorgang auf das entpackte SPFT für Linux in Version 5.1720.00 gestartet. Anbei meine Logs für den boost 1.61 install und dem qmake; make all; Lauf. Davor habe ich noch den Link lib auf ./Lib erzeugt und LD_LIBRARY_PATH env-Var mit ./Lib gesetzt. Fehler bleibt der gleiche. Eine Idee hierzu, woran es liegt? Markus
Hallo Forum,
und vor allem Linker Experten!
Kann Mir das jemand von Euch bitte erklären
LD Error in:
DADownloadAll.o: In Funktion »APCore::ICommand::connect(long*)«:
DADownloadAll.cpp:(.text._ZN6APCore8ICommand7connectEPl[_ZN6APCore8IComm
and7connectEPl]+0x99):
Warnung: undefinierter Verweis auf »flashtool_waitfor_com«
Symbol im Obj-File:
===================
nm -g -C ./DADownloadAll.o | grep flashtool_waitfor_com
U flashtool_waitfor_com
Laut Man-Pahe zu nm:
====================
"U" The symbol is undefined.
Symbol in Lib:
===============
>nm -C ./libFlashToolEx.so | grep -i flashtool_waitfor_com
00000000001b803f t flashtool_waitfor_com
000000000025c6b0 r flashtool_waitfor_com::__FUNCTION__
beim g++ Aufruf wird
-L./lib und -lFlashToolEx
angegeben und trotzdem kommt die o.g. Fehlermeldung.
g++ -Wl,-rpath,. -Wl,-rpath,lib -Wl,-rpath,Lib -Wl,-rpath,qt
-Wl,-rpath,boost -Wl,-rpath,/usr/lib64 -Wl,-rpath,/lib64
-Wl,-rpath,/usr/lib64/boost
-Wl,-L/home/markus/Elektrotechnik/ARM/MT6582/SP-Flash-Tool-src/SP-Flash-
Tool-src-master/Lib
-Wl,-L/home/markus/Elektrotechnik/ARM/MT6582/SP-Flash-Tool-src/SP-Flash-
Tool-src-master/Lib/QtLinux -Wl,-lflashtool -Wl,-O1 -o flash_tool
Connection.o Log.o AppCore.o DAHandle.o DLHandle.o main.o XMLNodeImpl.o
XMLDocument.o tinyxmlparser.o tinyxmlerror.o tinyxml.o tinystr.o
XMLNode.o Logger.o XMLDocumentImpl.o Utils.o USBCOMFinderWrapper.o
ResourceManager.o CoreHandle.o DADownloadAll.o FormatCommand.o
BromException.o AppException.o ErrorLookup.o BaseException.o
MainWindow.o TabWidgetBase.o DownloadWidget.o ReadBackWidget.o
MemoryTestWidget.o DeviceTestWidget.o ParameterWidget.o AboutDialog.o
OptionDialog.o MainController.o ProcessingAnimation.o ProcessingDialog.o
AsyncResourceLoader.o BootRomArg.o MainWindowCallback.o
DADownloadAllSetting.o BackgroundWorker.o UserStopException.o
ConnSetting.o FormatSetting.o Config.o GeneralSetting.o
ConsoleModeEntry.o ConnBromUARTSetting.o ConnBromUSBSetting.o
FlashToolApp.o BromMemtestArg.o MemoryTestSetting.o MemoryTestCommand.o
DeviceTestSetting.o DeviceTestCommand.o BromReadbackArg.o
ReadbackSetting.o ReadbackCommand.o RBHandle.o ReadBackAddressDialog.o
USBSetting.o SchemaValidator.o BromDownloadArg.o BromFormatArg.o
PlatformRule.o StorageRule.o FileUtils.o PlatformSetting.o
EMMCFormatArg.o NANDForamtArg.o AutoFormatArg.o ReadbackRule.o
OTPCommand.o FirmwareUpgradeCommand.o FirmwareUpgradeSetting.o
BromOTPArg.o WriteMemoryCommand.o WriteMemorySetting.o OTPSetting.o
OTPWriteDialog.o OTPReadDialog.o version.o WriteMemoryArg.o OkDialog.o
FormatWidget.o WriteMemoryWidget.o UpdateDialog.o CheckUpdateDialog.o
AsyncUpdater.o BromChksumArg.o ChksumSetting.o ChksumRule.o romfactory.o
dlproxy.o defaultrom.o concreterom.o dlproxyimpl.o ErrString.o
storhelper.o constString.o PlatformObj.o ScretHandle.o AuthHandle.o
CertDLCommand.o CertDLSetting.o WelcomeWidget.o Assistant.o
CheckHeader.o NvramVerify.o restoreworker.o CommandLineArguments.o
WatchDogCommand.o WatchDogSetting.o IniItem.o SizeCalcHelper.o
ConnImpl.o ConnMedia.o ConnArgBox.o EfuseCommand.o EfuseSetting.o
connob.o BromAdapterWidget.o ComboFormatSetting.o ComboFormatCommand.o
BromAdapterCommand.o BromAdapterArg.o BromAdapterSetting.o
RomInfoFactory.o SDMMCWidget.o NandWidgetd.o EMMCWidget.o
ChipInfoWidget.o NorFlashWidget.o SDMMCAutoFormatArg.o ScatterObserver.o
DLOnlySetting.o DLOnlyCommand.o SecDLSetting.o SecDLCommand.o
sendreport.o SCIDownloadWidget.o CloneDownloadWidget.o EncryDialog.o
DLDelegate.o SCIRBCommand.o SCIRBSetting.o SCIRestoreSetting.o
SCIRestoreCommand.o CloneInfo.o SCIDownloadSetting.o
SCIDownloadCommand.o DLPlugFmtAllSetting.o DLPlugFmtAllCommand.o
TempPlcCtrl.o CommandSetting.o GeneralArg.o GeneralCommand.o
MacroCommand.o UFSFormatArg.o UfsWidget.o NORFormatArg.o json.o
DLWithoutScatterSetting.o DLWithoutScatterCommand.o
ReadbackWithoutScatterSetting.o ReadbackWithoutScatterCommand.o
SetBootModeSetting.o SetBootModeCommand.o CheckRPMBSetting.o
CheckRPMBCommand.o ReadbackSettingAssist.o RuntimeMemory.o DeviceScan.o
DeviceConn.o moc_MainWindow.o moc_TabWidgetBase.o moc_DownloadWidget.o
moc_ReadBackWidget.o moc_MemoryTestWidget.o moc_DeviceTestWidget.o
moc_ParameterWidget.o moc_AboutDialog.o moc_OptionDialog.o
moc_MainController.o moc_ProcessingAnimation.o moc_ProcessingDialog.o
moc_AsyncResourceLoader.o moc_MainWindowCallback.o
moc_BackgroundWorker.o moc_FlashToolApp.o moc_ReadBackAddressDialog.o
moc_OTPReadDialog.o moc_OTPWriteDialog.o moc_OkDialog.o
moc_FormatWidget.o moc_WriteMemoryWidget.o moc_UpdateDialog.o
moc_CheckUpdateDialog.o moc_AsyncUpdater.o moc_UfsWidget.o
moc_PlatformObj.o moc_Assistant.o moc_CheckHeader.o
moc_BromAdapterWidget.o moc_SDMMCWidget.o moc_NandWidget.o
moc_EMMCWidget.o moc_ChipInfoWidget.o moc_NorFlashWidget.o
moc_sendreport.o moc_SCIDownloadWidget.o moc_CloneDownloadWidget.o
moc_EncryDialog.o moc_DLDelegate.o qrc_icon.o qrc_translations.o
qrc_html.o -L./lib -L./lib/QtWin -lQtWebKit -lQtXmlPatterns
-L/usr/lib64 -lQtGui -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread
-lFlashToolEx -lFlashToollibEx -lflashtool -lsla_challenge
DADownloadAll.o: In Funktion »APCore::ICommand::connect(long*)«:
DADownloadAll.cpp:(.text._ZN6APCore8ICommand7connectEPl[_ZN6APCore8IComm
and7connectEPl]+0x99): Warnung: undefinierter Verweis auf
»flashtool_waitfor_com«
...
collect2: error: ld returned 1 exit status
Markus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.