vslavik / poedit

Translations editor for Mac, Windows and Unix
https://poedit.net
MIT License
1.71k stars 274 forks source link

Unable to install through the git repo #775

Closed msoutopico closed 1 year ago

msoutopico commented 1 year ago

Hi there,

I have followed the instructions to install from the git repo:

souto@eos  ~/Repos  git clone https://github.com/vslavik/poedit.git
souto@eos  ~/Repos  cd poedit  
souto@eos  ~/Repos/poedit   master  ./bootstrap
 - aclocal
 - automake
configure.ac:44: installing 'admin/compile'
configure.ac:11: installing 'admin/config.guess'
configure.ac:11: installing 'admin/config.sub'
configure.ac:14: installing 'admin/install-sh'
configure.ac:14: installing 'admin/missing'
src/Makefile.am: installing 'admin/depcomp'
 - autoconf
 - msgfmt
souto@eos  ~/Repos/poedit   master  git submodule update --init deps/json deps/pugixml
Submodule 'deps/json' (https://github.com/nlohmann/json.git) registered for path 'deps/json'
Submodule 'deps/pugixml' (https://github.com/zeux/pugixml.git) registered for path 'deps/pugixml'
Cloning into '/home/souto/Repos/poedit/deps/json'...
Cloning into '/home/souto/Repos/poedit/deps/pugixml'...
Submodule path 'deps/json': checked out '5bfb27c86550f14ee752a60bd21893dcc53ba2c7'
Submodule path 'deps/pugixml': checked out 'dd50fa5b45ab8d58d6c27566c2eaf04a8b7e5841'

Then, I understand I still need to build from source (I'm on linux), so I did:

souto@eos  ~/Repos/poedit   master  ./configure
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... (cached) yes
checking for install location... /usr/local
checking for gawk... (cached) gawk
checking whether ln -s works... yes
checking for ranlib... ranlib
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports C++14 features with -std=gnu++14... yes
checking for boostlib >= 1.60 (106000)... yes
checking whether the Boost::System library is available... yes
checking for exit in -lboost_system... yes
checking whether the Boost::Regex library is available... yes
checking for exit in -lboost_regex... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking whether the Boost::IOStreams library is available... yes
checking for exit in -lboost_iostreams... yes
checking for cpprest/http_client.h... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for nlohmann/json.hpp... no
checking for wx-config... /usr/bin/wx-config
checking for wxWidgets version >= 3.0.3 (--unicode)... yes (version 3.2.1)
checking for wxWidgets static library... no
checking if wxWidgets includes XRC... yes
checking for wxrc... /usr/bin/wxrc-3.2
checking for mkdtemp... yes
checking for ICU... yes
checking if wxWidgets toolkit uses GTK+ 3... yes
checking for GTKSPELL... yes
checking for LUCENE... yes
checking for PUGIXML... no
checking for cld2/public/compact_lang_det.h... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating artwork/Makefile
config.status: creating locales/Makefile
config.status: creating docs/Makefile
config.status: executing depfiles commands

Configured poedit-3.2.1 for x86_64-pc-linux-gnu

Enabled features:

    * debug build:                    no
    * language detection:             no
    * crowdin integration:            no

    !!! WARNING !!!

    Your are building a limited version of Poedit without some important
    features (see above). This makes Poedit harder to use and is strongly
    advised against.

    !!! WARNING !!!

 souto@eos  ~/Repos/poedit   master  make
Making all in src
make[1]: Entering directory '/home/souto/Repos/poedit/src'
  CXX      attentionbar.o
  CXX      cat_update.o
  CXX      cat_sorting.o
  CXX      catalog.o
  CXX      catalog_po.o
  CXX      catalog_xliff.o
  CXX      chooselang.o
  CXX      colorscheme.o
  CXX      commentdlg.o
  CXX      concurrency.o
  CXX      configuration.o
  CXX      custom_buttons.o
  CXX      customcontrols.o
  CXX      custom_notebook.o
  CXX      edapp.o
  CXX      edframe.o
  CXX      editing_area.o
  CXX      edlistctrl.o
  CXX      export_html.o
  CXX      extractors/extractor.o
  CXX      extractors/extractor_gettext.o
  CXX      extractors/extractor_legacy.o
  CXX      filemonitor.o
  CXX      fileviewer.o
  CXX      findframe.o
  CXX      gexecute.o
  CXX      hidpi.o
  CXX      icons.o
  CXX      language.o
  CXX      languagectrl.o
  CXX      wx/main_toolbar.o
  CXX      manager.o
  CXX      menus.o
  CXX      pluralforms/pl_evaluate.o
  CXX      prefsdlg.o
  CXX      pretranslate.o
  CXX      progressinfo.o
  CXX      propertiesdlg.o
  CXX      qa_checks.o
  CXX      recent_files.o
  CXX      sidebar.o
  CXX      spellchecking.o
  CXX      syntaxhighlighter.o
  CXX      text_control.o
  CXX      titleless_window.o
  CXX      tm/suggestions.o
  CXX      tm/transmem.o
In file included from tm/transmem.cpp:48:
/usr/include/lucene++/Lucene.h:131:26: warning: ‘template<class _Arg, class _Result> struct std::unary_function’ is deprecated [-Wdeprecated-declarations]
  131 | struct luceneHash : std::unary_function<TYPE, std::size_t> {
      |                          ^~~~~~~~~~~~~~
In file included from /usr/include/c++/12.2.0/functional:49,
                 from tm/transmem.h:30,
                 from tm/transmem.cpp:26:
/usr/include/c++/12.2.0/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
      |            ^~~~~~~~~~~~~~
/usr/include/lucene++/Lucene.h:138:30: warning: ‘template<class _Arg, class _Result> struct std::unary_function’ is deprecated [-Wdeprecated-declarations]
  138 | struct luceneWeakHash : std::unary_function<TYPE, std::size_t> {
      |                              ^~~~~~~~~~~~~~
/usr/include/c++/12.2.0/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
      |            ^~~~~~~~~~~~~~
  CXX      tm/tmx_io.o
  CXX      unicode_helpers.o
  CXX      utility.o
  CXX      welcomescreen.o
  CXX      wx_backports/wx_gtk_activityindicator.o
  CXX      wx_backports/wx_gtk_nativewin.o
/usr/bin/wxrc-3.2 -v -c -o compiled_xrc.cpp ./resources/comment.xrc ./resources/manager.xrc ./resources/menus.xrc ./resources/prefs.xrc ./resources/properties.xrc ./resources/summary.xrc ./resources/toolbar.xrc
processing ./resources/comment.xrc...
processing ./resources/manager.xrc...
processing ./resources/menus.xrc...
processing ./resources/prefs.xrc...
processing ./resources/properties.xrc...
processing ./resources/summary.xrc...
processing ./resources/toolbar.xrc...
creating C++ source file /home/souto/Repos/poedit/src/compiled_xrc.cpp...
  CXX      compiled_xrc.o
  CXXLD    poedit
make[1]: Leaving directory '/home/souto/Repos/poedit/src'
Making all in docs
make[1]: Entering directory '/home/souto/Repos/poedit/docs'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/souto/Repos/poedit/docs'
Making all in locales
make[1]: Entering directory '/home/souto/Repos/poedit/locales'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/souto/Repos/poedit/locales'
Making all in artwork
make[1]: Entering directory '/home/souto/Repos/poedit/artwork'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/souto/Repos/poedit/artwork'
make[1]: Entering directory '/home/souto/Repos/poedit'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/souto/Repos/poedit'
 souto@eos  ~/Repos/poedit   master  make install
Making install in src
make[1]: Entering directory '/home/souto/Repos/poedit/src'
make[2]: Entering directory '/home/souto/Repos/poedit/src'
 /usr/bin/mkdir -p '/usr/local/bin'
  /usr/bin/install -c poedit '/usr/local/bin'
/usr/bin/install: cannot create regular file '/usr/local/bin/poedit': Permission denied
make[2]: *** [Makefile:558: install-binPROGRAMS] Error 1
make[2]: Leaving directory '/home/souto/Repos/poedit/src'
make[1]: *** [Makefile:867: install-am] Error 2
make[1]: Leaving directory '/home/souto/Repos/poedit/src'
make: *** [Makefile:485: install-recursive] Error 1

As you can see, make install ended with error 1.

Could you help? Thanks. Cheers, Manuel

vslavik commented 1 year ago

/usr/bin/install: cannot create regular file '/usr/local/bin/poedit': Permission denied

You need to have basic understanding of compilers and your OS to build from source code, plus the willingness to read and understand error messages. The quoted error is clear as day and tells you exactly what the problem is: you're trying to install in a location you don't have permissions for. See your distro's documentation to learn about the filesystem layout, different users (incl. root), the sudo too and the consequences of installing something in /usr/local. The consequences aren't entirely trivial and if this error message confused you, you probably shouldn't be installing anything there.

msoutopico commented 1 year ago

Thanks for the quick reply, there's something to learn from it. However, you're not pointing to a possible solution. It's clear that running sudo make install is something I shouldn't do, but do you have any advise about what I could do to have the app installed?

vslavik commented 1 year ago

However, you're not pointing to a possible solution.

You seem to be under the mistaken assumption you're paying for support here.

do you have any advise about what I could do

Use prebuilt packages. That's why they exist.