• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

[Executable] Gpick Wie??

WoodstockimWeb

Danke für den Fisch

Registriert
12 Juli 2013
Beiträge
2.020
Ort
Münsterland
Hoi Bande,

ich gebe es zu, ich bin zu Blöd.

Ich habe eine Software gefunden, Gpick, mit der ich was anfangen könnte.

Leider bekomme ich die nicht installiert geschweige denn mit meiner installierten Python Version gestartet.

Wie baue ich da ne normale .exe raus, damit das Starten durch einen Doppelklick erfolgen kann??

Gruß
Woodstock
 

Dr. M.

Weltmaschinenfahrer

Registriert
30 Juli 2018
Beiträge
188

Steeve

Vereinsheimer
Barkeeper

Registriert
15 Juli 2013
Beiträge
41.121
Wenn es dir um diese Picker geht, kannst du auch einen anderen nehmen?
 

WoodstockimWeb

Danke für den Fisch

Registriert
12 Juli 2013
Beiträge
2.020
Ort
Münsterland
  • Thread Starter Thread Starter
  • #4

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Also die Software ist streng komisch, ich hab jetzt gestern bestimmt 4 Stunden versucht das korrekt, unter MSYS2 unter Windows 10, zu kompilieren.

Es geht auch zum Teil mit Scons3 (drei!), bricht jedoch wegen einer Anweisung in Boost-Library ab, obwohl der Prozess recht weit durchläuft und nicht mehr viel fehlt. Und das "Basis" Scons ohne Version 3.1.0 bricht ab weil Boost nicht gefunden wird obwohl es eigentlich im PATH liegen sollte? Alles merkwürdig.

Und "cmake" scheitert bei mir weil ich nicht wusste wie man den C und CXX Compiler korrekt deklariert obwohl mit [kw]-DCMAKE_C_COMPILER=gcc[/kw] korrekt(?) übergeben.

Unterm Strich, keine Ergebnisse aber viele Nerven und Zeit investiert. :o

Schade eigentlich, unter Linux (Debian) kompiliert es mit cmake innerhalb von einer Minute. Unter MSYS2 liegt da etwas im argen was ich nicht aufgrund fehlender CMAKE Kenntnisse hätte beheben können.

Interessant ist aber, man kann Boost soweit "monkeypatchen" das der erste Fehler verschwindet und dann liegt noch ein einziger "Fehler" mittels [kw]::readlink[/kw] in einer Linux Direktive das "Readlink" nicht gefunden wird. Also ich weiß nicht genau wo der Fehler genau herrührt, wäre aber an einer Lösung auch interessiert!
 

Dr. M.

Weltmaschinenfahrer

Registriert
30 Juli 2018
Beiträge
188
Interessant ist aber, man kann Boost soweit "monkeypatchen" das der erste Fehler verschwindet und dann liegt noch ein einziger "Fehler" mittels [kw]::readlink[/kw] in einer Linux Direktive das "Readlink" nicht gefunden wird. Also ich weiß nicht genau wo der Fehler genau herrührt, wäre aber an einer Lösung auch interessiert!
Da hast du aber komische Makros definiert.
Gemaess dem Code in https://github.com/thezbyg/gpick/blob/016f5e2eaf5550fb90441ac0add5c7d2d1e3c687/source/Paths.cpp#L32 sollte der readlink-Call eigentlich nur benutzt werden wenn BOOST_OS_LINUX gesetzt ist.
Eventuell kannst du ja mal versuchen, das "Quick & Dirty" so hinzupatchen, dass nur noch der #else-Block uebrig bleibt ...


Edit: Bei nochmaligem Lesen faellt mir auf, dass da jemand versucht hat, BOOST_OS_LINUX statt mit #if mit #ifdef zu ueberpruefen. Das geht daneben. Die Dokumentation weist auch darauf hin, die Makros sind immer definiert, aber evaluieren halt zu false: https://www.boost.org/doc/libs/1_66_0/doc/html/predef.html
Ein schoen subtiler Bug.
 
Zuletzt bearbeitet:

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
@Dr. M.: Ja genau da sitzt der Codepart der den Fehler wirft. Ich bin mir aber auch nicht wirklich sicher ob das ganze CMake auch für Windows oder Linux kompiliert. Laut Angabe wäre Linux das Build-Target. Aber CMake ist echt... undurchsichtig um es freundlich zu formulieren. :)

Heute gab es eine neue Gpick Version für Debian, die den gesamten Scons Build Prozess entfernt laut Changelog, habe aber aktuell noch nicht geschaut wie das im Repo aussieht.

Edit:
Als Ergänzung, die Direktiven verlangt cmake bei mir, weil es die Compiler der MSYS Installation nicht selbstständig erkennt. Daher die Frage wie und ob das richtig gesetzt ist. [kw]which gcc[/kw] und [kw]which g++[/kw] zeigen die Compiler in der korrekten Version an. Nur das Cmake frisst es nicht :D
 
Zuletzt bearbeitet:

Dr. M.

Weltmaschinenfahrer

