Linux port?

Ask help on how to use TopMod here, and anything else that may be appropriate.

Linux port?

Postby tomot » Sun Sep 23, 2007 11:13 pm

David:

I spent this weekend installing both Ubuntu & Fedora on a separate HDD I had laying around
Dual Booted via Grub. What a blast!
I didn't realize how far Linux had come, to become such a stable user friendly operating system.
Who needs Vista! .....juck!

most of the install is transparent, with a little preparation beforehand.
so know your passwords, email server, etc. etc.

PROS:
email working, with imported email list from XP
firefox brouser ,with my favourites from XP, working
utube video working
fash player working
media player working, sound and video
overall the install is a lot faster than XP
read my NTFS data HDD's so I can play all my MP3's or play any AVI's, Divx. MPEG files.
comes with a spreadsheet, wordprocessor, takes snap shots of your desktop
etc. etc.


CONS:
learning the DOS like language (LINUX) used in the terminal window may take a while.
video drivers for the various new video cards, is still lacking
dual monitor support, needs tweaking, lack of driver support

Whats missing is a port of TOPMOD to Linux! are you planning one?

cheers!
tomot
 
Posts: 57
Joined: Fri Aug 03, 2007 3:23 am
Location: Vanvouver

Re: Linux port?

Postby admin » Sun Sep 23, 2007 11:20 pm

yes, I am planning to release one soon, but I'm not really sure how to create one that will work universally across all linux distro's. I would love for you to be a guinea pig when I start this process, though...
admin
Site Admin
 
Posts: 281
Joined: Mon Jul 09, 2007 10:46 pm
Location: College Station, TX

Re: Linux port?

Postby tomot » Mon Sep 24, 2007 2:25 pm

I"m using both RedHat's (suse)free version is Fedora and Ubuntu (debian).
Looking at their respective forums, its looks like both have by far the greatest following.
Perhaps for now, if you restrict yourself to working on a port for each of these, that may
well satisfy 95% of the PC Linux users.

You count me in, for any testing!

cheers!
tomot
 
Posts: 57
Joined: Fri Aug 03, 2007 3:23 am
Location: Vanvouver

Re: Linux port?

Postby Viaken » Mon Sep 24, 2007 2:53 pm

I'm a Gentoo user and would be more than happy to help test, also.
Viaken
 
Posts: 4
Joined: Mon Sep 24, 2007 2:51 pm

Re: Linux port?

Postby tettoffensive » Thu Sep 27, 2007 6:49 pm

Hey, I've looked into it and haven't found a solution for making a universal linux binary, but so far no luck. I'm used to using gentoo where everybody compiles everything for their machine. I have made a binary for Ubuntu (compiled on 7.04 Desktop Edition). I suppose we could put that up for now. If anyone knows how to compile for a bunch of linux distros let me know.

The only thing I've found so far is using Linux Base: http://labs.trolltech.com/blogs/2006/02 ... -on-linux/

http://www.linuxbase.org/en/Main_Page

But this requires users to have Linux Base setup on their machines (which I don't think is very common?)

What do you think about this solution? Any other ideas?

-Stuart
tettoffensive
 
Posts: 21
Joined: Sun Aug 12, 2007 8:05 pm
Location: San Francisco Bay Area

Re: Linux port?

Postby admin » Thu Sep 27, 2007 6:52 pm

yeah send me that binary and i'll upload it to google code...
admin
Site Admin
 
Posts: 281
Joined: Mon Jul 09, 2007 10:46 pm
Location: College Station, TX

Re: Linux port?

Postby Viaken » Thu Sep 27, 2007 7:16 pm

I think the usual method is to use autoconf and/or automake:
http://www.gnu.org/software/autoconf/autoconf.html
http://sources.redhat.com/automake/

However, I don't know any more than that.
Viaken
 
Posts: 4
Joined: Mon Sep 24, 2007 2:51 pm

Re: Linux port?

Postby tettoffensive » Fri Sep 28, 2007 5:09 pm

dave, i sent you that binary a while back and it didn't work on the labs computers i guess cause they're centos. I'll send it to you again tonight if you don't have it.

as for the autoconf/automake. That is a build system for compiling. It doesn't solve the problem that every distro and version of linux has different binaries which we need to link against to run TopMod.
tettoffensive
 
Posts: 21
Joined: Sun Aug 12, 2007 8:05 pm
Location: San Francisco Bay Area

Re: Linux port?

Postby admin » Sat Sep 29, 2007 1:06 am

ok, if you get a chance try compiling with the latest code...
admin
Site Admin
 
Posts: 281
Joined: Mon Jul 09, 2007 10:46 pm
Location: College Station, TX

Re: Linux port?

Postby tettoffensive » Tue Oct 02, 2007 9:42 pm

I sent Dave the Ubuntu compiled versions that I did (one with python, one without). Let me know if they work. You will need python2.5 for the one with python. Both require Qt 4.3 beta which can be found under libqt-core-kdecopy or something like that. I don't remember if there are any other packages you need.
tettoffensive
 
Posts: 21
Joined: Sun Aug 12, 2007 8:05 pm
Location: San Francisco Bay Area

Re: Linux port?

Postby admin » Wed Oct 03, 2007 12:52 am

http://www.topmod3d.org/TopMod.Python.tar.gz
http://www.topmod3d.org/TopMod.tar.gz


Try these out and let me know if you get any error messages. Thanks for your help,

Dave
admin
Site Admin
 
Posts: 281
Joined: Mon Jul 09, 2007 10:46 pm
Location: College Station, TX

Re: Linux port?

Postby Viaken » Thu Oct 04, 2007 6:15 pm

I didn't test everything yet, but both versions seem to work fine in Xubuntu Gutsy. On Gentoo, under e17, the tool settings window was hidden behind the main window, but otherwise worked great, as well. Well done! :D
Viaken
 
Posts: 4
Joined: Mon Sep 24, 2007 2:51 pm

Re: Linux port?

Postby admin » Fri Oct 05, 2007 1:46 pm

great. I'll go ahead and add it to the google code repository. thanks for your feedback.
admin
Site Admin
 
Posts: 281
Joined: Mon Jul 09, 2007 10:46 pm
Location: College Station, TX

Re: Linux port?

Postby N30N » Wed Oct 24, 2007 3:51 am

tettoffensive wrote:dave, i sent you that binary a while back and it didn't work on the labs computers i guess cause they're centos. I'll send it to you again tonight if you don't have it.

as for the autoconf/automake. That is a build system for compiling.

Is there any chance you could update the wiki with instructions on how you compiled it?

TIA! ;)
N30N
 
