View Issue Details

IDProjectCategoryView StatusLast Update
0005031Multi Theft Auto : San AndreasServerpublic2009-12-19 19:21
ReporterccwAssigned ToIJs 
PrioritynormalSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSDebianOS Version4
Product Version1.0.1 
Target Version1.0.4Fixed in Version1.0.4 
Summary0005031: 1.0.1 Linux build fails during json-c compilation
Description

Compiling the source on Debian 4 fails at the make command.

Steps To Reproduce

Download source from git 'master'

autoreconf -fiv
./configure
make

Additional Information

output from make:
make all-recursive
make[1]: Entering directory /home/mta/mta_101/source' Making all in vendor make[2]: Entering directory/home/mta/mta_101/source/vendor'
Making all in tinyxml
make[3]: Entering directory /home/mta/mta_101/source/vendor/tinyxml' make[3]: Nothing to be done forall'.
make[3]: Leaving directory /home/mta/mta_101/source/vendor/tinyxml' Making all in pme make[3]: Entering directory/home/mta/mta_101/source/vendor/pme'
make[3]: Nothing to be done for all'. make[3]: Leaving directory/home/mta/mta_101/source/vendor/pme'
Making all in ehs
make[3]: Entering directory /home/mta/mta_101/source/vendor/ehs' make[3]: Nothing to be done forall'.
make[3]: Leaving directory /home/mta/mta_101/source/vendor/ehs' Making all in json-c make[3]: Entering directory/home/mta/mta_101/source/vendor/json-c'
make[3]: No rule to make target m4/ac_check_curl.m4', needed byMakefile.in'. Stop.
make[3]: Leaving directory `/home/mta/mta_101/source/vendor/json-c'
make[2]:
[all-recursive] Error 1
make[2]: Leaving directory /home/mta/mta_101/source/vendor' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/home/mta/mta_101/source'
make: *** [all] Error 2

TagsNo tags attached.

Activities

Blokker_1999

2009-10-03 10:18

administrator   ~~0010625

For me it fails in a slightly different way. It is also json-c that fails, but going to that directory and doing an autoreconf, configure and make (install) solves the problem for me.

IJs

2009-10-03 15:41

administrator   ~~0010628

Try autoreconf -fi in the json-c directory.

ccw

2009-10-06 19:29

administrator   ~~0010653

That fixed it. However it has a problem here now:
g++: ../../../vendor/lua/src/.libs/liblua.a: No such file or directory

ccw

2009-10-17 15:36

administrator   ~~0010706

Output from ./configure command:
...
=== configuring in vendor/lua (/home/mta/mta_101/source/vendor/lua)
configure: WARNING: no configuration information is in vendor/lua
=== configuring in vendor/json-c (/home/mta/mta_101/source/vendor/json-c)
...
./configure: line 2271: C: command not found
...

And lines 2270-2272 in ./vendor/json-c/configure are:

Define the identity of the package.

PACKAGE=JSON C Library
VERSION=0.3

ccw

2009-10-26 01:37

administrator   ~~0010749

Tried with Debian 5 and it compiles and runs fine now.

Two special things I had to do:

  • Install sparsehash:
    cd vendor/sparsehash/current
    autoreconf -fi
    ./configure
    make install
    cd ../../..

  • Jiggle json-c:
    cd vendor/json-c
    autoreconf -fi
    cd ../..

IJs

2009-12-19 19:05

administrator   ~~0010895

This is due to a bug in autoconf that prevents it from recursing into the vendor/lua and vendor/json-c directories to (re)generate the configure file. Since these directories already ship with a generated configure file (that may differ in version from the installed autoconf), problems can occur on certain distro's/configurations such as Debian Lenny.

IJs

2009-12-19 19:21

administrator   ~~0010896

Problem has been solved in:

http://github.com/multitheftauto/multitheftauto/commit/0687e8107239b4ac3c4a12bb3167b35a1c89720a

Issue History

Date Modified Username Field Change