Page 1 of 2 12 LastLast
Results 1 to 15 of 24

Thread: Cleaning up autotools

  1. #1
    Registered User
    Join Date
    Jul 2004
    Posts
    329

    Cleaning up autotools

    Continued saga in cleaning up the autotools stuff.

    There's a significant amount of code checking for --enable-old-compiler, do we really wannt support gcc-2.96 or older?

    I even question gcc-3.x, aren't all the distros on gcc-4.x now?

    Dumping support for gcc-2.96 would drop lots of cruft in multiple files.

  2. #2
    Registered User
    Join Date
    Jul 2004
    Posts
    329

    Re: Cleaning up autotools

    Some random --configure option questions:

    Is anyone supporting the --enable-cgi code base?

    --enable-mpr ?
    --enable-mpatrol ?
    --enable-profiling ?

  3. #3
    Developer
    Join Date
    Jul 2004
    Posts
    920

    Re: Cleaning up autotools

    No one has any clue how any of this works. Your questions are gibberish! Just pick something that makes sense and do it.

  4. #4
    Registered User
    Join Date
    Jul 2004
    Posts
    329

    Re: Cleaning up autotools

    Someone got up on the crabby side of the bed today.

  5. #5
    Registered User
    Join Date
    Jul 2004
    Posts
    329

    Death to autotools, long live cmake!

    Threw out autotools in frustration. Building showeq via cmake. Details below. My QQ story at the end.

    sf.net stability really ticks me off, so I host the cmake build code on launchpad. The choice of launchpad forces(?) you to use bzr.

    So I took svn trunk, created a bzr branch, did all my cmake work on the bzr branch. I can easiliy diff and submit patches against svn if it's decided to move to cmake builds.

    Showeq cmake code, instructions how to download it, whiteboard, and revision history:
    https://code.launchpad.net/~showeq-team/showeq/cmake

    Bugs:
    https://bugs.launchpad.net/showeq

    Please do not bother the upstream developers with issues on this branch. Use the above bug tracker and I'll work the problems I can and will push issues to upstream that aren't related to the cmake build.

    Answer (FAQ):
    https://answers.launchpad.net/showeq

    QQ Story

    I tried to clean up autotools but always ended up with 2 different versions of the build files.

    In my particular case, 1 set macros for "older" autotool for Ubuntu hardy and another set for Ubuntu interpid. Debian wasn't as bad, but I had to tweak between Etch and Lenny.

    I stepped out of the .deb world and into .rpm land with CentOS-5 and more tweaks. EL5 was the same as CentOS5 (good job CentOS people!)

    Left Linux land and tried FreeBSD. It's in FreeBSD-land where I really started to understood how terrible the autotools are to maintain (or how terrible they are in showeq to maintain :-) ) for a cross-operating system project.

    The "autotool problem" is not a problem that is unique to showeq, so I looked around other QT/KDE projects and found cmake. Used by the KDE team. I started the work to get things to compile under cmake.

    Did not take long to get things converted over to cmake. Hardest part was the whole .moc, uic, include stuff.

    Happy to say -one- set of cmake configuration files builds (no tweaks!) on:

    Debian - Etch
    Debian - Lenny
    Ubuntu - Hardy
    Ubuntu - Intrepid
    CentOS - 5
    Enterprises Linux 5
    FreeBSD 7

    Looking forward to bug reports and feedback.

  6. #6
    Registered User
    Join Date
    May 2004
    Posts
    38

    Re: Cleaning up autotools

    Trying this on Gentoo 2008.0
    I have no idea if I'm doing this right, however.
    grabbed files...
    bzr branch lp:~showeq-team/showeq/cmake

    in downloaded directory, issued commands:

    cmake .

    make

    errors out with:

    [ 57%] Building CXX object src/CMakeFiles/showeq.dir/packetformat.o
    [ 58%] Building CXX object src/CMakeFiles/showeq.dir/interface.o
    /root/SEQ/bzr/cmake/src/interface.cpp: In member function 'void EQInterface::set_filter_AudioCommand(int)':
    /root/SEQ/bzr/cmake/src/interface.cpp:3181: error: expected `)' before 'PKGDATADIR'
    make[2]: *** [src/CMakeFiles/showeq.dir/interface.o] Error 1
    make[1]: *** [src/CMakeFiles/showeq.dir/all] Error 2
    make: *** [all] Error 2

  7. #7
    Registered User
    Join Date
    Jul 2004
    Posts
    329

    Re: Cleaning up autotools

    Quote Originally Posted by Could_Be_Anyone View Post
    errors out with:

    EQInterface::set_filter_AudioCommand(int)':
    /root/SEQ/bzr/cmake/src/interface.cpp:3181: error: expected `)' before 'PKGDATADIR'
    make[2]: *** [src/CMakeFiles/showeq.dir/interface.o] Error 1
    make[1]: *** [src/CMakeFiles/showeq.dir/all] Error 2
    make: *** [all] Error 2
    What version of cmake?

    % cmake --version

    Try doing

    % cmake .
    % make

    again, does that work?

    Open ticket up: https://bugs.launchpad.net/showeq/+bug/295030
    Last edited by tanner; 11-07-2008 at 01:42 AM.

  8. #8
    Registered User
    Join Date
    May 2004
    Posts
    38

    Re: Cleaning up autotools

    ~ $ cmake --version
    cmake version 2.4-patch 6


    =========================
    test # bzr branch lp:~showeq-team/showeq/cmake

    You have not informed bzr of your launchpad login. If you are attempting a
    write operation and it fails, run "bzr launchpad-login YOUR_ID" and try again.
    Branched 17 revision(s).

    test # cd cmake
    cmake # cmake .

    This apparently completes ok, last line of output is:
    -- Build files have been written to: ..../test/cmake

    cmake # make
    [ 1%] Generating mapicondialog.h
    [ 2%] Generating spawnshell.moc
    [ 3%] Generating spawnlist.moc
    [ 4%] Generating spellshell.moc
    [ 5%] Generating spelllist.moc
    [ 6%] Generating editor.moc
    [ 6%] Generating packetstream.moc
    [ 7%] Generating packetinfo.moc
    [ 8%] Generating packet.moc
    [ 9%] Generating interface.moc
    [ 10%] Generating compass.moc
    [ 11%] Generating map.moc
    [ 12%] Generating experiencelog.moc
    [ 13%] Generating combatlog.moc
    [ 14%] Generating player.moc
    [ 14%] Generating skilllist.moc
    [ 15%] Generating statlist.moc
    [ 16%] Generating filtermgr.moc
    [ 17%] Generating category.moc
    [ 18%] Generating compassframe.moc
    [ 19%] Generating group.moc
    [ 20%] Generating guild.moc
    [ 21%] Generating netdiag.moc
    [ 21%] Generating logger.moc
    [ 22%] Generating xmlpreferences.moc
    [ 23%] Generating seqwindow.moc
    [ 24%] Generating seqlistview.moc
    [ 25%] Generating zonemgr.moc
    [ 26%] Generating spawnmonitor.moc
    [ 27%] Generating spawnpointlist.moc
    [ 28%] Generating spawnlistcommon.moc
    [ 29%] Generating spawnlist2.moc
    [ 29%] Generating datetimemgr.moc
    [ 30%] Generating spawnlog.moc
    [ 31%] Generating packetlog.moc
    [ 32%] Generating messages.moc
    [ 33%] Generating messagefilter.moc
    [ 34%] Generating messagewindow.moc
    [ 35%] Generating messageshell.moc
    [ 36%] Generating terminal.moc
    [ 37%] Generating filteredspawnlog.moc
    [ 37%] Generating messagefilterdialog.moc
    [ 38%] Generating mapicon.moc
    [ 39%] Generating filternotifications.moc
    [ 40%] Generating guildshell.moc
    [ 41%] Generating guildlist.moc
    [ 42%] Generating bazaarlog.moc
    [ 43%] Generating mapicondialog.cpp
    [ 44%] Generating mapicondialog.moc.cpp
    Scanning dependencies of target showeq
    [ 44%] Building CXX object src/CMakeFiles/showeq.dir/main.o
    [ 45%] Building CXX object src/CMakeFiles/showeq.dir/spawn.o
    [ 46%] Building CXX object src/CMakeFiles/showeq.dir/spawnshell.o
    [ 47%] Building CXX object src/CMakeFiles/showeq.dir/spawnlist.o
    [ 48%] Building CXX object src/CMakeFiles/showeq.dir/spellshell.o
    [ 49%] Building CXX object src/CMakeFiles/showeq.dir/spelllist.o
    [ 50%] Building CXX object src/CMakeFiles/showeq.dir/vpacket.o
    [ 51%] Building CXX object src/CMakeFiles/showeq.dir/editor.o
    [ 51%] Building CXX object src/CMakeFiles/showeq.dir/filter.o
    /root/SEQ/test/cmake/src/filter.cpp: In constructor 'FilterItem::FilterItem(const QString&, bool)':
    /root/SEQ/test/cmake/src/filter.cpp:126: warning: large integer implicitly truncated to unsigned type
    [ 52%] Building CXX object src/CMakeFiles/showeq.dir/packetfragment.o
    [ 53%] Building CXX object src/CMakeFiles/showeq.dir/packetstream.o
    [ 54%] Building CXX object src/CMakeFiles/showeq.dir/packetinfo.o
    [ 55%] Building CXX object src/CMakeFiles/showeq.dir/packet.o
    [ 56%] Building CXX object src/CMakeFiles/showeq.dir/packetcapture.o
    /root/SEQ/test/cmake/src/packetcapture.cpp:31:2: warning: #warning socket
    [ 57%] Building CXX object src/CMakeFiles/showeq.dir/packetformat.o
    [ 58%] Building CXX object src/CMakeFiles/showeq.dir/interface.o
    /root/SEQ/test/cmake/src/interface.cpp: In member function 'void EQInterface::set_filter_AudioCommand(int)':
    /root/SEQ/test/cmake/src/interface.cpp:3181: error: expected `)' before 'PKGDATADIR'
    make[2]: *** [src/CMakeFiles/showeq.dir/interface.o] Error 1
    make[1]: *** [src/CMakeFiles/showeq.dir/all] Error 2
    make: *** [all] Error 2

  9. #9
    Registered User
    Join Date
    Jul 2004
    Posts
    329

    Re: Cleaning up autotools

    I can confirm the problem on gentoo. I'm looking into it.

  10. #10
    Registered User
    Join Date
    Jul 2004
    Posts
    329

    Re: Cleaning up autotools

    Quote Originally Posted by Could_Be_Anyone View Post
    test # cd cmake
    cmake # cmake .
    Can you list the first 15 or so lines cmake outputs?

    $ cmake .
    -- Version: 5.12.7.0
    -- DATA_INSTALL_DIR: /usr/local/share/showeq
    -- PKGDATADIR: /usr/local/share/showeq
    -- showeq is used as APPLICATION_NAME

    My guess is the PKGDATADIR is not being set.

  11. #11
    Registered User
    Join Date
    May 2004
    Posts
    38

    Re: Cleaning up autotools

    Looks like you might be right, at least that looks to be blank.

    ========================
    michelle test2 # cd cmake
    michelle cmake # cmake .
    -- Check for working C compiler: /usr/bin/gcc
    -- Check for working C compiler: /usr/bin/gcc -- works
    -- Check size of void*
    -- Check size of void* - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Version: 5.12.7.0
    -- DATA_INSTALL_DIR:
    -- PKGDATADIR:
    -- showeq is used as APPLICATION_NAME
    -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
    -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
    -- Looking for gethostbyname
    -- Looking for gethostbyname - found
    -- Looking for connect
    -- Looking for connect - found
    -- Looking for remove
    -- Looking for remove - found
    -- Looking for shmat
    -- Looking for shmat - found
    -- Looking for IceConnectionNumber in ICE
    -- Looking for IceConnectionNumber in ICE - found
    -- Found ZLIB: /lib/libz.so
    -- Looking for pcap_open_offline in pcap
    -- Looking for pcap_open_offline in pcap - found
    -- Looking for C++ include netinet/in.h
    -- Looking for C++ include netinet/in.h - found
    -- Looking for C++ include netinet/ip.h
    -- Looking for C++ include netinet/ip.h - found
    -- Looking for C++ include arpa/inet.h
    -- Looking for C++ include arpa/inet.h - found
    -- Looking for C++ include sys/socket.h
    -- Looking for C++ include sys/socket.h - found
    -- Looking for C++ include pcap.h
    -- Looking for C++ include pcap.h - found
    -- Looking for strnlen
    -- Looking for strnlen - found
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /root/SEQ/test2/cmake

  12. #12
    Developer
    Join Date
    Jan 2002
    Posts
    239

    Re: Cleaning up autotools

    So did we ever get to a point were we could get a clean build on Ubuntu 8.10? (Either on the launchpad cmake version or on the sourceforge svn version?)

  13. #13
    Registered User
    Join Date
    Jul 2004
    Posts
    329

    Re: Cleaning up autotools

    Quote Originally Posted by bonkersbobcat View Post
    So did we ever get to a point were we could get a clean build on Ubuntu 8.10? (Either on the launchpad cmake version or on the sourceforge svn version?)
    Launchpad version builds clean for 8.04 and 8.10.

  14. #14
    Developer
    Join Date
    Jul 2004
    Posts
    920

    Re: Cleaning up autotools

    If anyone posts up the actual errors so we can get fixes in, we could get them in tarball. I think the last thing I did cleaning up qt usage by configure was for Ubuntu. But I don't have any idea if that was the whole problem or just part of it.

  15. #15
    Developer
    Join Date
    Jan 2002
    Posts
    239

    Re: Cleaning up autotools

    I got the svn version to build by removing all the doxygen stuff. For some reason it was hosing my autoconfig . I just be my particular machine. It has been through the beta upgrade to 8.04 and 8.10 followed by the production upgrades. (It is not a "clean" 8.10 install.)

    The svn version has the incorrect function definitions containing duplicate "size" and "filter" parameters that seemed to be tolerated by the earlier version of the compiler, but not the version shipping with 8.10

    I got the cmake stuff to build, but I had to hack up references to PKGDATADIR.

    When I get some time I will try to set up a clean machine to test builds on.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

You may post new threads
You may post replies
You may post attachments
You may edit your posts
HTML code is Off
vB code is On
Smilies are On
[IMG] code is On