Improving the Celestia Wikibook

General discussion about Celestia that doesn't fit into other forums.
Topic author
LukeCEL
Posts: 165
Joined: 26.09.2017
With us: 1 year 6 months

Improving the Celestia Wikibook

Post #1by LukeCEL » 10.01.2019, 05:09

Hi everyone. I'm trying to improve the Celestia Wikibook, but I've been staring at it for too long. I'm not sure what would actually be helpful or useful. Can you all give suggestions to what I could expand on the Wikibooks?

(Note: I know very little about some topics, such as CEL/CELX scripting, and graphics in general.)

Avatar
selden
Developer
Posts: 10050
Joined: 04.09.2002
With us: 16 years 7 months
Location: NY, USA

Post #2by selden » 11.01.2019, 13:55

There are several improvements which are documented for v1.6.0 and v1.6.1 but which have not been moved into the main body of the document.
Selden

Topic author
LukeCEL
Posts: 165
Joined: 26.09.2017
With us: 1 year 6 months

Post #3by LukeCEL » 13.01.2019, 01:44

Thanks for the suggestions.

By the way, since this isn't included in the Wikibooks: the development of Celestia has moved from GitHub, but how do we compile Celestia from the new source on GitHub?

onetwothree
Developer
Posts: 169
Joined: 22.09.2018
With us: 6 months 26 days

Post #4by onetwothree » 13.01.2019, 18:05

I will update INSTALL.txt in the repo in a short time.

pirogronian
Developer
Posts: 71
Joined: 05.01.2018
With us: 1 year 3 months
Location: Wrocław

Post #5by pirogronian » 13.01.2019, 21:13

LukeCEL wrote:the development of Celestia has moved from GitHub
Moved from github? Last time I created pull request it was still there...

LukeCEL wrote:how do we compile Celestia from the new source
Previously I used just

Code: Select all

qmake && make
but now it's

Code: Select all

cmake -DLEGACY_OPENGL_LIBS=ON . && make

Topic author
LukeCEL
Posts: 165
Joined: 26.09.2017
With us: 1 year 6 months

Post #6by LukeCEL » 13.01.2019, 21:32

onetwothree wrote:I will update INSTALL.txt in the repo in a short time.

Okay, thank you.

pirogronian wrote:Moved from github? Last time I created pull request it was still there...

That was a typo on my part. I meant to say "moved from SVN to GitHub".

Note: I have very little computer knowledge, so I may not be able to understand what you're saying, or improve the Wikibook pages.

P.S. I use a Mac. Is there anybody around here that is an expert? The Wikibook even has this to say:

We are in NEED of a apple Dev to help out

onetwothree
Developer
Posts: 169
Joined: 22.09.2018
With us: 6 months 26 days

Post #7by onetwothree » 14.01.2019, 12:46

We are in NEED of a apple Dev to help out

Yes, that's still valid. We don't plan to release 1.7.0 for Macs as we don't have anybody to support it there.

pirogronian
Developer
Posts: 71
Joined: 05.01.2018
With us: 1 year 3 months
Location: Wrocław

Post #8by pirogronian » 14.01.2019, 16:58

LukeCEL wrote:I use a Mac. Is there anybody around here that is an expert?
onetwothree wrote:We don't plan to release 1.7.0 for Macs as we don't have anybody to support it there.
@LukeCEL It looks that actually You are the expert... So, we are waiting for Your results :smile:

Topic author
LukeCEL
Posts: 165
Joined: 26.09.2017
With us: 1 year 6 months

Post #9by LukeCEL » 14.01.2019, 22:06

Okay. I downloaded Cmake 3.13.3, installed the command line tools, downloaded the latest source code from GitHub, and then ran "cmake -DLEGACY_OPENGL_LIBS=ON . && make". It says this:

Code: Select all

-- cotire 1.8.0 loaded.
-- Could NOT find Gettext (missing: GETTEXT_MSGMERGE_EXECUTABLE GETTEXT_MSGFMT_EXECUTABLE)
CMake Warning at CMakeLists.txt:74 (message):
  Gettext is not found, traslations won't be created.


-- Failed to find Gettext libintl (missing: Intl_INCLUDE_DIR)
CMake Error at /Applications/CMake.app/Contents/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Failed to find Gettext libintl (missing: Intl_INCLUDE_DIR)
Call Stack (most recent call first):
  /Applications/CMake.app/Contents/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindIntl.cmake:47 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:79 (find_package)


