Git Product home page Git Product logo

Comments (7)

buaazp avatar buaazp commented on June 26, 2024

你这个是编译lua的时候缺少引用,可以这样改:
修改src/CMakeLists.txt文件,找到这一行,大约在166行:

set(CMAKE_EXE_LINKER_FLAGS "-L/usr/lib -L/usr/local/lib")

增加 -lm -ldl ,改成:

set(CMAKE_EXE_LINKER_FLAGS "-L/usr/lib -L/usr/local/lib -lm -ldl")

然后重新make:

make clean;
make

from zimg.

Michael-Ma avatar Michael-Ma commented on June 26, 2024

我加了,但是Error还是一样···

[ 97%] Building C object CMakeFiles/zimg.dir/lua/lbaselib.c.o
[100%] Building C object CMakeFiles/zimg.dir/lua/ldo.c.o
Linking C executable zimg
/usr/bin/ld: CMakeFiles/zimg.dir/lua/lmathlib.c.o: undefined reference to symbol 'fmod@@GLIBC_2.2.5'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libm.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[3]: *** [zimg] Error 1
make[3]: Leaving directory `/home/xinchenm/zimg/build/zimg'
make[2]: *** [CMakeFiles/zimg.dir/all] Error 2
make[2]: Leaving directory `/home/xinchenm/zimg/build/zimg'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/xinchenm/zimg/build/zimg'
cp: cannot stat ‘zimg’: No such file or directory
make: *** [all] Error 1

按理说编译应该不需要改code才能过吧···所以才怀疑是缺少package导致。问一下你是在什么系统环境下测试的?

from zimg.

buaazp avatar buaazp commented on June 26, 2024

恩,这个改动不是code,是cmake的文件。libm是编译lua的依赖,跟zimg没关系。
你试试用apt装一下lua5.1,如果装成功了那说明lua的依赖就全了,然后再编译:

sudo apt-get install lua5.1

from zimg.

Michael-Ma avatar Michael-Ma commented on June 26, 2024

还是一样的问题唉···

from zimg.

buaazp avatar buaazp commented on June 26, 2024

可能是你虚拟机环境的问题吧,我这也没法帮你调,你自己搜索一下libm.so: error adding symbols: DSO missing (like here)这个问题吧,我看到有很多类似的问题。
zimg的编译经过了travis-cidrone.io 的CI验证,他们俩家的CI环境都是Ubuntu,我自己也在Ubuntu14.04虚拟机上测试过了,都没有问题。

from zimg.

Michael-Ma avatar Michael-Ma commented on June 26, 2024

终于fix了,感觉是因为系统版本等问题导致找不到那个库。我虚拟机里的应该是64位的版本。
应该是加-lm -ldl来fix,但是那个加的地方不对,改CMAKE_EXE_LINKER_FLAGS是加在了前面:

/usr/bin/cc   -Wall -fno-strict-aliasing -DPROJECT_VERSION="2.2.0" -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -DEVHTP_DISABLE_SSL -DLUA_USE_LINUX -DLUA_ANSI -DZIMG_VERSION=2.2.0 -DMAGICKCORE_HDRI_ENABLE -DMAGICKCORE_QUANTUM_DEPTH=16 -O3 -DNDEBUG -Wall -fno-strict-aliasing  -L/usr/lib -L/usr/local/lib -lm -ldl CMakeFiles/zimg.dir/zmd5.c.o CMakeFiles/zimg.dir/zaccess.c.o CMakeFiles/zimg.dir/zutil.c.o CMakeFiles/zimg.dir/zlog.c.o CMakeFiles/zimg.dir/zhttpd.c.o CMakeFiles/zimg.dir/zimg.c.o CMakeFiles/zimg.dir/main.c.o CMakeFiles/zimg.dir/zcache.c.o CMakeFiles/zimg.dir/zdb.c.o CMakeFiles/zimg.dir/zspinlock.c.o CMakeFiles/zimg.dir/libevhtp/evthr.c.o CMakeFiles/zimg.dir/libevhtp/evhtp.c.o CMakeFiles/zimg.dir/libevhtp/htparse.c.o CMakeFiles/zimg.dir/hiredis/sds.c.o CMakeFiles/zimg.dir/hiredis/net.c.o CMakeFiles/zimg.dir/hiredis/hiredis.c.o CMakeFiles/zimg.dir/lua/lgc.c.o CMakeFiles/zimg.dir/lua/lparser.c.o CMakeFiles/zimg.dir/lua/lfunc.c.o CMakeFiles/zimg.dir/lua/lundump.c.o CMakeFiles/zimg.dir/lua/lcode.c.o CMakeFiles/zimg.dir/lua/lstate.c.o CMakeFiles/zimg.dir/lua/print.c.o CMakeFiles/zimg.dir/lua/ltable.c.o CMakeFiles/zimg.dir/lua/lauxlib.c.o CMakeFiles/zimg.dir/lua/ldump.c.o CMakeFiles/zimg.dir/lua/lopcodes.c.o CMakeFiles/zimg.dir/lua/llex.c.o CMakeFiles/zimg.dir/lua/ltm.c.o CMakeFiles/zimg.dir/lua/liolib.c.o CMakeFiles/zimg.dir/lua/lvm.c.o CMakeFiles/zimg.dir/lua/linit.c.o CMakeFiles/zimg.dir/lua/lmathlib.c.o CMakeFiles/zimg.dir/lua/lzio.c.o CMakeFiles/zimg.dir/lua/lapi.c.o CMakeFiles/zimg.dir/lua/lmem.c.o CMakeFiles/zimg.dir/lua/ldebug.c.o CMakeFiles/zimg.dir/lua/lobject.c.o CMakeFiles/zimg.dir/lua/lstrlib.c.o CMakeFiles/zimg.dir/lua/loadlib.c.o CMakeFiles/zimg.dir/lua/ltablib.c.o CMakeFiles/zimg.dir/lua/ldblib.c.o CMakeFiles/zimg.dir/lua/lstring.c.o CMakeFiles/zimg.dir/lua/loslib.c.o CMakeFiles/zimg.dir/lua/lbaselib.c.o CMakeFiles/zimg.dir/lua/ldo.c.o  -o zimg -rdynamic -levent -levent_pthreads -lMagickWand -lmemcached -lpthread

而正确的做法是加在最后面。所以后来我加到ZIMG_EXTERNAL_LIBS里面就过了···
原来没用过cmake···
多谢~

from zimg.

buaazp avatar buaazp commented on June 26, 2024

赞!原来如此,我也没发现是cmake是这么搞的~
update:
已经更新到master分支里了。

from zimg.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.