3ds models missing when compiling x86-64/kde from source

Report bugs, bug fixes and workarounds here.
Topic author
David Webb
Posts: 3
Joined: 18.04.2006
With us: 18 years 5 months

3ds models missing when compiling x86-64/kde from source

Post #1by David Webb » 18.04.2006, 21:01

My SuSE 10.0 version of celestia 1.3.2-9, an x86-64 version probably compiled --with-kde, contained no images of spacecraft (although the orbits and names were placed correctly). My old version of celestia had these in so I presumed there was a bug somewhere.

For fun (!) I decided to compile from source. This also allowed optimisation for my AMD CPU. I downloaded version 1.4.1, compiled for kde and ran - only to find the same problem - no spacecraft. (For info the flags I used were --with-kde --with-qt-dir=/usr/lib64/qt3 --with-qt-libraries=/usr/lib64/qt3/lib64 --enable-libsuffix=64 F77=gfortran)

Compared the model directory in the downloaded and installed directory trees and noticed that none of the *.3ds files had been copied across. Copied these across, ran celestia and - Hubble and the rest were there.

I had a look at the makefile in the model directory. This defines pkgdata_DATA to include *.cms, *.cmod and *.pts. It then defines EXTRA_DIST to contain the above plus *.3ds. 'make install', which in the logic of these things becomes 'make install-am', then 'make install-data.am', then 'make install-pkgdataDATA' only installs the pkgdata_DATA files so misses the *.3ds files (including the spacecraft).

So it looks as though a reduced distribution is being produced. I could not find a configure option to change this or any reference to EXTRA_DIST in the configure file. The bug/error/feature has probably been around for some time (i.e. it affected the SuSE 10.0 compilation) but as it has not been reported before I presume it only arises for special cases ie x86-64 or --with-kde.

If someone could track this bug down it would make it easier for the next person. In the mean time - thanks for all you hard work I really apppreciate it.

Regards,

David Webb.

p.s. If you know the system you will see above evidence for other bugs. Although configure tests (at least three times) to see if it needs to use lib64 instead of lib, when it gets to the Qt and kde sections if forgets about LINUX_64_MODE and libsuff. Instead I have to put in lib64 by hand.

suwalski
Developer
Posts: 62
Joined: 03.12.2003
With us: 20 years 9 months
Contact:

Post #2by suwalski » 19.04.2006, 05:12

If someone could track this bug down it would make it easier for the next person. In the mean time - thanks for all you hard work I really apppreciate it.

I am the cause of this, see:

http://cvs.sf.net/viewcvs.py/celestia/c ... 6&view=log

But the good news is that it's intentional. The models directory was made to match the Windows distribution, and not include the 3ds files when they are not needed.

You can consider the .3ds file to be the "source" for the .cmod file, which is the model that Celestia actually loads. Like all good make-installs, we don't install source! My optimizations actually save sourceforge about 6 megs per download.

How does this cause a problem? The 3ds files should never be used...

p.s. If you know the system you will see above evidence for other bugs. Although configure tests (at least three times) to see if it needs to use lib64 instead of lib, when it gets to the Qt and kde sections if forgets about LINUX_64_MODE and libsuff. Instead I have to put in lib64 by hand.

The KDE stuff is not my domain, but my guess is that the admin/ directory is a little out of date and doesn't know to use lib64. That said, sane distributions should symlink lib64 to lib and only special-case lib32. I have never had a problem compiling Celestia --with-kde on amd64.[/quote]

Topic author
David Webb
Posts: 3
Joined: 18.04.2006
With us: 18 years 5 months

Post #3by David Webb » 23.04.2006, 18:47

The problem is that even after compilation, the source files do not contain .cmod files for the satellites. As a result 'make install' does not install Hubble etc.

But if I copy across the .3ds files, Celestia recognises them and uses them.

Is there a flag for 'configure' which triggers 'make' to convert the .3ds files to .cmod files? Or should 'make' do this anyway?

steffens
Posts: 162
Joined: 06.11.2003
With us: 20 years 10 months
Location: RP Germany

Post #4by steffens » 23.05.2006, 07:13

I can confirm that there are no cmod files for the following models:

Code: Select all

apollo.3ds
cassini.3ds
galileo.3ds
gemini.3ds
hubble.3ds
iss.3ds
marsglobalsurvr.3ds
marsodyssey.3ds
mercury7.3ds
mir.3ds
skylab.3ds

These 3ds models should be copied when installing Celestia from source using "make install". I just did a fresh install from CVS and these files were missing.