I wonder what went wrong?

onetwothree
Developer
Posts: 169
Joined: 22.09.2018
With us: 6 months 26 days

Post #10by onetwothree » 15.01.2019, 11:14

You need a dev package for libintl (it might be called gettext) (also for lua, libpng, libjpeg, glew, qt5 if you want qt-based interface, and glut if you want glut based interface, fmt and eigen3 are optional).

Topic author
LukeCEL
Posts: 165
Joined: 26.09.2017
With us: 1 year 6 months

Post #11by LukeCEL » 15.01.2019, 23:30

onetwothree wrote:You need a dev package for libintl (it might be called gettext) (also for lua, libpng, libjpeg, glew, qt5 if you want qt-based interface, and glut if you want glut based interface, fmt and eigen3 are optional).

Status update: I installed Homebrew for MacOS and used that to install gettext, lua, libpng, libjpeg, glew, qt, fmt and eigen.

Now there were these errors:

Code: Select all

-- Found Lua: /usr/local/lib/liblua5.3.dylib (found version "5.3.5")
fatal: not a git repository (or any of the parent directories): .git
-- Looking for include file byteswap.h
-- Looking for include file byteswap.h - not found
-- CXX target cel3ds cotired.
-- CXX target celengine cotired.
-- CXX target celephem cotired.
-- CXX target celestia cotired.
-- Found GLUT: /System/Library/Frameworks/GLUT.framework 
-- CXX target celestia-glut cotired without precompiled header. Too few applicable sources.
Either not Unix or Gtk frontend is disabled.
CMake Error at /usr/local/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:15 (message):
  The imported target "Qt5::Core" references the file

     "/usr/local/.//mkspecs/macx-clang"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/local/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/local/lib/cmake/Qt5Core/Qt5CoreConfigExtras.cmake:50 (_qt5_Core_check_file_exists)
  /usr/local/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:169 (include)
  /usr/local/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:83 (find_package)
  /usr/local/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:83 (find_package)
  /usr/local/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package)
  src/celestia/qt/CMakeLists.txt:7 (find_package)


-- Configuring incomplete, errors occurred!
See also "/Users/lukecel/Downloads/Celestia-master/CMakeFiles/CMakeOutput.log".
See also "/Users/lukecel/Downloads/Celestia-master/CMakeFiles/CMakeError.log".


As for "fatal: not a git repository (or any of the parent directories): .git", I'm not sure what that means. It also asked for a file called "byteswap.h ", which I don't know where to get—is it this? And where does it go? For the other errors, I found people with similar error messages (here and here) so I'll take a look at that.
Last edited by LukeCEL on 16.01.2019, 21:05, edited 1 time in total.

onetwothree
Developer
Posts: 169
Joined: 22.09.2018
With us: 6 months 26 days

Post #12by onetwothree » 16.01.2019, 17:00

fatal: not a git repository (or any of the parent directories): .git

You can run cmake with an additional parameter -DGIT_COMMIT=1234567 or instead of downloading sources do "git clone https://github.com/CelestiaProject/Celestia"

-- Looking for include file byteswap.h - not found

That's ok. If your system doesn't have this file then Celestia will you own versions of functions present in this .h file.

"/usr/local/.//mkspecs/macx-clang"

Please try to run cmake with -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5

Topic author
LukeCEL
Posts: 165
Joined: 26.09.2017
With us: 1 year 6 months

Post #13by LukeCEL » 17.01.2019, 01:55

onetwothree wrote:You can run cmake with an additional parameter -DGIT_COMMIT=1234567 or instead of downloading sources do "git clone https://github.com/CelestiaProject/Celestia"

Thanks, that worked! I don't seem to have the .git error any more, or the byteswap.h error either.

onetwothree wrote:Please try to run cmake with -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5

I still can't get around this. I've tried running cmake with "-DCMAKE_PREFIX_PATH=/usr/local/opt/qt5", by running for example:

Code: Select all

cmake -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5 . && make

Code: Select all

cmake -DLEGACY_OPENGL_LIBS=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5 . && make
and various other iterations. They don't seem to change the error message at all.

I've also taken the advice from user Lekensteyn from this thread and added this code to /src/celestia/qt/CMakeFiles.txt:

Code: Select all

if(APPLE AND EXISTS /usr/local/opt/qt5)
   # Homebrew installs Qt5 (up to at least 5.9.1) in
   # /usr/local/qt5, ensure it can be found by CMake since
   # it is not in the default /usr/local prefix.
   list(APPEND CMAKE_PREFIX_PATH "/usr/local/opt/qt5")
