Opened 14 years ago

Closed 13 years ago

Last modified 13 years ago

#27766 closed defect (duplicate)

krusader: CMake Error at FindQt4.cmake:1256

Reported by: elimli@… Owned by: jonas@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: Kostya.Hvan@…, craftey, almatea_sub@…, alexander.misharin@…
Port: krusader

Description (last modified by ryandesign (Ryan Carsten Schmidt))

During installation of krusader I got the next error message:

CMake Error at /opt/local/share/apps/cmake/modules/FindQt4.cmake:1256 (MESSAGE):
  Qt qmake not found!

Tried to patch the Portfile as suggested at #27622 - still no help

Attachments (1)

main.log (168.7 KB) - added by Kostya.Hvan@… 14 years ago.
build log

Download all attachments as: .zip

Change History (21)

comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Owner: changed from macports-tickets@… to jonas@…
Port: krusader added
Summary: CMake Error at FindQt4.cmake:1256krusader: CMake Error at FindQt4.cmake:1256

Has duplicate #27767.

comment:2 Changed 14 years ago by jmroot (Joshua Root)

Please provide more information: OS and Xcode versions, version of the port, and the full log file.

Changed 14 years ago by Kostya.Hvan@…

Attachment: main.log added

build log

comment:3 Changed 14 years ago by Kostya.Hvan@…

same error

log in attachment

xcode version Version 3.2.5 64-bit

Component versions Xcode IDE: 1760.0 Xcode Core: 1763.0 ToolSupport: 1758.0

macosx 10.6.5 build 10h574

MacPorts 1.9.2

comment:4 Changed 14 years ago by Kostya.Hvan@…

qmake version

khvans-MacBook-Pro:~ khvan$ which qmake /opt/local/bin/qmake khvans-MacBook-Pro:~ khvan$ qmake -v QMake version 2.01a Using Qt version 4.7.1 in /opt/local/lib

comment:5 Changed 14 years ago by Kostya.Hvan@…

Cc: Kostya.Hvan@… added

Cc Me!

comment:6 Changed 14 years ago by zoleeca@…

Inserting the bold line into the Portfile made configure to run successfully krusader Portfile:

...
patch.dir                    ${workpath}/${distname}

//Insert this line to define where qmake is:
configure.args          -DQT_QMAKE_EXECUTABLE=/opt/local/bin/qmake

configure.args-append   ../${distname}

Unfortunately, after that fix, I still got "error: call of overloaded 'QString(int)' is ambiguous" when building :(

comment:7 in reply to:  6 ; Changed 14 years ago by info@…

Replying to zoleeca@…:

Inserting the bold line into the Portfile made configure to run successfully krusader Portfile:

...
patch.dir                    ${workpath}/${distname}

//Insert this line to define where qmake is:
configure.args          -DQT_QMAKE_EXECUTABLE=/opt/local/bin/qmake

configure.args-append   ../${distname}

Unfortunately, after that fix, I still got "error: call of overloaded 'QString(int)' is ambiguous" when building :(

Is there some problem with the fsData::fsData() constructor used in kmountmangui.h?

After trying the above fix, the compiler generated an error with: opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_kde_krusader/work/krusader-2.0.0/krusader/MountMan/kmountmangui.h:116: error: call of overloaded 'QString(int)' is ambiguous.

A google search revealed other projects had similar errors when attempting to initialize QString with an int - http://bugs.scribus.net/view.php?id=8983 "Build of Scribus 1.3.6 on Fedora Rawhide with Qt 4.7 Technology Preview failed because there are 2 places where QStrings are initialized with 0 instead of QString::null and the compiler throws an error"and https://bugs.launchpad.net/ubuntu/+source/konq-plugins/+bug/600597 "Compile fixes for Qt 4.7. (Can't initialize QString with an int anymore)".

In kmountmangui.h replacing

class fsData { public:

fsData() : Name( 0 ), Type( 0 ), MntPoint( 0 ), TotalBlks( 0 ), FreeBlks( 0 ), Mounted( false ) {}

with

class fsData { public:

fsData() : Name(QString::null), Type(QString::null), MntPoint(QString::null), TotalBlks( 0 ), FreeBlks( 0 ), Mounted( false ) {}

allowed a compile.

Next compile generated an eror with: opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_kde_krusader/work/krusader-2.0.0/krusader/krslots.cpp:453: error: call of overloaded 'QString(int)' is ambiguous

In krslots.cpp replacing

KrSearchDialog::SearchDialog = new KrSearchDialog();

with

KrSearchDialog::SearchDialog = new KrSearchDialog(QString::null);

allowed krusader to compile

Unfortunately, I am not a programmer so these changes might do more harm than good.

comment:8 in reply to:  7 Changed 14 years ago by Kostya.Hvan@…

Replying to info@…:

fsData() : Name(QString::null), Type(QString::null), MntPoint(QString::null), TotalBlks( 0 ), FreeBlks( 0 ), Mounted( false {}

Unfortunately, I am not a programmer so these changes might do more harm than good.

i dont know qt well enough, but i guess using "0" instead of QString::null is better idea, since nulls usually lead to crushes

comment:9 Changed 14 years ago by craftey

I read through this thread, and was able to build krusader again, after a long time living with a broken port. It all began when kde and qt was upgraded to higher versions within the porttree.

To fix krusader 2.0.0 for now:

  1. I had to edit the Portfile
    -PortGroup           kde4   1.0
    +PortGroup           kde4   1.1
    

This fixes the "missing phonon" issue #27221.

Note: With current up-to-date ports I did not had to add a line "configure.args -DQT_QMAKE_EXECUTABLE=/opt/local/bin/qmake" which is mentioned above. My qmake seems to be correctly installed and so can be found without additional tricks.

In order to fix the compile errors I looked into an actual repo of krusader (2.3beta, I believe) at https://projects.kde.org/projects/extragear/utils/krusader/repository (the backend seems to have some problems currently, cannot display the file contents atm). The actual code inspires the following two changes in our v2.0.0:

krusader/MountMan/kmountmangui.h:116:

public:
-    fsData() : Name( 0 ), Type( 0 ), MntPoint( 0 ), TotalBlks( 0 ), 
+    fsData() : Name(), Type(), MntPoint(), TotalBlks( 0 ), 
    FreeBlks( 0 ), Mounted( false ) {}

krusader/Search/krsearchdialog.h:65

public:
-    KrSearchDialog(QString profile = 0, QWidget* parent = 0 );
+    KrSearchDialog(QString profile = QString(), QWidget* parent = 0);

    void prepareGUI();

So who can now put this patch into the Portfile? Or should we better use a higher version of krusader in order to be compatible to the newer qt-stuff?

Cheers, petep!

comment:10 Changed 14 years ago by craftey

Cc: petep@… added

Cc Me!

comment:11 in reply to:  9 ; Changed 14 years ago by jonas@…

Replying to petep@…:

[...]

So who can now put this patch into the Portfile?

If it makes this port compile again, feel free to commit. I for my part don't have the time to compile and test the whole dependency tree right now.

Or should we better use a higher version of krusader in order to be compatible to the newer qt-stuff?

I would strongly sugest doing so. Since we only have one active developer atm there won't be any "stable" release in the near future. The betas do contain many improvements over the latest stable though.

Offtopic: If projects.kde.org isn't working, you can always try the alternative repo browser at http://quickgit.kde.org/

comment:12 in reply to:  11 Changed 14 years ago by baris_malcioglu@…

I was wondering when this issue will be fixed, or will it be fixed?

Replying to jonas@…:

Replying to petep@…:

[...]

So who can now put this patch into the Portfile?

If it makes this port compile again, feel free to commit. I for my part don't have the time to compile and test the whole dependency tree right now.

Or should we better use a higher version of krusader in order to be compatible to the newer qt-stuff?

I would strongly sugest doing so. Since we only have one active developer atm there won't be any "stable" release in the near future. The betas do contain many improvements over the latest stable though.

Offtopic: If projects.kde.org isn't working, you can always try the alternative repo browser at http://quickgit.kde.org/

comment:13 in reply to:  9 Changed 13 years ago by jorge.silva@…

Replying to petep@…:

I read through this thread, and was able to build krusader again, after a long time living with a broken port. It all began when kde and qt was upgraded to higher versions within the porttree.

To fix krusader 2.0.0 for now:

  1. I had to edit the Portfile
    -PortGroup           kde4   1.0
    +PortGroup           kde4   1.1
    

This fixes the "missing phonon" issue #27221.

Note: With current up-to-date ports I did not had to add a line "configure.args -DQT_QMAKE_EXECUTABLE=/opt/local/bin/qmake" which is mentioned above. My qmake seems to be correctly installed and so can be found without additional tricks.

In order to fix the compile errors I looked into an actual repo of krusader (2.3beta, I believe) at https://projects.kde.org/projects/extragear/utils/krusader/repository (the backend seems to have some problems currently, cannot display the file contents atm). The actual code inspires the following two changes in our v2.0.0:

krusader/MountMan/kmountmangui.h:116:

public:
-    fsData() : Name( 0 ), Type( 0 ), MntPoint( 0 ), TotalBlks( 0 ), 
+    fsData() : Name(), Type(), MntPoint(), TotalBlks( 0 ), 
    FreeBlks( 0 ), Mounted( false ) {}

krusader/Search/krsearchdialog.h:65

public:
-    KrSearchDialog(QString profile = 0, QWidget* parent = 0 );
+    KrSearchDialog(QString profile = QString(), QWidget* parent = 0);

    void prepareGUI();

So who can now put this patch into the Portfile? Or should we better use a higher version of krusader in order to be compatible to the newer qt-stuff?

Cheers, petep!

Works great, thanks! Has it been committed? Otherwise I can push it up it anybody gives me commit access

cheers! jsilva

comment:14 Changed 13 years ago by almatea_sub@…

I have same trouble! Krusader do not build.

quote from main.log:

:info:configure CMake Error at /opt/local/share/apps/cmake/modules/FindQt4.cmake:1269 (MESSAGE):
:info:configure   Qt qmake not found!
:info:configure Call Stack (most recent call first):
:info:configure   /opt/local/share/apps/cmake/modules/FindKDE4Internal.cmake:420 (find_package)
:info:configure   /opt/local/share/cmake-2.8/Modules/FindKDE4.cmake:95 (FIND_PACKAGE)
:info:configure   CMakeLists.txt:3 (find_package)
:info:configure 
:info:configure 
:info:configure -- Configuring incomplete, errors occurred!

why it can simple work?..

comment:15 Changed 13 years ago by almatea_sub@…

Cc: almatea_sub@… added

Cc Me!

comment:16 Changed 13 years ago by almatea_sub@…

Cc: almatea_sub@… removed

Cc Me!

comment:17 Changed 13 years ago by almatea_sub@…

Cc: almatea_sub@… added

Cc Me!

comment:18 Changed 13 years ago by alexander.misharin@…

Cc: alexander.misharin@… added

Cc Me!

comment:19 Changed 13 years ago by jmroot (Joshua Root)

Resolution: duplicate
Status: newclosed

comment:20 Changed 13 years ago by almatea_sub@…

where can me to find a solution?

Note: See TracTickets for help on using tickets.