Posts: 5
Joined: Wed Oct 24, 2007 3:33 am

Re: Linux port?

Postby admin » Thu Oct 25, 2007 3:27 am

stuart updated the wiki, let me know if that helps:

http://www.topmod3d.org/wiki/index.php? ... structions
admin
Site Admin
 
Posts: 281
Joined: Mon Jul 09, 2007 10:46 pm
Location: College Station, TX

Re: Linux port?

Postby N30N » Thu Oct 25, 2007 8:50 am

admin wrote:stuart updated the wiki, let me know if that helps
First off thanks a lot! Unfortunately that's what I had tried before posting and I get the following error...
Code: Select all
DLFLFile.cc: In member function ‘void DLFL::DLFLObject::writeObject(std::ostream&, bool, bool)’:
DLFLFile.cc:153: error: ‘makeVertexUnique’ was not declared in this scope
make[1]: *** [DLFLFile.o] Error 1
make[1]: Leaving directory `/topmod/topmod/include/dlflcore'
make: *** [sub-dlflcore-make_default] Error 2
I am running a 64bit distro (Arch Linux), is that going to be a problem? If you have any suggestions, hacks, patches or fixes I'm happy to try them out. :)
N30N
 
Posts: 5
Joined: Wed Oct 24, 2007 3:33 am

Re: Linux port?

Postby dave » Thu Oct 25, 2007 12:31 pm

@N30N:

this error(s) occur, since there are a lot of friend functions IMPLEMENTED inside a class definition, where they should only be declared there. Friend function should be implemented outside the class.

As they are implemented inside the class they belong to that namespace, but as the are NOT part of the class itself (just friends) they can't be resolved by g++.

example :

instead of writing
class A
{
.....
.....
friend void foo_bar()
{
..... some code .....
}
}

it should be

void foo_bar();

class A
{
.....
.....
friend void foo_bar();
....
}

void foo_bar()
{
..... some code .....
}


trying to compile the provided source I ran into the same problem, i tried to solve this, but since this coding behaviour is spilt all over the code I resigned this try for the meanwhile.

Maybe their are some other fancy workarounds for that problem, as it seems to be an g++ specific problem.
dave
 
Posts: 14
Joined: Thu Oct 25, 2007 12:17 pm
Location: NRW, Germany

Re: Linux port?

Postby dandy » Thu Oct 25, 2007 12:46 pm

Hi all,

Got the same error while compiling using Gutsy x64....

For some reason the binaries (http://www.topmod3d.org/TopMod.Python.tar.gz,
http://www.topmod3d.org/TopMod.tar.gz) don t work for me. Is it because the 64 bit version?
I get:

./TopMod: error while loading shared libraries: libpython2.5.so.1.0: cannot open shared object file: No such file or directory
(I have python 2.5 installed)

Can anyone help me to get this thing running? :-)
dandy
 
Posts: 5
Joined: Thu Oct 25, 2007 12:38 pm

Re: Linux port?

Postby admin » Thu Oct 25, 2007 12:59 pm

There may be a problem with it being a 64 bit OS. I will ask stuart later today because I'm not very knowledgeable in that area.
admin
Site Admin
 
Posts: 281
Joined: Mon Jul 09, 2007 10:46 pm
Location: College Station, TX

Re: Linux port?

Postby Viaken » Thu Oct 25, 2007 3:23 pm

I've run into something similar before. If I recall correctly, it was because it was looking for libraries in lib instead of lib64. We just symlinked things from lib64 to lib and it worked again, though I'm sure that's the worst possible way to fix it. lol
Viaken
 
Posts: 4
Joined: Mon Sep 24, 2007 2:51 pm

Re: Linux port?

Postby dandy » Thu Oct 25, 2007 4:30 pm

hm... surely this is a 64 bit problem. After symlinking I get
./TopMod: error while loading shared libraries: libpython2.5.so.1.0: wrong ELF class: ELFCLASS64


Is there any chance of making 64 bit binaries?
dandy
 
Posts: 5
Joined: Thu Oct 25, 2007 12:38 pm

Re: Linux port?

Postby tettoffensive » Thu Oct 25, 2007 5:14 pm

Sounds like a 64 bit problem to me. I would gladly provide a 64 binary, but I don't have a 64 computer available to compile on. If somebody else wants to volunteer, then that'd be great.

-Stuart
tettoffensive
 
Posts: 21
Joined: Sun Aug 12, 2007 8:05 pm
Location: San Francisco Bay Area

Re: Linux port?

Postby dandy » Fri Oct 26, 2007 8:33 am

@Stuart
when you try to compile on a 64 bit system you get the error that N30N posted. Is it really because of the source code or you simply have to do it slightly different from the method described in the Wiki?

I would gladly compile it if someone gives me a hand how to...
dandy
 
Posts: 5
Joined: Thu Oct 25, 2007 12:38 pm

Re: Linux port?

Postby N30N » Fri Oct 26, 2007 8:39 am

Sorry I'm a bit confused, am I supposed to be compiling the topmod directory or topmodx? :roll: In my rush to post, I posted the error from the topmod(/include) directory before but looking at the wiki it seems I should have been in the topmodx (is the x for a osx branch or something? hmm cant be the windows bat file is in there) as it refers to the makeall.sh that is only in there. If thats the case the is the error I get...
Code: Select all
DLFLFaceVertex.hh: In member function ‘void DLFL::DLFLFaceVertex::assignID()’:
DLFLFaceVertex.hh:97: error: cast from ‘DLFL::DLFLFaceVertex*’ to ‘unsigned int’ loses precision
In file included from DLFLCommon.cc:43:
DLFLObject.hh: In member function ‘void DLFL::DLFLObject::makeEdgesUnique()’:
DLFLObject.hh:359: error: cast from ‘DLFL::DLFLEdge*’ to ‘unsigned int’ loses precision
DLFLObject.hh: In member function ‘void DLFL::DLFLObject::makeFacesUnique()’:
DLFLObject.hh:370: error: cast from ‘DLFL::DLFLFace*’ to ‘unsigned int’ loses precision
DLFLObject.hh: In member function ‘void DLFL::DLFLObject::addEdgePtr(DLFL::DLFLEdge*)’:
DLFLObject.hh:414: error: cast from ‘DLFL::DLFLEdge*’ to ‘unsigned int’ loses precision
DLFLObject.hh: In member function ‘void DLFL::DLFLObject::addFacePtr(DLFL::DLFLFace*)’:
DLFLObject.hh:426: error: cast from ‘DLFL::DLFLFace*’ to ‘unsigned int’ loses precision
make[1]: *** [DLFLCommon.o] Error 1
...looking at google this seems to be a definite 64bit (pointer cast) problem in the code. Hopefully it's easy to fix :D
N30N
 
Posts: 5
Joined: Wed Oct 24, 2007 3:33 am

Re: Linux port?

Postby N30N » Fri Oct 26, 2007 10:10 am

dave wrote:this error(s) occur, since there are a lot of friend functions IMPLEMENTED inside a class definition, where they should only be declared there. Friend function should be implemented outside the class.

As they are implemented inside the class they belong to that namespace, but as the are NOT part of the class itself (just friends) they can't be resolved by g++.

example :

instead of writing
class A
{
.....
.....
friend void foo_bar()
{
..... some code .....
}
}

it should be

void foo_bar();

class A
{
.....
.....
friend void foo_bar();
....
}

void foo_bar()
{
..... some code .....
}


trying to compile the provided source I ran into the same problem, i tried to solve this, but since this coding behaviour is spilt all over the code I resigned this try for the meanwhile.

Maybe their are some other fancy workarounds for that problem, as it seems to be an g++ specific problem.
I have no experience with c/c++ but had a quick go trying to make changes as per your example and it seems to work. There's a lot to be change and before I spend to much time on this do theses changes effect windows or osx? In other words if I made a patch with them all split like your example could it be added to the svn with out any problems?

PS. still dont know what the topmodx directory is about.
N30N
 
Posts: 5
Joined: Wed Oct 24, 2007 3:33 am

Next

Return to General

Who is online

Users browsing this forum: No registered users and 2 guests

cron