# Fatal error: qmrmlnodecombobox.h: No such file or directory

**URL:** <https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338>\
**Category:** Development\
**Created:** [March 16, 2018, 7:53pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338 "2018-03-16T19:53:28Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![brhoom](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/brhoom/32/1228_2.png) [@brhoom](https://discourse.slicer.org/u/brhoom)\
**Post date:** [March 16, 2018, 7:53pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/1 "2018-03-16T19:53:29Z")

</div>

Dear all,

I think there is a bug related to the error in the title. I found there is still unanswered post [here](http://slicer-devel-archive.65872.n3.nabble.com/slicer-trunk-not-compiling-td3664132.html)

It happens when I compile my extension in Linux (windows users don’t have this problem). I found out that in the source file that caused this error there is this line:

```
  #include <qmrmlnodecomboBox.h>

```

and replacing it with this line solved the problem:

```
  #include <qMRMLNodeComboBox.h>

```

It would be nice to fix this error in slicer source as I don’t know how.

Best!  
Ibraheem

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [March 16, 2018, 8:22pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/2 "2018-03-16T20:22:39Z")

</div>

I couldn’t find this lower case include in the current Slicer code. If you’re using an old Slicer, please update to the latest (or at least 4.8.1 if you don’t want the nightly for some reason).

---

<div class="post-metadata">

**Author:** ![brhoom](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/brhoom/32/1228_2.png) [@brhoom](https://discourse.slicer.org/u/brhoom)\
**Post date:** [March 16, 2018, 8:25pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/3 "2018-03-16T20:25:15Z")

</div>

my Slicer-build is the stable one 4.8.1. Do you think maybe the extension template is old?

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [March 16, 2018, 8:41pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/4 "2018-03-16T20:41:54Z")

</div>

Sorry but I cannot any mention of the combobox in the [template](https://github.com/Slicer/Slicer/tree/master/Extensions/Testing/LoadableExtensionTemplate/LoadableModuleTemplate).

Can you please describe what you want to do in more detail?

---

<div class="post-metadata">

**Author:** ![brhoom](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/brhoom/32/1228_2.png) [@brhoom](https://discourse.slicer.org/u/brhoom)\
**Post date:** [March 16, 2018, 8:54pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/5 "2018-03-16T20:54:58Z")

</div>

It is strange that I found it in the extension source code and it was correct.

In my extension there is Resources/UI/ qSlicerBrhoomModuleWidget.ui

In this file there are these lines:

```
    <layout class="QVBoxLayout" name="verticalLayout">
        <item>
            <widget class="ctkCollapsibleButton" name="CTKCollapsibleButton" native="true">
            .
            .
            .

                    <item>
                        <widget class="qMRMLNodeComboBox" name="MRMLNodeComboBox_Model">
                            <property name="nodeTypes">
                                <stringlist>
                                    <string>vtkMRMLModelNode</string>
                                </stringlist>
                            </property>
                            <property name="renameEnabled">
                                <bool>true</bool>
                            </property>
                            <property name="removeEnabled">
                                <bool>false</bool>
                            </property>
                        </widget>
                    </item>

```

This is the only place I found it and it is correct. I think is related to the use of qt wrapping and cmake in slicer as the file ui\_qSlicerBrhoomModuleWidget.h is generated after the build in the build folder and generates the mentioned error in my case.

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [March 17, 2018, 1:46am UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/6 "2018-03-17T01:46:24Z")

</div>

Yes it seems to be correct. If you do a clean build (delete binary folder, CMake, build), does the same error occur?

---

<div class="post-metadata">

**Author:** ![brhoom](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/brhoom/32/1228_2.png) [@brhoom](https://discourse.slicer.org/u/brhoom)\
**Post date:** [March 17, 2018, 4:14pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/7 "2018-03-17T16:14:06Z")

</div>

Yes, the error happens with clean build as well. I also tested it in different Linux machines with different Slicer-build versions.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [March 17, 2018, 4:44pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/8 "2018-03-17T16:44:46Z")

</div>

Have you added the combobox using Qt designer or by manually editing the file in a text editor? If you use custom widgets then you have to add special declarations for them in the .ui file (Qt designer adds those automatically).

---

<div class="post-metadata">

**Author:** ![brhoom](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/brhoom/32/1228_2.png) [@brhoom](https://discourse.slicer.org/u/brhoom)\
**Post date:** [March 17, 2018, 6:03pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/9 "2018-03-17T18:03:37Z")

</div>

It was added manually.  
What are these declaration?  
I tried to use the designer but I am not sure how to add the ctk and mrml libs to qt designer. I tried [this](https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/QtDesigner)

In order to have the CTK and MRML widgets in Qt Designer, Qt Designer offers 2 options:

- the first (not detailed here) is to copy (or symlink) the CTK and MRML plugin libraries into %QT\_DIR%/plugins/designer,
- the second is to set the environment variable QT\_PLUGIN\_PATH to the directory Slicer-build/bin containing the subdirectory designer with the plugin libraries. Note: Qt requires that the directory containing the designer plugins is named “designer”.

Which files I need to copy? I run

```
export QT_PLUGIN_PATH=~/SlicerDev-4.8.1/build/Slicer-build/bin/designer
~/SlicerDev-4.8.1/build/Slicer -- designer
but still I can't see the ctk or mrml widgets
```

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [March 17, 2018, 6:10pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/10 "2018-03-17T18:10:27Z")

</div>

I don’t think you need to export any environment variables. Just running `./Slicer --designer` (note there is no space before --) should work. What operating system do you use?

---

<div class="post-metadata">

**Author:** ![brhoom](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/brhoom/32/1228_2.png) [@brhoom](https://discourse.slicer.org/u/brhoom)\
**Post date:** [March 17, 2018, 6:40pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/11 "2018-03-17T18:40:58Z")

</div>

I am using Ubuntu, with no space I get an error bash: ./Slicer–designer: No such file or directory

with space, the designer is opened but I don’t see the widgets. I checked in designer:  
Help-\>Plugins

there are paths to my SlicerDev4.8.1/build/CTK-build/bin/designer/lib …

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [March 17, 2018, 6:58pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/12 "2018-03-17T18:58:18Z")

</div>

I’m not sure why --designer is not available on Ubuntu, but it is just a convenience function and it is equivalent to `./Slicer --launch full/path/to/designer`

---

<div class="post-metadata">

**Author:** ![brhoom](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/brhoom/32/1228_2.png) [@brhoom](https://discourse.slicer.org/u/brhoom)\
**Post date:** [March 18, 2018, 5:18pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/13 "2018-03-18T17:18:52Z")

</div>

I had multiple Qt in my system so I think this is was the problem. I removed all the current Qt installed. Then:

```
sudo apt install qt4-dev-tools
sudo apt install qt4-qtconfig 
sudo apt install libqtwebkit-dev

```

After that I rebuilt Slicer, redesigned the ui using ./Slicer --designer then rebuilt the extension. No more errors.

---

<div class="post-metadata">

**Author:** ![Amir\_Zolal](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/amir_zolal/32/9423_2.png) [@Amir\_Zolal](https://discourse.slicer.org/u/Amir_Zolal)\
**Post date:** [January 7, 2021, 3:54pm UTC](https://discourse.slicer.org/t/fatal-error-qmrmlnodecombobox-h-no-such-file-or-directory/2338/14 "2021-01-07T15:54:36Z")

</div>

So this is still alive in some extensions in 2021.

```
/home/zolal/Slicerbuild/SlicerDRRGenerator-build/DRRGeneratorModule/ui_qSlicerDRRGeneratorModuleModuleWidget.h:22:10: fatal error: qmrmlnodecombobox.h: No such file or directory
   22 | #include <qmrmlnodecombobox.h>
      | ^ ~~~~~~~~~~~~~~~~~~~~
compilation terminated.

```

Solved by replacing with qMRMLNodeComboBox.h
