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

BibleTime is not starting on windows 7 #90

Closed
antskarner opened this Issue Jan 23, 2017 · 7 comments

Comments

Projects
None yet
3 participants
@antskarner

antskarner commented Jan 23, 2017

I do not know is this a bug or not, but when I start Bibletime as usual, nothing happens Then I started it via command prompt with --debug. An here is results: (BibleTime 2.11.0+52ef4a4d7f0d0902a0d90d6ef60c07da70b89ef7) WARNING: Could not create user settings directory relative to "C:/Program Files/BibleTime/bin" (BibleTime 2.11.0+52ef4a4d7f0d0902a0d90d6ef60c07da70b89ef7) FATAL: Error initializing directory cache! Please report this bug at https://github.com/bibletime/bibletime/issues Ih have no programming skills, but I hope that info eikk make this excellent brogram eve better. God bless you!

@antskarner

This comment has been minimized.

Show comment
Hide comment
@antskarner

antskarner Jan 23, 2017

Oh, I forgot to add info about Bibletime version. It is 2.11.0. Sorry for that!

antskarner commented Jan 23, 2017

Oh, I forgot to add info about Bibletime version. It is 2.11.0. Sorry for that!

@antskarner

This comment has been minimized.

Show comment
Hide comment
@antskarner

antskarner Jan 23, 2017

I found a solution for this problem: I had to run Bibletime as admistrator. And program started as it should normally. Then I ran it normally - everything works!

antskarner commented Jan 23, 2017

I found a solution for this problem: I had to run Bibletime as admistrator. And program started as it should normally. Then I ran it normally - everything works!

@gholmlund

This comment has been minimized.

Show comment
Hide comment
@gholmlund

gholmlund Jan 23, 2017

Contributor

The HOME directory for settings is defined in Windows by the value of the AppData environment variable. Please do "echo %AppData% in the command window and post its value.

Contributor

gholmlund commented Jan 23, 2017

The HOME directory for settings is defined in Windows by the value of the AppData environment variable. Please do "echo %AppData% in the command window and post its value.

@antskarner

This comment has been minimized.

Show comment
Hide comment
@antskarner

antskarner Jan 23, 2017

Here it is:
echo %AppData% C:\Users\Ats\AppData\Roaming Now I can add Bibles, etc only when I run the program in administrator mode.

antskarner commented Jan 23, 2017

Here it is:
echo %AppData% C:\Users\Ats\AppData\Roaming Now I can add Bibles, etc only when I run the program in administrator mode.

@gholmlund

This comment has been minimized.

Show comment
Hide comment
@gholmlund

gholmlund Jan 23, 2017

Contributor

I assume the AppData value is for being logged into the non-administrator? Can you verify that this directory exists. You will have to make hidden files visible to do this verification, because the "AppData" directory is normally hidden.

Contributor

gholmlund commented Jan 23, 2017

I assume the AppData value is for being logged into the non-administrator? Can you verify that this directory exists. You will have to make hidden files visible to do this verification, because the "AppData" directory is normally hidden.

@gholmlund

This comment has been minimized.

Show comment
Hide comment
@gholmlund

gholmlund Jan 24, 2017

Contributor

Never mind the previous request. I have found the problem. It is a Windows specific problem.

Technical details:
A defect on Windows related to a HOME directory containing international chars was fixed on Nov 23, 2016. This involved changing calls to getenv and putenv to GetEnvironmentVariable and PutEnvironmentVariable. This is in main.cpp. This is necessary to do before Sword is initialized because it uses $HOME for its settings and module storage.

However in utils/directory.cpp a qgetenv is used to read the $HOME variable. It appears to be cached and its value does not change due to the code in main.cpp. To fix this issue the qgetenv must be changed to a GetEnvironmentVariable. (for Windows)

Contributor

gholmlund commented Jan 24, 2017

Never mind the previous request. I have found the problem. It is a Windows specific problem.

Technical details:
A defect on Windows related to a HOME directory containing international chars was fixed on Nov 23, 2016. This involved changing calls to getenv and putenv to GetEnvironmentVariable and PutEnvironmentVariable. This is in main.cpp. This is necessary to do before Sword is initialized because it uses $HOME for its settings and module storage.

However in utils/directory.cpp a qgetenv is used to read the $HOME variable. It appears to be cached and its value does not change due to the code in main.cpp. To fix this issue the qgetenv must be changed to a GetEnvironmentVariable. (for Windows)

@gholmlund

This comment has been minimized.

Show comment
Hide comment
@gholmlund

gholmlund Jan 25, 2017

Contributor

I have done further testing on my comitted fix. It looks good. Closing

Contributor

gholmlund commented Jan 25, 2017

I have done further testing on my comitted fix. It looks good. Closing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment