Skip to content
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

QT error with singularity container #94

Open
willgpaik opened this issue Jan 13, 2025 · 3 comments
Open

QT error with singularity container #94

willgpaik opened this issue Jan 13, 2025 · 3 comments

Comments

@willgpaik
Copy link

Hello,

I am trying to install DSI Studio using Singularity on Rocky 9 Linux, but I keep encountering the following error message::

Apptainer> dsi_studio 
DSI Studio version: Hou "侯" Dec 26 2024
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

I attempted to resolve the issue by setting QT_QPA_PLATFORM=xcb, but this did not fix the problem. I tried launching the container with the following command:

singularity shell --bind /tmp/.X11-unix:/tmp/.X11-unix --env DISPLAY=$DISPLAY --env QT_QPA_PLATFORM=xcb dsistudio_latest.sif

I also tried running it using Docker on Fedora, but encountered the same error message.

@frankyeh
Copy link
Owner

frankyeh commented Jan 16, 2025 via email

@willgpaik
Copy link
Author

Hello Frank,

Thank you for the reply. I'm trying to install from source instead since container cannot be used for GUI. I installed TIPL (2022 version) and now installing DSI-Studio. However, I'm getting following errors:

n file included from /tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp:6,
                 from /tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/../../../auto_track.h:7,
                 from /tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/moc_auto_track.cpp:9,
                 from /tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/mocs_compilation.cpp:2:
/tmp/DSI-Studio-2024.06.12/libs/mapping/connectometry_db.hpp:49:28: error: ‘tipl::io::gz_mat_read’ has not been declared
   49 |     bool is_odf_consistent(tipl::io::gz_mat_read& m);
      |                            ^~~~
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp:14:15: error: ‘tipl::io::gz_mat_read’ has not been declared
   14 |     bool read(tipl::io::gz_mat_read& mat_reader);
      |               ^~~~
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp:46:19: error: ‘tipl::io::gz_mat_read’ has not been declared
   46 |     bool add_data(tipl::io::gz_mat_read& mat_reader);
      |                   ^~~~
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp:160:15: error: ‘gz_mat_read’ in namespace ‘tipl::io’ does not name a type; did you mean ‘mat_read’?
  160 |     tipl::io::gz_mat_read* mat_reader = nullptr;
      |               ^~~~~~~~~~~
      |               mat_read
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp:174:62: error: ‘tipl::io::gz_mat_read’ has not been declared
  174 |     item(const std::string& name_,const tipl::shape<3>& dim_,tipl::io::gz_mat_read* mat_reader_,unsigned int index_):
      |                                                              ^~~~
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp: In constructor ‘item::item(const std::string&, const tipl::shape<3>&, int*, unsigned int)’:
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp:175:66: error: class ‘item’ does not have any field named ‘mat_reader’
  175 |         image_data(tipl::make_image((const float*)nullptr,dim_)),mat_reader(mat_reader_),image_index(index_),name(name_)
      |                                                                  ^~~~~~~~~~
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp: In member function ‘void item::get_minmax()’:
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp:211:41: error: no matching function for call to ‘minmax_value(const float*, const float*)’
  211 |         auto result = tipl::minmax_value(I.begin(),I.end());
      |                       ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from /tmp/build/include/morphology/../numerical/basic_op.hpp:6,
                 from /tmp/build/include/morphology/morphology.hpp:7,
                 from /tmp/build/include/TIPL/tipl.hpp:17,
                 from /tmp/DSI-Studio-2024.06.12/libs/mapping/connectometry_db.hpp:6:
/tmp/build/include/morphology/../numerical/../numerical/numerical.hpp:831:17: note: candidate: ‘template<class iterator_type, class value_type> void tipl::minmax_value(iterator_type, iterator_type, value_type&, value_type&)’
  831 | __INLINE__ void minmax_value(iterator_type iter,iterator_type end,value_type& minv,value_type& maxv)
      |                 ^~~~~~~~~~~~
/tmp/build/include/morphology/../numerical/../numerical/numerical.hpp:831:17: note:   candidate expects 4 arguments, 2 provided
/tmp/build/include/morphology/../numerical/../numerical/numerical.hpp:851:6: note: candidate: ‘template<class T, class value_type> void tipl::minmax_value(const T&, value_type&, value_type&)’
  851 | void minmax_value(const T& data,value_type& minv,value_type& maxv)
      |      ^~~~~~~~~~~~
/tmp/build/include/morphology/../numerical/../numerical/numerical.hpp:851:6: note:   candidate expects 3 arguments, 2 provided
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp: At global scope:
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp:229:15: error: ‘gz_mat_read’ in namespace ‘tipl::io’ does not name a type; did you mean ‘mat_read’?
  229 |     tipl::io::gz_mat_read mat_reader;
      |               ^~~~~~~~~~~
      |               mat_read
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp: In member function ‘bool fib_data::has_odfs() const’:
/tmp/DSI-Studio-2024.06.12/libs/tracking/fib_data.hpp:374:38: error: ‘mat_reader’ was not declared in this scope
  374 |     bool has_odfs(void) const{return mat_reader.has("odf0");}
      |                                      ^~~~~~~~~~
In file included from /tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/../../../view_image.h:7,
                 from /tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/moc_view_image.cpp:9,
                 from /tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/mocs_compilation.cpp:27:
/tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/../../../cmd/img.hpp: At global scope:
/tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/../../../cmd/img.hpp:49:56: error: ‘tipl::io::gz_mat_read’ has not been declared
   49 |     bool read_mat_image(const std::string& metric_name,tipl::io::gz_mat_read& mat);
      |                                                        ^~~~
/tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/../../../cmd/img.hpp: In member function ‘variant_image& variant_image::operator=(const variant_image&)’:
/tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/../../../cmd/img.hpp:23:71: warning: no return statement in function returning non-void [-Wreturn-type]
   23 |     variant_image& operator=(const variant_image& rhs){copy_from(rhs);}
      |                                                                       ^
      |                                                                       return *this;
/tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/../../../view_image.h: At global scope:
/tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/../../../view_image.h:32:15: error: ‘gz_nifti’ in namespace ‘tipl::io’ does not name a type; did you mean ‘nifti’?
   32 |     tipl::io::gz_nifti nifti;
      |               ^~~~~~~~
      |               nifti
/tmp/DSI-Studio-2024.06.12/build/dsi_studio_autogen/EWIEGA46WW/../../../view_image.h:105:15: error: ‘gz_mat_read’ in namespace ‘tipl::io’ does not name a type; did you mean ‘mat_read’?
  105 |     tipl::io::gz_mat_read mat;
      |               ^~~~~~~~~~~
      |               mat_read

It appears that compiler cannot properly link header files. Can you provide a solution to fix the errors? Since I'm trying to install it on RHEL, I cannot simply use pre-compiled versions due to GLIBC version issue.

@frankyeh
Copy link
Owner

frankyeh commented Jan 22, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants