Page 1 of 3

Improving the Celestia Wikibook

Posted: 10.01.2019, 05:09
by LukeCEL
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.)

Posted: 11.01.2019, 13:55
by selden
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.

Posted: 13.01.2019, 01:44
by LukeCEL
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?

Posted: 13.01.2019, 18:05
by onetwothree
I will update INSTALL.txt in the repo in a short time.

Posted: 13.01.2019, 21:13
by pirogronian
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

Posted: 13.01.2019, 21:32
by LukeCEL
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

Posted: 14.01.2019, 12:46
by onetwothree
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.

Posted: 14.01.2019, 16:58
by pirogronian
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:

Posted: 14.01.2019, 22:06
by LukeCEL
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?

Posted: 15.01.2019, 11:14
by onetwothree
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).

Posted: 15.01.2019, 23:30
by LukeCEL
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.

Posted: 16.01.2019, 17:00
by onetwothree
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

Posted: 17.01.2019, 01:55
by LukeCEL
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.)

Posted: 17.01.2019, 11:13
by onetwothree
Could you check that /usr/local/opt/qt5 actually exists?

Posted: 17.01.2019, 21:02
by LukeCEL
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

Posted: 19.01.2019, 19:04
by LukeCEL
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.

Posted: 20.01.2019, 09:56
by onetwothree
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.

Posted: 22.01.2019, 20:32
by LukeCEL
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.

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

Posted: 02.02.2019, 22:08
by LukeCEL
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

Posted: 04.02.2019, 18:09
by onetwothree
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.