First time wizard problem #50

Closed
nerijus opened this Issue Dec 25, 2014 · 34 comments

Projects

None yet

2 participants

@nerijus
nerijus commented Dec 25, 2014

If I delete /home/user/.config/q4wine, the first time wizard launches (btw, it is called First startup wizRAd, should be wizARd), in Step 3 the first 3 paths are filled, but wine libs (32 bit) and wine libs (64 bit) are empty. I fill 32 bit as /usr/lib/wine, leave 64 bit empty (my system is 32 bit), but after the wizard finishes it reports:

Error while loading application settings. wine's library path for 32 and 64 bit is not set.
Please, go to the q4wine options dialog and set at least one path.

In the Options->General all the paths are empty.

Fedora 21, $ wine --version
wine-1.7.33 (Staging)

$ rpm -qa|grep wine|sort
mingw32-wine-gecko-2.34-1.fc21.noarch
wine-1.7.33-1.fc21.i686
wine-alsa-1.7.33-1.fc21.i686
wine-arial-fonts-1.7.33-1.fc21.noarch
wine-capi-1.7.33-1.fc21.i686
wine-cms-1.7.33-1.fc21.i686
wine-common-1.7.33-1.fc21.noarch
wine-core-1.7.33-1.fc21.i686
wine-courier-fonts-1.7.33-1.fc21.noarch
wine-desktop-1.7.33-1.fc21.i686
wine-filesystem-1.7.33-1.fc21.noarch
wine-fixedsys-fonts-1.7.33-1.fc21.noarch
wine-fonts-1.7.33-1.fc21.noarch
wine-ldap-1.7.33-1.fc21.i686
wine-marlett-fonts-1.7.33-1.fc21.noarch
wine-mono-4.5.4-1.fc21.noarch
wine-ms-sans-serif-fonts-1.7.33-1.fc21.noarch
wine-openal-1.7.33-1.fc21.i686
wine-pulseaudio-1.7.33-1.fc21.i686
wine-symbol-fonts-1.7.33-1.fc21.noarch
wine-systemd-1.7.33-1.fc21.noarch
wine-system-fonts-1.7.33-1.fc21.noarch
wine-small-fonts-1.7.33-1.fc21.noarch
wine-tahoma-fonts-1.7.33-1.fc21.noarch
wine-twain-1.7.33-1.fc21.i686
wine-wingdings-fonts-1.7.33-1.fc21.noarch
wine-wow-1.7.33-1.fc21.i686

@brezerk
Owner
brezerk commented Dec 25, 2014

Hi.

Show me files in wine pkg please:

rpm -ql wine
@nerijus
nerijus commented Dec 25, 2014

$ rpm -ql wine
(contains no files)

$ rpm -ql wine-common
/usr/bin/msiexec
/usr/bin/notepad
/usr/bin/regedit
/usr/bin/regsvr32
/usr/bin/wineboot
/usr/bin/winecfg
/usr/bin/wineconsole
/usr/bin/winedbg
/usr/bin/winefile
/usr/bin/winemaker
/usr/bin/winemine
/usr/bin/winepath
/usr/share/man/de.UTF-8/man1/wine.1.gz
/usr/share/man/de.UTF-8/man1/wineserver.1.gz
/usr/share/man/fr.UTF-8/man1/wine.1.gz
/usr/share/man/fr.UTF-8/man1/wineserver.1.gz
/usr/share/man/man1/msiexec.1.gz
/usr/share/man/man1/notepad.1.gz
/usr/share/man/man1/regedit.1.gz
/usr/share/man/man1/regsvr32.1.gz
/usr/share/man/man1/wine.1.gz
/usr/share/man/man1/wineboot.1.gz
/usr/share/man/man1/winecfg.1.gz
/usr/share/man/man1/wineconsole.1.gz
/usr/share/man/man1/winefile.1.gz
/usr/share/man/man1/winemine.1.gz
/usr/share/man/man1/winepath.1.gz
/usr/share/man/man1/wineserver.1.gz
/usr/share/man/pl.UTF-8/man1/wine.1.gz