endif()


That hasn't worked either.

Anyway, it looks like a lot of people have had similar issues. I wonder if it would help if I installed XCode first?

Added after 33 minutes 44 seconds:
(I've already downloaded XCode Command Line Tools, by the way.)

onetwothree
Developer
Posts: 169
Joined: 22.09.2018
With us: 6 months 26 days

Post #14by onetwothree » 17.01.2019, 11:13

Could you check that /usr/local/opt/qt5 actually exists?

Topic author
LukeCEL
Posts: 165
Joined: 26.09.2017
With us: 1 year 6 months

Post #15by LukeCEL » 17.01.2019, 21:02

onetwothree wrote:Could you check that /usr/local/opt/qt5 actually exists?

It does exist. It's actually an alias, but typing "/usr/local/opt/qt5" into Terminal gives this:

Code: Select all

-bash: /usr/local/opt/qt5: is a directory

Topic author
LukeCEL
Posts: 165
Joined: 26.09.2017
With us: 1 year 6 months

Post #16by LukeCEL » 19.01.2019, 19:04

onetwothree, would you recommend moving the "mkspecs" and "plugins" folder from Qt 5.12.0 to the "local" folder where it's supposed to be? That seems to make it work, but it just feels... wrong.

onetwothree
Developer
Posts: 169
Joined: 22.09.2018
With us: 6 months 26 days

Post #17by onetwothree » 20.01.2019, 09:56

As a workaround it might help, but better to create symlinks instead of moving.
I have an alternative proposal - could you try to install Qt using http://download.qt.io/official_releases/online_in ... /qt-unified-mac-x64-online.dmg ? With it you still have to set CMAKE_PREFIX_PATH.

Topic author
LukeCEL
Posts: 165
Joined: 26.09.2017
With us: 1 year 6 months

Post #18by LukeCEL » 22.01.2019, 20:32

onetwothree wrote:As a workaround it might help, but better to create symlinks instead of moving.

Apologies for the delay. I've replaced the files with symlinks; still works.

onetwothree wrote:I have an alternative proposal - could you try to install Qt using http://download.qt.io/official_releases/online_in ... /qt-unified-mac-x64-online.dmg ? With it you still have to set CMAKE_PREFIX_PATH.

I will try to do this next week.

Topic author
LukeCEL
Posts: 165
Joined: 26.09.2017
With us: 1 year 6 months

This thread is now basically about compiling Celestia on Mac OS.

Post #19by LukeCEL » 02.02.2019, 22:08

So when I tried to install Qt using the Disk Image the first time, it said I needed to install Xcode. But when I went ahead and followed all the steps, it eventually failed because I didn't have enough disk space. It needed 23.47 GiB, and I have no idea why it is that big.

But, when I removed the symlinks from before and tried to build, it went through all the steps (!) and started compiling.

And then it stopped at 11% because of this error:

Code: Select all

[ 11%] Building CXX object src/celengine/CMakeFiles/celengine.dir/astro.cpp.o
/Users/lukecel/testdir/Celestia/src/celengine/astro.cpp:434:31: error:
      assigning to 'char *' from incompatible type 'const
      std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >::value_type *' (aka 'const char *')
    cal_time.tm_zone = tzname.c_str();
                       ~~~~~~~^~~~~~~
1 error generated.
make[2]: *** [src/celengine/CMakeFiles/celengine.dir/astro.cpp.o] Error 1
make[1]: *** [src/celengine/CMakeFiles/celengine.dir/all] Error 2
make: *** [all] Error 2

onetwothree
Developer
Posts: 169
Joined: 22.09.2018
With us: 6 months 26 days

Post #20by onetwothree » 04.02.2019, 18:09

LukeCEL wrote:[ 11%] Building CXX object src/celengine/CMakeFiles/celengine.dir/astro.cpp.o
/Users/lukecel/testdir/Celestia/src/celengine/astro.cpp:434:31: error:
assigning to 'char *' from incompatible type 'const
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >::value_type *' (aka 'const char *')
cal_time.tm_zone = tzname.c_str();

Please open CMakeLists.txt in the top Celestia folder, go to line 257 and add the following line:

Code: Select all

add_definitions(-DTARGET_OS_MAC)


This should help.


Return to “Celestia Users”

Who is online

Bots: Majestic-12 [Bot]