Comments (11)
As background for the desire for a binary package:
- I want to save user's time in compiling
- Provide access to the skeleton config file
- Provide access to the documentation
Both of the last two are difficult using the AppImage format, and the AppImage also contains many non-needed libraries (newer versions of which Arch already has)
from nixnote2.
Hi,
I understand what you want to do, but I think it is not the "correct" way. Therefore you'll get various unnecessary problems..
The Idea of AppImage is:
- the application in AppImage packaging is "self contained" - it contains all the dependencies in a coherent set - which plays together well
- yes its bigger then native package, but I think the people today don't care so much whenever the app is 50MB or 3MB. They care more whenever it works out of the box.
- yes it may be, that some libraries included in the AppImage are older then on your system, but the someway guaranteed to work
- the AppImage should work on ~all distributions and it should be really "plug&play" - download/mark as executable - run - it should work
As you start replacing libraries by LD_LIBRARY_PATH
and removing parts of the AppImage this all may break..
I think correct way would be to build a binary package for your distribution. I have no idea how this work on Arch - and have no time to study it now. But the idea would be to do something like the pre-built binary "deb" packages, which are build in the PPA for Ubuntu - one package per Ubuntu version.
With that being said, what you want to do, can be reached (but I think you'll get further problems along the way.. so the problems only start :) )..
The error message you get happens when Nixnote is searching for application data. It expects to be run as $SOMEDIR/bin/nixnote2
then it searches for the data in $SOMEDIR/share/nixnote2
. Thats all. The algorithm can be overriden by --programDataDir
command line option.
Example (2 executions one failed - then one with manual override):
/d/dev/nixnote2/qmake-build-debug ./nixnote2 5.3s
ERROR 2018-10-23 08:42:32.449 src/settings/filemanager.cpp:58 Binary needs to be started from 'appdir' directory...
ERROR 2018-10-23 08:42:32.449 src/settings/filemanager.cpp:59 E.g. use something like: cd $$PROJECT_DIR; ./appdir/usr/bin/nixnote2
robert7@LP-RSPIEGEL:/d/dev/nixnote2/qmake-build-debug$
/d/dev/nixnote2/qmake-build-debug ./nixnote2 --programDataDir=/d/dev/nixnote2/appdir/usr/share/nixnote2 --logLevel=1 110ms
INFO 2018-10-23 08:42:42.290 src/settings/startupconfig.cpp:342 "Set programDataDir via command line to /d/dev/nixnote2/appdir/usr/share/nixnote2"
INFO 2018-10-23 08:42:42.290 src/settings/startupconfig.cpp:315 Changed logLevel via command line option to 1
DEBUG 2018-10-23 08:42:42.290 src/settings/startupconfig.cpp:733 Setting command: #0 to value=true
DEBUG 2018-10-23 08:42:42.290 src/main.cpp:131 Startup config ret=0, guiAvailable=true
DEBUG 2018-10-23 08:42:42.358 src/settings/filemanager.cpp:95 Setting up file paths: startupConfigDirPath="", startupUserDataDir="", startupProgramDirPath="/d/dev/nixnote2/appdir/usr/share/nixnote2/"
DEBUG 2018-10-23 08:42:42.358 src/settings/filemanager.cpp:110 Checking whenever legacy config dir exists: "/home/robert7/.nixnote"
DEBUG 2018-10-23 08:42:42.358 src/settings/filemanager.cpp:114 Legacy config/data dir found. falling back to that: "/home/robert7/.nixnote/"
DEBUG 2018-10-23 08:42:42.358 src/settings/filemanager.cpp:312 Checking write access for directory "/home/robert7/.nixnote"
DEBUG 2018-10-23 08:42:42.358 src/settings/filemanager.cpp:312 Checking write access for directory "/home/robert7/.nixnote"
DEBUG 2018-10-23 08:42:42.358 src/settings/filemanager.cpp:141 Resulting file paths: configDir="/home/robert7/.nixnote/", userDataDir="/home/robert7/.nixnote/", programDataDir="/d/dev/nixnote2/appdir/usr/share/nixnote2/"
from nixnote2.
I improved the error message. Now it says:
/d/dev/nixnote2 ./qmake-build-debug/nixnote2 7.1s
ERROR 2018-10-24 10:43:23.465 src/settings/filemanager.cpp:58 Binary needs to be started from application directory...
ERROR 2018-10-24 10:43:23.466 src/settings/filemanager.cpp:59 Expected runtime pathname is $SOMEDIR/bin/nixnote2, then application data is expected in $SOMEDIR/share/nixnote2
ERROR 2018-10-24 10:43:23.466 src/settings/filemanager.cpp:62 E.g. use something like: cd $PROJECT_DIR/appdir; ./usr/bin/nixnote2. Or you may use --programDataDir command line option for manual override.
from nixnote2.
The updated message is available in 2.0.1-beta5a (but its just a clue/info ).
Let me know in case "--programDataDir" did not worked for you.
from nixnote2.
Brilliant, thanks for the --programDataDir
tip. I'll look into it over the next few days!
from nixnote2.
I downloaded today's AppImage and tried with a bunch of possible options to --programDataDir
:
% pwd
/home/ravi/code/aur/nixnote2-bin/pkg-root/usr/bin/nixnote
% ./nixnote2
ERROR 2018-10-28 13:40:42.629 src/settings/filemanager.cpp:58 Binary needs to be started from application directory...
ERROR 2018-10-28 13:40:42.629 src/settings/filemanager.cpp:59 Expected runtime pathname is $SOMEDIR/bin/nixnote2, then application data is expected in $SOMEDIR/share/nixnote2
ERROR 2018-10-28 13:40:42.629 src/settings/filemanager.cpp:62 E.g. use something like: cd $PROJECT_DIR/appdir; ./usr/bin/nixnote2. Or you may use --programDataDir command line option for manual override.
% ./nixnote2 --programDataDir /home/ravi/code/aur/nixnote2-bin/squashfs-root/usr/bin/nixnote/
ERROR 2018-10-28 13:41:11.315 src/settings/filemanager.cpp:58 Binary needs to be started from application directory...
ERROR 2018-10-28 13:41:11.315 src/settings/filemanager.cpp:59 Expected runtime pathname is $SOMEDIR/bin/nixnote2, then application data is expected in $SOMEDIR/share/nixnote2
ERROR 2018-10-28 13:41:11.315 src/settings/filemanager.cpp:62 E.g. use something like: cd $PROJECT_DIR/appdir; ./usr/bin/nixnote2. Or you may use --programDataDir command line option for manual override.
% ./nixnote2 --programDataDir /home/ravi/code/aur/nixnote2-bin/squashfs-root/usr/bin/
ERROR 2018-10-28 13:41:21.241 src/settings/filemanager.cpp:58 Binary needs to be started from application directory...
ERROR 2018-10-28 13:41:21.241 src/settings/filemanager.cpp:59 Expected runtime pathname is $SOMEDIR/bin/nixnote2, then application data is expected in $SOMEDIR/share/nixnote2
ERROR 2018-10-28 13:41:21.241 src/settings/filemanager.cpp:62 E.g. use something like: cd $PROJECT_DIR/appdir; ./usr/bin/nixnote2. Or you may use --programDataDir command line option for manual override.
% ./nixnote2 --programDataDir /home/ravi/code/aur/nixnote2-bin/squashfs-root/usr/
ERROR 2018-10-28 13:41:25.483 src/settings/filemanager.cpp:58 Binary needs to be started from application directory...
ERROR 2018-10-28 13:41:25.483 src/settings/filemanager.cpp:59 Expected runtime pathname is $SOMEDIR/bin/nixnote2, then application data is expected in $SOMEDIR/share/nixnote2
ERROR 2018-10-28 13:41:25.483 src/settings/filemanager.cpp:62 E.g. use something like: cd $PROJECT_DIR/appdir; ./usr/bin/nixnote2. Or you may use --programDataDir command line option for manual override.
% ./nixnote2 --programDataDir /home/ravi/code/aur/nixnote2-bin/squashfs-root/
ERROR 2018-10-28 13:41:29.998 src/settings/filemanager.cpp:58 Binary needs to be started from application directory...
ERROR 2018-10-28 13:41:29.998 src/settings/filemanager.cpp:59 Expected runtime pathname is $SOMEDIR/bin/nixnote2, then application data is expected in $SOMEDIR/share/nixnote2
ERROR 2018-10-28 13:41:29.998 src/settings/filemanager.cpp:62 E.g. use something like: cd $PROJECT_DIR/appdir; ./usr/bin/nixnote2. Or you may use --programDataDir command line option for manual override.
% ./nixnote2 --programDataDir /home/ravi/code/aur/nixnote2-bin/squashfs-root/usr/lib
ERROR 2018-10-28 13:44:01.877 src/settings/filemanager.cpp:58 Binary needs to be started from application directory...
ERROR 2018-10-28 13:44:01.877 src/settings/filemanager.cpp:59 Expected runtime pathname is $SOMEDIR/bin/nixnote2, then application data is expected in $SOMEDIR/share/nixnote2
ERROR 2018-10-28 13:44:01.877 src/settings/filemanager.cpp:62 E.g. use something like: cd $PROJECT_DIR/appdir; ./usr/bin/nixnote2. Or you may use --programDataDir command line option for manual override.
% ./nixnote2 --programDataDir /home/ravi/code/aur/nixnote2-bin/squashfs-root/usr/share
ERROR 2018-10-28 13:44:17.970 src/settings/filemanager.cpp:58 Binary needs to be started from application directory...
ERROR 2018-10-28 13:44:17.970 src/settings/filemanager.cpp:59 Expected runtime pathname is $SOMEDIR/bin/nixnote2, then application data is expected in $SOMEDIR/share/nixnote2
ERROR 2018-10-28 13:44:17.970 src/settings/filemanager.cpp:62 E.g. use something like: cd $PROJECT_DIR/appdir; ./usr/bin/nixnote2. Or you may use --programDataDir command line option for manual override.
% ./nixnote2 --programDataDir /home/ravi/code/aur/nixnote2-bin/squashfs-root/usr/share/nixnote2
ERROR 2018-10-28 13:44:25.347 src/settings/filemanager.cpp:58 Binary needs to be started from application directory...
ERROR 2018-10-28 13:44:25.348 src/settings/filemanager.cpp:59 Expected runtime pathname is $SOMEDIR/bin/nixnote2, then application data is expected in $SOMEDIR/share/nixnote2
ERROR 2018-10-28 13:44:25.348 src/settings/filemanager.cpp:62 E.g. use something like: cd $PROJECT_DIR/appdir; ./usr/bin/nixnote2. Or you may use --programDataDir command line option for manual override.
Note, all of the above directories exist (they were entered by tab-expansion).
Perhaps it's the code that checks for the existence of the given directory?
% ./nixnote2 --programDataDir /root/DOESNOTEXIST
ERROR 2018-10-28 13:46:12.833 src/settings/filemanager.cpp:58 Binary needs to be started from application directory...
ERROR 2018-10-28 13:46:12.834 src/settings/filemanager.cpp:59 Expected runtime pathname is $SOMEDIR/bin/nixnote2, then application data is expected in $SOMEDIR/share/nixnote2
ERROR 2018-10-28 13:46:12.834 src/settings/filemanager.cpp:62 E.g. use something like: cd $PROJECT_DIR/appdir; ./usr/bin/nixnote2. Or you may use --programDataDir command line option for manual override.
from nixnote2.
In the message, is SOMEDIR
the root of the place it's being run from?
What is PROJECT_DIR
?
from nixnote2.
$SOMEDIR is the "install prefix". If you unpack the AppImage into /home/ravi/code/aur/nixnote2-bin/squashfs-root
then it its /home/ravi/code/aur/nixnote2-bin/squashfs-root/usr
.
Then if you run /home/ravi/code/aur/nixnote2-bin/squashfs-root/usr/bin/nixnote2
then it should find the data by itself as it should be in /home/ravi/code/aur/nixnote2-bin/squashfs-root/usr/share/nixnote2
.
Or you can say nixnote2 --programDataDir /home/ravi/code/aur/nixnote2-bin/squashfs-root/usr/share/nixnote2
.
$PROJECT_DIR
is the "project directory" - where you checkout the project from git, then its get per default installed in $PROJECT_DIR/appdir
and $SOMEDIR
would be $PnixnROJECT_DIR/appdir/usr
.
here data is NOT relocated, but I point to data dir manually
example where you compiled & installed to default location
here finaly example where binary is in non standard path but I point manually to data
from nixnote2.
--programDataDir
need to be a path with following files:
from nixnote2.
Thanks for the examples!
I worked out it was a syntax thing...
--programDataDir /d/dev/nixnote2/appdir/usr/share/nixnote2
doesn't work
--programDataDir=/d/dev/nixnote2/appdir/usr/share/nixnote2
does work
The =
is mandatory but no warning is printed if it is not given.
from nixnote2.
The = is mandatory but no warning is printed if it is not given.
yes. that's true.
from nixnote2.
Related Issues (20)
- 2.1.8: please update this link https://github.com/robert7/nixnote2/releases/download/continuous-develop/NixNote2-x86_64.AppImage HOT 4
- AppImage file name must contain version number HOT 5
- Shortcuts don't seem to be syncing HOT 2
- regression introduced in sorting code (pull #187) - narrow note list no longer sorted HOT 3
- Clarity on build pipeline, branches, tags HOT 3
- Releases: please provide binary for macOS
- regression since v2.1.9: nixnote2 no longer exiting cleanly (terminated by SIGABRT) HOT 14
- master branch triggers an unhandled exception in EDAMErrorCode::RATE_LIMIT_REACHED exception handling HOT 4
- develop branch - ccache added build dependency for the build-with-qmake.sh script not explicitely documented HOT 4
- debian packaging - wrong debian changelog package name
- Feature Request: add link to the images HOT 1
- Bug reseting background color of a note HOT 1
- Bug: Expanded icon and collapse icon don't change the visual HOT 1
- Need some help for building on Windows HOT 5
- Tags UI: not enough of space
- UI: dark theme: title in unreadable (white on white) when active (after mouse click)
- Windows: quick freezes (2-3 sec) each ~15secs HOT 2
- Feature request: Wayland support & icu 74.2 lib HOT 1
- API Issues with initial sync (RateLimitExceeded) HOT 31
- Nixnote2 will not connect to validate account HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nixnote2.