$ rpm -ql wine-core
/etc/ld.so.conf.d/wine-32.conf
/usr/bin/wine
/usr/bin/wine-preloader
/usr/bin/winedump
/usr/lib/libwine.so.1
/usr/lib/libwine.so.1.0
/usr/lib/wine
/usr/lib/wine/acledit.dll.so
/usr/lib/wine/aclui.dll.so
/usr/lib/wine/activeds.dll.so
/usr/lib/wine/actxprxy.dll.so
/usr/lib/wine/advapi32.dll.so
/usr/lib/wine/advpack.dll.so
/usr/lib/wine/amstream.dll.so
/usr/lib/wine/api-ms-win-core-com-l1-1-0.dll.so
...
/usr/lib/wine/apphelp.dll.so
/usr/lib/wine/appwiz.cpl.so
/usr/lib/wine/arp.exe.so
...
/usr/lib/wine/ext-ms-win-gdi-devcaps-l1-1-0.dll.so
/usr/lib/wine/extrac32.exe.so
/usr/lib/wine/fakedlls
/usr/lib/wine/fakedlls/acledit.dll
/usr/lib/wine/fakedlls/aclui.dll
/usr/lib/wine/fakedlls/activeds.dll
/usr/lib/wine/fakedlls/actxprxy.dll
/usr/lib/wine/fakedlls/advapi32.dll
/usr/lib/wine/fakedlls/advpack.dll
/usr/lib/wine/fakedlls/amstream.dll
/usr/lib/wine/fakedlls/api-ms-win-core-com-l1-1-0.dll
...
/usr/lib/wine/fakedlls/api-ms-win-service-winsvc-l1-2-0.dll
/usr/lib/wine/fakedlls/apphelp.dll
/usr/lib/wine/fakedlls/appwiz.cpl
/usr/lib/wine/fakedlls/arp.exe
/usr/lib/wine/fakedlls/aspnet_regiis.exe
...
/usr/lib/wine/fakedlls/xpssvcs.dll
/usr/lib/wine/faultrep.dll.so
...
/usr/lib/wine/xpssvcs.dll.so

lots of files skipped.

@nerijus
nerijus commented Dec 25, 2014

I uploaded all wine-core file listing in http://paste.fedoraproject.org/162947/41953133

@brezerk
Owner
brezerk commented Dec 25, 2014

i.c. thanks.

can you post output of
ldconfig -p | grep libwine
please?

@nerijus
nerijus commented Dec 25, 2014

$ ldconfig -p | grep libwine
libwine.so.1 (libc6) => /lib/libwine.so.1
In Fedora /lib is a link to /usr/lib:
$ ls -ld /lib
lrwxrwxrwx. 1 root root 7 2014-12-10 14:44 /lib -> usr/lib

@brezerk
Owner
brezerk commented Dec 25, 2014

i.c. will fix it :)

@brezerk
Owner
brezerk commented Dec 25, 2014

hi. Can you try this?

diff --git a/src/q4wine-lib/q4wine-lib.cpp b/src/q4wine-lib/q4wine-lib.cpp
index 62d4104..6552d6c 100644
--- a/src/q4wine-lib/q4wine-lib.cpp
+++ b/src/q4wine-lib/q4wine-lib.cpp
@@ -731,6 +731,12 @@ QStringList corelib::getWineLibsPath(void) {
                 continue;
             }
             QFileInfo file(path);
