quicky2000 / P_wireworld

Integration repository for wireworld based projects
GNU General Public License v3.0
3 stars 0 forks source link

Build error - MacOS #1

Closed novusabeo closed 5 years ago

novusabeo commented 5 years ago

Having trouble building this -- I can't seem to get it to generate the makefiles with build.sh

sh build.sh build.sh: line 6: generate_makefile: command not found make: No targets specified and no makefile found. Stop. build.sh: line 11: generate_makefile: command not found make: No targets specified and no makefile found. Stop. build.sh: line 16: generate_makefile: command not found make: No targets specified and no makefile found. Stop. build.sh: line 21: generate_makefile: command not found make: No targets specified and no makefile found. Stop.

I'm not sure if generate_makefile works here for some reason. Really would love to work with this -- and ideas? I see the xmlparser is in the sources directory -- or do I need to set that up differently. Also have > SDL 1.2

quicky2000 commented 5 years ago

Hi John,

Did you execute setup.sh before launching build.sh ? Normally this setup will complete PATH with /your_path/P_wireworld/sources/quicky_tools/bin/ The fact that generate_makefile command is not found make me think that setup failed somewhere. Unfortunately I have no MacOS based computer so I never tested it....

Concerning SDL if you have a version 2.x it will not work as SDL 2.x is not backward compatible with SDL 1.2 so at this time if you want to be able to compile you will need SDL 1.2. I should migrate my softwares to SDL 2.x...

quicky2000 commented 5 years ago

Which version of MacOS are you using ? Which compiler ? Are you using XCode ? if yes which version ? Thanks by advance

novusabeo commented 5 years ago

I did, setup.sh executed fine, but build.sh seems to have errors. On MacOS Mojave, and SDL 2.x It must be SDL 2.x causing the issue here.

I do have Xcode & Command Line Tools installed; the latest also, v10.x Was hoping SDL was backwards compatible.

Is generate_makefile a command from Command Line Tools or cmake or -- I've never used it to generate makefiles, only make, cmake ../

quicky2000 commented 5 years ago

Could you paste here the content of PATH environment variable after doinng . setup.sh ? generate_makefile is a script I provide in the project. You can find it in P_Wireworld/souces/quicky_tools/bin . It generates the Makefile that will be used for building. Could you check it has the correct execution rights? If not it could explains why command is not found

quicky2000 commented 5 years ago

Hi @novusabeo any news ? I m pretty sure that execution rights are missing on P_Wireworld/souces/quicky_tools/bin/* could you check ? I`m also migrating the project on CMake

novusabeo commented 5 years ago

I believe this is true, trying to run generate_makefile receives a permission denied.

-rw-r--r--@ 1 johnnymorrow staff 1364 Oct 18 17:14 generate_makefile -rw-r--r-- 1 johnnymorrow staff 1341 Oct 18 17:14 get_key -rw-r--r-- 1 johnnymorrow staff 1175 Oct 18 17:14 get_object_version -rw-r--r-- 1 johnnymorrow staff 1724 Oct 18 17:14 package -rw-r--r-- 1 johnnymorrow staff 1230 Oct 18 17:14 search_object -rw-r--r-- 1 johnnymorrow staff 2173 Oct 18 17:14 simple_search_object

Mac has weird permissions systems now, this may be why it is different. But CMake should help.

I chmod -R 777 the sources and everything in P_wireworld giving execute permissions, but still the same "generate_makefile:command not found when running build.sh

quicky2000 commented 5 years ago

OK, and what if you patch build.sh to prefix generate_makefile call with its absolute path ? CMake migration is on going

novusabeo commented 5 years ago

Getting:

Environment variable QUICKY_TOOLS is not set make: No targets specified and no makefile found. Stop. Environment variable QUICKY_TOOLS is not set make: No targets specified and no makefile found. Stop. Environment variable QUICKY_TOOLS is not set make: No targets specified and no makefile found. Stop. Environment variable QUICKY_TOOLS is not set make: No targets specified and no makefile found. Stop.

quicky2000 commented 5 years ago

QUICKY_TOOLS should have been set by P_wireworld/sources/quicky_tools/setup/setup.sh called by P_wireworld/setup.sh It looks like setup do nothing in your environment.... Normally QUICKY_TOOLS should have value /Path_containing_P_Wireworld/P_wireworld/sources/quicky_tools/setup Could you try to set it manually ? Could you confirm that to perform the setup you used the following command: . setup.sh ? ". " before setup.sh is important

novusabeo commented 5 years ago

Indeed I did,

deleted build folder made by previous attempts in the P_wireworld directory then run

_MacBook-Pro:Pwireworld ME$ ./setup.sh

No response in CLI just goes back to

_MacBook-Pro:Pwireworld ME$

Not sure if that means it completed or..

Will try to set it manually.

quicky2000 commented 5 years ago

There is perhaps something different between Linux shell and Mac OS shell What you can do to check if setup do somenthing is : env | grep QUICKY Normally you should have QUICKY_TOOLS QUICKY_REPOSITORY If result is empty it means that something is wrong with setup.sh

novusabeo commented 5 years ago

Must be that. PWD in MacOS works though, returns working directory. I'm not sure if it's something else different but usually Mac and Linux get along somewhat okay... Setting manually doesn't fix. Tried to set the $PWD to absolute path and no luck in

/Path_containing_P_Wireworld/P_wireworld/sources/quicky_tools/setup/setup.sh and in /Path_containing_P_Wireworld/P_wireworld/setup.sh

env | grep QUICKY with no return

quicky2000 commented 5 years ago

OK, I will try to check with Travis-CI

novusabeo commented 5 years ago

Okay - thanks

quicky2000 commented 5 years ago

Hi @novusabeo the build with CMake is available through script build_cmake.sh however please notice that to work properly you must ensure that QUICKY_REPOSITORY is set correctly. If this is not the case please set its value manually by looking at setup.sh The command ls $QUICKY_REPOSITORY should return something like: EXT_systemc EXT_xmlParser lib_bmp parameter_manager quicky_exception quicky_tools quicky_utils simple_gui wireworld wireworld_common wireworld_computer wireworld_systemc wireworld_tool

I will let you know when I perform test with MacOS on Travis

quicky2000 commented 5 years ago

Hi @novusabeo , the project now supports MacOS ( at least the one available in Travis-Ci ). You can find example of MacOS Travis build here: https://travis-ci.org/quicky2000/P_wireworld/jobs/447259877 You can try to follow the same procedure in your environment Please note that you will perhaps have to patch setup.sh in case SystemC installation is not located in /usr/local/systemc-2.3.1

I`m waiting for you feedback to know if I can close this issue Have a good week end

novusabeo commented 5 years ago

It is working for me. Thank you for your work, thank you for your help!

quicky2000 commented 5 years ago

Ok, good news! Thanks for your interest and for giving me the motivation to use Travis multi OS feature and check for Clang support