Registriert
30 Juli 2018
Beiträge
188
Versuch doch mal, in source/Paths.cpp, Zeile 32
[src=cpp]#ifdef BOOST_OS_LINUX[/src]
zu
[src=cpp]#if BOOST_OS_LINUX[/src]
zu patchen. Dann duerfte der Guard wie gedacht funktionieren (sofern die Makros sonst richtig gesetzt sind natuerlich).

Falls es damit funktionniert - bitte einen PR machen, wir wollen ja alle freie Software verbessern :D
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Ja, das funktioniert, allerdings scheitert der finale Schritt daran, das pkg-config "boost-filesystem" und "boost-system" nicht findet. Hab schon mittels "pkg-config --list-all" alles durchsucht und "boost" taucht dabei nicht zum linken auf.
 

Dr. M.

Weltmaschinenfahrer

Registriert
30 Juli 2018
Beiträge
188
Hast du denn die entsprechenden DLLs auf dem System und in LD_LIBRARY_PATH? Die Header muessen ja da sein, sonst haettest du schon beim Kompilieren Fehler.

Welche Argumente werden dem Linker uebergeben?
Du kannst die ausgefuehrten Commands per "make VERBOSE=1" anzeigen lassen.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Folgendes wird dem Linker übergeben:

[src=cpp]g++ -o build/gpick.exe -Wl,-no-undefined -Wl,-as-needed -s -pthread -Wl,-luuid build/source/version/Version.o build/source/gtk/ColorCell.o build/source/gtk/ColorComponent.o build/source/gtk/ColorWheel.o build/source/gtk/ColorWidget.o build/source/gtk/LayoutPreview.o build/source/gtk/Range2D.o build/source/gtk/Shapes.o build/source/gtk/Swatch.o build/source/gtk/Zoomed.o build/source/layout/Box.o build/source/layout/Context.o build/source/layout/Layout.o build/source/layout/Layouts.o build/source/layout/ReferenceCounter.o build/source/layout/Style.o build/source/layout/System.o build/source/i18n/I18N.o build/source/dbus/DbusInterface.o build/source/dbus/Control.o build/source/tools/ColorSpaceSampler.o build/source/tools/PaletteFromImage.o build/source/tools/TextParser.o build/source/lua/Callbacks.o build/source/lua/Color.o build/source/lua/ColorObject.o build/source/lua/DynvSystem.o build/source/lua/Extensions.o build/source/lua/GlobalState.o build/source/lua/I18N.o build/source/lua/Layout.o build/source/lua/Ref.o build/source/lua/Script.o build/source/color_names/ColorNames.o build/source/parser/TextFile.o build/source/parser/TextFileParser.o build/source/dynv/Binary.o build/source/dynv/Map.o build/source/dynv/Types.o build/source/dynv/Variable.o build/source/dynv/Xml.o build/source/common/Format.o build/source/AutoSave.o build/source/BlendColors.o build/source/BrightnessDarkness.o build/source/Clipboard.o build/source/ClosestColors.o build/source/Color.o build/source/ColorList.o build/source/ColorMixer.o build/source/ColorObject.o build/source/ColorPicker.o build/source/ColorRYB.o build/source/ColorSource.o build/source/ColorSourceManager.o build/source/ColorSpaceType.o build/source/ColorWheelType.o build/source/Converter.o build/source/Converters.o build/source/ErrorCode.o build/source/FileFormat.o build/source/FloatingPicker.o build/source/GenerateScheme.o build/source/GlobalState.o build/source/HtmlUtils.o build/source/ImportExport.o build/source/LayoutPreview.o build/source/Noise.o build/source/Paths.o build/source/Random.o build/source/RegisterSources.o build/source/Sampler.o build/source/ScreenReader.o build/source/StandardDragDropHandler.o build/source/StandardEventHandler.o build/source/StandardMenu.o build/source/StringUtils.o build/source/ToolColorNaming.o build/source/Variations.o build/source/main.o build/source/uiAbout.o build/source/uiApp.o build/source/uiColorDictionaries.o build/source/uiColorInput.o build/source/uiConverter.o build/source/uiDialogAutonumber.o build/source/uiDialogGenerate.o build/source/uiDialogMix.o build/source/uiDialogOptions.o build/source/uiDialogSort.o build/source/uiDialogVariations.o build/source/uiImportExport.o build/source/uiListPalette.o build/source/uiStatusIcon.o build/source/uiTransformations.o build/source/uiUtilities.o build/source/transformation/Chain.o build/source/transformation/ColorVisionDeficiency.o build/source/transformation/Configuration.o build/source/transformation/Factory.o build/source/transformation/GammaModification.o build/source/transformation/Invert.o build/source/transformation/Quantization.o build/source/transformation/Transformation.o -Lbuild/C:/msys64/mingw64/lib -LC:/msys64/mingw64/lib -Lbuild/C:/msys64/mingw64/lib -LC:/msys64/mingw64/lib -lgtk-3 -lgdk-3 -lz -lgdi32 -limm32 -lshell32 -lole32 -lwinmm -ldwmapi -lsetupapi -lcfgmgr32 -lpangowin32-1.0 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -llua -lm -lboost_filesystem -lboost_system -lexpat[/src]
 