+
+            if (file.isSymLink()){
+                path = file.symLinkTarget();
+                file.setFile(path);
+            }
+
             if (!file.exists()){
                 qDebug()<<"[EE] File does not exist: " << path;
                 continue;
@nerijus
nerijus commented Dec 25, 2014

Nothing changed.

@brezerk
Owner
brezerk commented Dec 25, 2014

did you build and run it locally or with make install? if locally, then -DRELEASE=OFF should be set in order to use libq4wine.so from project directory.

@nerijus
nerijus commented Dec 25, 2014

Tried both. First patched, buillt and then ran from the source dir, then made an rpm package.

@brezerk
Owner
brezerk commented Dec 25, 2014

just noticed that you have no .so, only .so.1

ok this should work. try to build it with: -DDEBUG=ON it will produce verbose output to console.

diff --git a/src/q4wine-lib/q4wine-lib.cpp b/src/q4wine-lib/q4wine-lib.cpp
index 62d4104..bf8ef2d 100644
--- a/src/q4wine-lib/q4wine-lib.cpp
+++ b/src/q4wine-lib/q4wine-lib.cpp
@@ -713,11 +713,14 @@ QStringList corelib::getWineLibsPath(void) {
     if (!string.isEmpty()){
         QStringList libs_list = string.split("\n");
 #ifdef _OS_LINUX_
-        QRegExp rx_info(".*\\((.*)\\) => (.*\\.so$)");
+        QRegExp rx_info(".*\\((.*)\\) => (.*\\.so.*$)");
 #else
         QRegExp rx_info("(.*) => (.*\\.so.*)");
 #endif
         foreach (QString lib_info, libs_list){
+#ifdef DEBUG
+            qDebug()<<"[ii] work with: " <<  lib_info;
+#endif
             int pos = rx_info.indexIn(lib_info);
             QString arch, path;
             if (pos > -1) {
@@ -726,11 +729,15 @@ QStringList corelib::getWineLibsPath(void) {
             } else {
                 continue;
             }
+#ifdef DEBUG
+            qDebug()<<"[ii] Found: " <<  arch << " " << path;
+#endif
             if (path.isEmpty()){
                 qDebug()<<"[EE] No winelib.so found in: " << lib_info;
                 continue;
             }
             QFileInfo file(path);
+
             if (!file.exists()){
                 qDebug()<<"[EE] File does not exist: " << path;
                 continue;
@nerijus
nerijus commented Dec 25, 2014

In Step 3 path for Libs (32 bit) is detected as /lib/wine/, but, after finishing wizard and opening Options, all the paths are empty except Libs (32 bit). The default.conf section [wine] is:
WineLibs32=/lib/wine/
WineLibs64=

@brezerk
Owner
brezerk commented Dec 25, 2014

Ok. This should work since you are using non amd64 system. Try to run something :)

@nerijus
nerijus commented Dec 25, 2014

But there are no such settings:
WineBin=/usr/bin/wine
ServerBin=/usr/bin/wineserver
LoaderBin=/usr/bin/wine
WineLibs=/usr/lib/wine

my old default.conf looks like:
[wine]
WineBin=/usr/bin/wine
ServerBin=/usr/bin/wineserver
LoaderBin=/usr/bin/wine
WineLibs=/usr/lib/wine
WineLibs32=/usr/lib/wine
WineLibs64=

@brezerk
Owner
brezerk commented Dec 25, 2014

O_o

@brezerk
Owner
brezerk commented Dec 25, 2014

Does

# which wine
# which wineserver

works for you? anything in q4wine's output?

@nerijus
nerijus commented Dec 25, 2014

$ which wine
/usr/bin/wine
$ which wineserver
/usr/bin/wineserver

As I told before, wine works here, for example, I can run wine notepad or other exe files.

@nerijus
nerijus commented Dec 25, 2014

q4wine output with no config (i.e. running wizard):

$ ./q4wine
[ii] i18n path: "/usr/share/q4wine/i18n"
[ii] LC_ALL: "lt_LT.utf8"
[ii] Lang before split: "lt_LT.utf8"
[ii] Lang to load: "q4wine_lt_lt"
[EE] Cannot open user selected translation
[ii] Check for directory: "/home/user/.config/q4wine/"
[ii] Check for directory: "/home/user/.config/q4wine/db"
[ii] Check for directory: "/home/user/.config/q4wine/icons"
[ii] Check for directory: "/home/user/.config/q4wine/prefixes"
[ii] Check for directory: "/home/user/.config/q4wine/tmp"
[ii] Check for directory: "/home/user/.config/q4wine/theme"
[ii] Check for directory: "/home/user/.config/q4wine/tmp/cache"
[ii] Check for directory: "/home/user/.config/q4wine/scripts"
[ii] Check for directory: "/home/user/.local/share/wineprefixes"
[ii] Init database engine
[ii] Loading QSQLITE driver...
[ii] Loading database file: "/home/user/.config/q4wine/db/generic.dat"
[ii] Check for table: "prefix"
[ii] Check for table: "dir"
[ii] Check for table: "icon"
[ii] Check for table: "images"
[ii] Check for table: "last_run_icon"
[ii] Check for table: "logging"
[ii] Check for table: "providers"
[ii] Check for table: "sysconfig"
[ii] Check for table: "versions"
[ii] " libwine.so.1 (libc6) => /lib/libwine.so.1
"
[ii] work with: " libwine.so.1 (libc6) => /lib/libwine.so.1"
[ii] Found: "libc6" "/lib/libwine.so.1"
[ii] work with: ""
[ii] LC_ALL: "lt_LT.utf8"
[ii] Lang before split: "lt_LT.utf8"
[ii] Lang to load: "q4wine_lt_lt"
[ii] Wizard::creating icons
[ii] Wizard::done
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-Default.directory" "/home/user/.local/share/applications/q4wine/Default"
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-Default-system.directory" "/home/user/.local/share/applications/q4wine/Default/system"
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-Default-autostart.directory" "/home/user/.local/share/applications/q4wine/Default/autostart"
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-Default-import.directory" "/home/user/.local/share/applications/q4wine/Default/import"
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-q4wine.directory" "/home/user/.local/share/applications/q4wine"
[DD] Remove dir "/home/user/.config/q4wine/tmp/cache"
[ii] Check for directory: "/home/user/.config/q4wine/tmp"
[ii] Check for directory: "/home/user/.config/q4wine/tmp/cache"
[ii] Creating Q4Wine socket
[ii] Socket file name: "/tmp/q4wine-1000.sock"
[ii] " libwine.so.1 (libc6) => /lib/libwine.so.1
"
[ii] work with: " libwine.so.1 (libc6) => /lib/libwine.so.1"
[ii] Found: "libc6" "/lib/libwine.so.1"
[ii] work with: ""
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-q4wine.directory" "/home/user/.local/share/applications/q4wine"
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-Default.directory" "/home/user/.local/share/applications/q4wine/Default"
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-Default-system.directory" "/home/user/.local/share/applications/q4wine/Default/system"
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-Default-autostart.directory" "/home/user/.local/share/applications/q4wine/Default/autostart"
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-Default-import.directory" "/home/user/.local/share/applications/q4wine/Default/import"
[DD] cr_dir_info: "/home/user/.local/share/desktop-directories/q4wine-q4wine.directory" "/home/user/.local/share/applications/q4wine"

(process:6431): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

@nerijus
nerijus commented Dec 25, 2014

After the wizard in Options->General->Wine Settings everything is empty, except Libs (32 bit): /lib/wine/

@brezerk
Owner
brezerk commented Dec 25, 2014

Yes. Reproduced rerunning wizard with empty config.

@brezerk
Owner
brezerk commented Dec 25, 2014

Hah :) Take a look into Tools -> Version control

@nerijus
nerijus commented Dec 25, 2014

I opened it, it shows:
Binary: /usr/bin/wine
Server: /usr/bin/wineserver
Loader: /usr/bin/wine
Libs 32: /lib/wine/
Libs 64: empty
and now when I press OK, I get:
Path ''is not exists.

@brezerk
Owner
brezerk commented Dec 25, 2014

Wine settings was migrated from static cfg file into Version control.

But App Settings was not updated. Will fix it.

Path ''is not exists.

yeah. Lib 64 should be optional.

@nerijus
nerijus commented Dec 25, 2014

So I restored my old config, but when running app I get in the log:

Exec string:
/usr/bin/env  WINEPREFIX='/home/user/.wine'  WINESERVER='/usr/bin/wineserver'  WINELOADER='/usr/bin/wine'  WINEDLLPATH=''  /bin/sh -c "cd '/mnt/ntfs/Program Files/Snowball Interactive/BigRace(Lithuanian)/' &&   '/usr/bin/wine'   'BG_Start.exe'  2>&1 "
Exit code:
10
App STDOUT and STDERR output:
Can't load version information. Check prefix and/or version settings.
@nerijus
nerijus commented Dec 25, 2014

But, when put /usr/lib/wine in Tools->Version Manager, the app launched.

@brezerk
Owner
brezerk commented Dec 26, 2014

Ok. Try 9c1383d

  • Remove Wine settings from App settings [BUG-50,BUG-23];
  • Make Wine64 libs optional (for x86 only platforms) [BUG-50];
@brezerk
Owner
brezerk commented Dec 26, 2014

But, when put /usr/lib/wine in Tools->Version Manager, the app launched.

Did you put it into 64-nit Library filed?

@brezerk brezerk added the Bug label Dec 26, 2014
@brezerk brezerk self-assigned this Dec 26, 2014
@nerijus
nerijus commented Dec 26, 2014

Yes, I put /usr/lib/wine into 64 bit too, as otherwise I could not close dialog, but after closing and reopening Lib 64 bit was empty. Will try with a new source in a few minutes.

@nerijus
nerijus commented Dec 26, 2014

With a new source everything seems OK - wizard completes successfully, values in Version Manager are OK. When I use old config, I have to enter Libs 32 setting.

@nerijus nerijus closed this Dec 26, 2014
@nerijus
nerijus commented Dec 26, 2014

BTW, it would be nice to migrate the old lib setting when the new version is run the first time, otherwise there will be bug reports when people upgrade.

@nerijus
nerijus commented Dec 26, 2014

BTW2, could you please apply the following patch - http://paste.fedoraproject.org/163001/95566391/ ?

@brezerk
Owner
brezerk commented Dec 26, 2014

There are migration steps already available. Can you send my old settings and old db please?

@brezerk
Owner
brezerk commented Dec 26, 2014
BTW2, could you please apply the following patch - http://paste.fedoraproject.org/163001/95566391/ ?

Applied. Thanks a lot.

btw: do you still need to set Libs 64 settings in order to run apps?

@nerijus
nerijus commented Dec 26, 2014

Old settings are http://sat.lt/q4wine.tgz. No, I don't need Libs 64 settings to run apps.

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