steffens

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #5by cartrite » 24.05.2006, 10:01

David Webb wrote:
For fun (!) I decided to compile from source. This also allowed optimisation for my AMD CPU. I downloaded version 1.4.1, compiled for kde and ran - only to find the same problem - no spacecraft. (For info the flags I used were --with-kde --with-qt-dir=/usr/lib64/qt3 --with-qt-libraries=/usr/lib64/qt3/lib64 --enable-libsuffix=64 F77=gfortran)


I just decided to take a plunge and try Suse 10 x86-64. Problems.....
For one I can't compile kde. The configure script stalls when searching for qt3. All qt3 packags are installed. Develop packages too. I also had a problem with gtk. I had to build gtk from source so the config script would see it. Got that to work but no models. Not mine. Not celestia's default models like phoebe. Nothing. I compiled the source 1.4.1(not cvs) and the models work there. For GTK anyway.

Anyhow I tried to build a local qt3 and it can't link files called libXmu.so and libXmu.a. The linker sees them but calls them incompatable and skips. This is the file for adding thread support fot qt3. Which is stated in the terminal output and the config log for celestia as the reason for the error..

A question for David Webb. Did ypu have similar problems compiling for kde on Suse 10 that were solved or is it just me?

Anyhow this is what I came up with so far.

1.4.1 source can't compile gnome, kde. Can compile gtk and glut.
Gtk has (Edit NO)models but glut does not.

CVS 05232006 Can't compile gnome, kde. Can compile gtk and glut but no models.

Edit: I passed the options that David Webb used above and now kde compiles.

Edit2: compiles? Should have said configures down to the kde check and gets stuck again. Sorry for the delay. I got digusted and had to walk away for a while. I'm currently taking a break from these problems :? Mabey in a decade or 2 :wink:

Edit3: Sorry again. To clairify: Anything I can compile has NO models. The models appear in the 1.4.1 version downloaded from the Celestia home page gtk version. :? GCC 4.0.2

cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #6by cartrite » 24.05.2006, 20:10

Sorry for the post above. I was dazed and confused this morning.

To try clear up what I'm trying to say here, the models are not getting drawn when I build it. The version I downloaded from the Celestia homepage for Linux (GTK) can on Suse 10 x86_64.

This shot is taken from the 1.4.1 from the source code at the Celestia home page link that was compiled with gcc-4.0.2 on Suse x86_64..

Image

And the Linux GTK pre compiled package.

Image

Image

The real reason I posted in the first place was to see if anyone that uses a Suse x86_64 build environment did anything different as far as setup, add deps, etc. to get it to work properly. Suse 10 comes with gcc-4.0.2 out of the box?

Or mabey this a bug in the code that disables support for a 64 bit system that emulates 32 bit software..
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

Avatar
selden
Developer
Posts: 10190
Joined: 04.09.2002
With us: 22 years
Location: NY, USA

Post #7by selden » 24.05.2006, 21:08

I've seen several postings here about Celestia being unable to display CMOD binary models when compiled with GCC v4.x. I don't recall seeing a posting saying that the actual problematic code had been located, although I could be mistaken about that.
Selden

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #8by cartrite » 24.05.2006, 21:41

Selden wrote

Code: Select all

I've seen several postings here about Celestia being unable to display CMOD binary models when compiled with GCC v4.x. I don't recall seeing a posting saying that the actual problematic code had been located, although I could be mistaken about that.


This could be anything.

I feel as if I walked into a cave with no fashlight, then got lost. What I'm going thru with this x86_64 os can be a whole multitude of problems coming from different packages. When I change something to correct a problem something else creeps in. It will take time. I was warned by my professor a few years ago that linux is a real pain to setup but is stable afterwards. Oh well, I'm a glutin for punishment.

There is one thing that may help. What about a sticky in the development forum that lists the new dependincies for compiling the newer versions. And only that. So one does not have to search for ages to find info about a new dependency file. Just a thought :idea:

cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #9by cartrite » 25.05.2006, 07:42

Well I can build the kde and gtk versions. All I tried for now. Seems I forgot the ( --enable-libsuffix=64 ) option.

Cmod models are not drawn though. 3ds models are. I stuck a copy of phoebe.3ds in models folder of my mars model and came up with this.

Image

Edit: The built versions can draw cmod ascii models, just not binary.

Image
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #10by cartrite » 27.05.2006, 11:05

workaround found for binary cmods. see here

http://www.celestiaproject.net/forum/viewtopic.php?t=9605

cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4


Return to “Bugs”