Dr. M.

Weltmaschinenfahrer

Registriert
30 Juli 2018
Beiträge
188
Die Library-Suchpfade
Code:
-Lbuild/C:/msys64/mingw64/lib -LC:/msys64/mingw64/lib -Lbuild/C:/msys64/mingw64/lib -LC:/msys64/mingw64/lib
sehen fuer mich ein wenig seltsam aus, sind aber unter Windows/MSYS vielleicht normal - ist schon eine Weile her seitdem ich es benutzt habe.

Nun aber die Frage - sind die DLLs und/oder DLL-Import-Libraries fuer boost_filesystem und boost_system in "C:/msys64/mingw64/lib"? Ich vermute mal, die muessten "libboost_filesystem.dll(.a)" und "libboost_system.dll(.a)" heissen.
Ich nehme an der Output sagt dir, dass g++/ld die Libraries nicht finden kann?
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
So sieht der Fehler aus der nach dem Befehl auftaucht:

[src=text]C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lboost_filesystem
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lboost_system
collect2.exe: error: ld returned 1 exit status
scons: *** [build/gpick.exe] Error 1
scons: building terminated because of errors.
[/src]
 

WoodstockimWeb

Danke für den Fisch

Registriert
12 Juli 2013
Beiträge
2.020
Ort
Münsterland
  • Thread Starter Thread Starter
  • #14
Sauber Jungs, Danke für die Mühe.

Bin gespannt ob man das hinbekommt. Eventuell neuer Wettbewerb :-).

Gruß
Woodstock
 

Dr. M.

Weltmaschinenfahrer

Registriert
30 Juli 2018
Beiträge
188
@theSplit: Sind denn die beiden Boost-Libraries (.dll oder .dll.a) in C:/msys64/mingw64/lib? Oder sind da eventuell nur die "mt"-Versionen, also boost_system-mt und boost_filesystem-mt, oder gar keine?
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
@Dr. M.:

Unter "mingw64/lib" finden sich unter anderem folgende Schemas:
[kw]libboost_system-mt.a[/kw]
[kw]libboost_system-mt.dll.a[/kw]

Und dann noch andere wie:
[kw]libboost_filesystem-mt.a[/kw]
[kw]libboost_filesystem-mt.dll.a[/kw]

Einen Ordner "Boost" gibt es dort nicht. Dieser findet sich aber hier in [kw]C:\msys64\mingw64\include\boost[/kw] mit Quelldateien.
 

Dr. M.

Weltmaschinenfahrer

Registriert
30 Juli 2018
Beiträge
188
Ok, du hast nur die multi-threaded-Versionen ("mt") von Boost, aber CMake versucht aus irgendeinem Grund, gegen die nicht-mt-Version zu linken.

Schneller Workaround: Nimm die Kommandozeile aus Post #11 und patche "-lboost_filesystem -lboost_system" zu "-lboost_filesystem-mt -lboost_system-mt". Dann fuehre sie in der Shell aus. Da das eh der letzte Schritt im Makefile ist...

Ansonsten eventuell mal versuchen, cmake mit "-DBoost_USE_MULTITHREADED=ON" auszufuehren.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
@Dr. M.: Super, das funktioniert! :cool:

Ich habe dazu mal alle DLLs gesammelt die notwendig sind und in eine Paket gebundelt.
Was allerdings komisch ist, ist folgender Error beim Start des Programms und dann beendet es auch gleich wieder... hier der Screenshot aus einer Powershell.



Wenn ich richtig sehe, wird dabei nach der Lua Version (Lua5.3 DLL ist enthalten) gesucht die zum kompilieren verwendet wurde. Ich bin mir aber nicht sicher wie das integriert wird und ob man Lua5.3 dann komplett mitliefern lassen muß.

Edith sagt: Also, es scheint an den Icons zu liegen, die Ausführung funktioniert unter MSYS2. ohne sichtbare Probleme.
 
Zuletzt bearbeitet:

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Habs hinbekommen.. man muß die Icons an die richtige Stelle kopieren und den Cache des Themes neu aufbauen mittels "gtk-update-icon-cache".

Und hier die Version zum Download für Windows 10, 64 bit: https://dwrox.net/ngb/gpick_windows_20210202.rar

Danke Dr.M für die viele Hilfe! :)

Edit: Musste den Upload neu machen weil ein Fehler mit dem Icon Cache aufgetreten war, dafür ist die Version auch unter Windows 7 64bit getestet zu funktionieren.
 
Zuletzt bearbeitet:

Dr. M.

Weltmaschinenfahrer

Registriert
30 Juli 2018
Beiträge
188
Danke theSplit fuer die Muehen. Schoen dass es am Ende geklappt hat.

Fuer die fehlerhafte #ifdef-Direktive habe ich mal eben einen PR gemacht: https://github.com/thezbyg/gpick/pull/190. Es gab auch schon einen offenen Bugreport dazu. Bevor das wieder vergessen geht und der Naechste darueber stolpert...
 
Oben