EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=588)
-   -   No rule to make target error during compiling (https://www.eqemulator.org/forums/showthread.php?t=38468)

drmike 07-10-2014 07:56 PM

No rule to make target error during compiling
 
Greets:

I'm having an issue with compiling Eqemu on an Ubuntu server and am getting an error.

I'm just going to copy and paste the error at first in the hopeful attempt that someone will recognize the error right off. I'll do a walk through if no one recognizes it.

Code:

[ 45%] Building CXX object world/CMakeFiles/world.dir/queryserv.cpp.o
[ 46%] Building CXX object world/CMakeFiles/world.dir/socket_server.cpp.o
[ 46%] Building CXX object world/CMakeFiles/world.dir/ucs.cpp.o
[ 47%] Building CXX object world/CMakeFiles/world.dir/wguild_mgr.cpp.o
[ 47%] Building CXX object world/CMakeFiles/world.dir/world_logsys.cpp.o
[ 47%] Building CXX object world/CMakeFiles/world.dir/WorldConfig.cpp.o
[ 48%] Building CXX object world/CMakeFiles/world.dir/worlddb.cpp.o
[ 48%] Building CXX object world/CMakeFiles/world.dir/zonelist.cpp.o
[ 49%] Building CXX object world/CMakeFiles/world.dir/zoneserver.cpp.o
make[2]: *** No rule to make target `locate -n 1 libperl.so', needed by `Bin/world'.  Stop.
make[1]: *** [world/CMakeFiles/world.dir/all] Error 2
make: *** [all] Error 2

I have done the following command:

Code:

cmake . -DPERL_LIBRARY='locate -n 1 libperl.so'
I do notice that the Linux instructions here use the fancy single quote and I've used the normal single quote. I do notice that the error uses the fancy single quote before the locate with the normal single quote after the .so.

Any ideas?

Be happy to give specifics if needed.

Thanks
-drmike

provocating 07-10-2014 11:14 PM

Try this and then compile again.

Code:

apt-get -y install git git-core gcc g++ cpp libmysqlclient-dev libio-stringy-perl

lerxst2112 07-11-2014 01:18 AM

If you want the statement to be evaluated you need to use the back quote on the ~ key.

demonstar55 07-11-2014 02:52 AM

http://wiki.eqemulator.org/p?Buildin...lding-with-gcc

drmike 07-11-2014 01:16 PM

Currently trying again. I'll update as I go.

Quote:

Originally Posted by provocating (Post 231794)
Try this and then compile again.

Code:

apt-get -y install git git-core gcc g++ cpp libmysqlclient-dev libio-stringy-perl

git-core and libio-stringy-perl were missing and are now installed.

gcc version is 4.8.1

Quote:

Originally Posted by lerxst2112 (Post 231795)
If you want the statement to be evaluated you need to use the back quote on the ~ key.

Sorry, that's what I call the fancy single quote. I do mostly php coding with open source stuff and that's what it's called there. I had thought it was a typo since many CMSes convert the simple single and double quotes to the fancy ones when text is displayed. Seemed to fail outright when I tried that previously.

Update: Just tried it again and am getting the same error. Two things I noticed though:

Getting lots of these:

Code:

/usr/lib/perl/5.14/CORE/pad.h:262:8: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix]
        "Pad 0x%"UVxf"[0x%"UVxf"] restore_local\n", \
        ^

Also when I run this with the fancy single quote:
Code:

cmake . -DPERL_LIBRARY=`locate -n 1 libperl.so`
It reports back that it can;t find perl.

Code:

drmike@vps5:~/eqemu/build$ cmake . -DPERL_LIBRARY=`locate -n 1 libperl.so`
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find PerlLibs (missing: PERL_LIBRARY) (found version "5.14.2")
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-2.8/Modules/FindPerlLibs.cmake:242 (find_package_handle_standard_args)
  CMakeLists.txt:281 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!


Only way i can get it to find perl is with the simple single quote:

Code:

cmake .. -DPERL_LIBRARY='locate -n 1 libperl.so'

drmike 07-11-2014 01:56 PM

I think I've got it. trying again and am up to 70%. Found this:

http://www.eqemulator.org/forums/showthread.php?t=33652

Ran this:

Code:

apt-get install gcc g++ make libio-stringy-perl libperl-dev unzip
libperl-dev was missing.

I am still concerned though about the c++11 errors though.

Also was wondering why the lua parcer and the login server are not compiled as a default. I would think both of those would be important.

thanks

lerxst2112 07-11-2014 02:34 PM

Those are warnings, not errors.

You can see the difference between the regular and back quotes by typing
Code:

echo 'locate -n 1 libperl.so'
echo `locate -n 1 libperl.so`

and seeing the difference in the output. The first is just a quoted string, the second is the output from the actual command.

I don't know which is correct to pass to cmake. It seems like their method of detecting perl should work if you didn't try to override it at all.

KLS 07-11-2014 06:32 PM

Those warnings are a problem with perl that isn't fixed until 5.20 or 5.21 which are really too new to be packaged with existing distros atm. If you're not using clang it isn't an issue as gcc still lists them as warnings (error on clang).

Lua parser will be turned on by default soon.
Login requires an extra step so atm it will remain disabled by default.

drmike 07-11-2014 08:24 PM

Quote:

Originally Posted by KLS (Post 231813)
Those warnings are a problem with perl that isn't fixed until 5.20 or 5.21 which are really too new to be packaged with existing distros atm. If you're not using clang it isn't an issue as gcc still lists them as warnings (error on clang).

No idea what clang is. I don't do much compiling as I mostly work with web languages. This really is being set up as an educational device.

Quote:

Originally Posted by KLS (Post 231813)
Lua parser will be turned on by default soon.
Login requires an extra step so atm it will remain disabled by default.

Should I be compiling with both of those turned on? And if someone could point me please as to what you mean by an extra step for the login server....

Question Looking at this:

https://github.com/EQEmu/Server/wiki/Linux-server-setup

Step 18 is a MySQL user, correct? Assuming that but just wanted to make sure.

Also looks like steps 12 and 17 are pretty much the same item: Load the databases. 17 just gives more details.

Anyone mind if I do some editing on that page?

thanks

edit: I'm also getting a end of file error on the peqbeta_ file download from Google code. tried it in both wget directly from the server and Firefox with my local laptop. I was able to uncompress it fine locally with 7zip and upload it via sftp. Just wanted to point that out.


All times are GMT -4. The time now is 01:45 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.