GNU-make : generates "Circular ....... dependency dropped" messages - gnu-make

(Please excuse my English)
I'm using GNU-make for compiling typescript codes. GNU-make is more simple and convenient than other similar tools. My original Makefile is below, and it works well.
all: test.js request.js server.js
test.js: test.ts
compiler test.ts
request.js: request.ts
compiler request.ts
server.js: server.ts
compiler server.ts
clean :
del test.js request.js server.js
As files to compile are increased, I modified the Makefile like below.
TARGETS=test.js request.js server.js
all: $(TARGETS)
.SECONDEXPANSION:
%: $$(basename $$#).ts
compiler $(basename $#).ts
clean :
del $(TARGETS)
The modified Makefile also works well, but generates these messages.
make: Circular test.ts <- test.ts dependency dropped.
make: Circular request.ts <- request.ts dependency dropped.
make: Circular server.ts <- server.ts dependency dropped.
make: Nothing to be done for 'all'.
How can I remove the "Circular ....... dependency dropped" messages?

Why are you using secondary expansion? This seems like a trivial usage of standard pattern rules, no need for complicated features:
%.js: %.ts
compiler $<

Related

ADA not able to link glut32.dll in GPS IDE

I'm writing simple OpenGl program using ADA in GPS IDE.
I have all supporting file (like glut.ads/adb, Gl.ads/adb)
I have created Pragma like "pragma Linker_Options("../Lib/glut32.dll");"
But I get errors like
Link
[link] main.adb
collect2.exe: error: ld returned 5 exit status
gprbuild: link of main.adb failed
gprbuild: failed command was: c:\gnat\2019\bin\gcc.exe main.o b__main.o D:\Saravanan\Project\Training\Open_GL Project\obj\GL-Extended.o D:\Saravanan\Project\Training\Open_GL Project\obj\GL.o D:\Saravanan\Project\Training\Open_GL Project\obj\glut.o -LD:\Saravanan\Project\Training\Open_GL Project\obj\ -LD:\Saravanan\Project\Training\Open_GL Project\obj\ -LC:/gnat/2019/lib/gcc/x86_64-pc-mingw32/8.3.1/adalib/ -static-libgcc ../Lib/glut32.dll C:/gnat/2019/lib/gcc/x86_64-pc-mingw32/8.3.1/adalib/libgnat
.a -Wl,--stack=0x2000000 -o main.exe
[2019-12-23 15:28:13] process exited with status 4, elapsed time: 01.83s
So kindly help me to resolve this issue
You might want to try
pragma Linker_Options("-L../Lib");
pragma Linker_Options("-lglut32");
See also, for example, here and here.
If you're using FreeGLUT, you need to link against additional system libraries:
pragma Linker_Options ("-lglu32", "-lopengl32", "-lgdi32",
"-lwinmm", "-luser32");
These are from the FreeGLUT C header.
Then you either do what #DeeDee suggested, or you place your DLL file into c:\gnat\2019\lib and just do
pragma Linker_Options ("-lglut32");
You might want to have a look at my OpenGLAda binding which handles this stuff with GPR files but uses GLFW instead of GLUT.

Torch installation failure: "No space left on device"

Cannot reinstall most recent Torch. Cloning fresh repo and attempting to install via install.sh which performs a series of make calls results in:
[ 75%] Building NVCC (Device) object lib/THC/CMakeFiles/THC.dir/generated/THC_generated_THCTensorMathCompareTDouble.cu.o
[ 76%] Building NVCC (Device) object lib/THC/CMakeFiles/THC.dir/generated/THC_generated_THCTensorMathPointwiseDouble.cu.o
[ 77%] Building NVCC (Device) object lib/THC/CMakeFiles/THC.dir/generated/THC_generated_THCTensorMathCompareDouble.cu.o
[ 78%] Building NVCC (Device) object lib/THC/CMakeFiles/THC.dir/generated/THC_generated_THCTensorMathReduceDouble.cu.o
[ 80%] Building NVCC (Device) object lib/THC/CMakeFiles/THC.dir/generated/THC_generated_THCTensorMaskedDouble.cu.o
/usr/include/x86_64-linux-gnu/bits/mathcalls.h(234) (col. 12): catastrophic error: error while writing generated C++ file: No space left on device
1 catastrophic error detected in the compilation of "/tmp/tmpxft_0001f39b_00000000-5_THCTensorMaskedDouble.cpp4.ii".
Compilation terminated.
fatbinary fatal : Could not write file '/tmp/tmpxft_0001efb5_00000000-2_THCTensorMathCompareTHalf.fatbin.c'
CMake Error at THC_generated_THCTensorMathCompareTHalf.cu.o.cmake:267 (message):
Error generating file
/local/pavels/torch/extra/cutorch/build/lib/THC/CMakeFiles/THC.dir/generated/./THC_generated_THCTensorMathCompareTHalf.cu.o
There is not enough space on /tmp and this is a remote machine so I don't have sudo access to increase it. Is there any workaround for this? Basically what I want to know if there is any way to force make store compilation files somewhere not on /tmp?
It appears that I just needed to create tmp dir and set it as TMPDIR env variable.
mkdir $HOME/tmp
export TMPDIR=$HOME/tmp
It depends on what tmp is.
Sometimes, as an optimization, tmp is mounted in a ramdisk. You can take a look at that using mount or in /etc/fstab.
If this is not the case, then make sure the disk partition where /tmp is has enough space, or delete other unused temporary files.
BleachBit, packaged in many distros, can help you freeing space.

Google closure compiler: required entry point "goog" never provided

I am trying to compile a simple closure project but I am getting this error:
build/closure-library/closure/bin/build/closurebuilder.py:
Compiling with the following command:
java -client -jar build/compiler.jar
--js build/closure-library/closure/goog/base.js
--js js/index.js
--manage_closure_dependencies=true
--transform_amd_modules
--process_common_js_modules
--common_js_entry_module
--common_js_module_path_prefix
--language_in=ECMASCRIPT5_STRICT
--compilation_level=SIMPLE_OPTIMIZATIONS
ERROR - required entry point "goog" never provided
As you can see, the java command is including base.js which has goog defined in it, so I have no idea what is going on.
I switched from using the bower version of closure-compiler to just cloning that actual source: https://github.com/google/closure-compiler and building it myself, and it worked.

Qmake build and gcc includes

I am working with Qt and kinda new to it. I want to build a Qt application and created devprog.pro file. However, after executing qmake and make I get the error
c:\qt473\include\qtcore../../src/corelib/global/qglobal.h(45)
: fatal error C10 83: Cannot open
include file: 'stddef.h': No such file
or directory
So I specified the gcc 4.4.1 include location and the error messages (amongst others) I get is:
c:\codeblocks\MinGW\lib\gcc\mingw32\4.4.1\include\stddef.h(211)
: error C2371: ' size_t' :
redefinition; different basic types
predefined C++ types (compiler internal)(19) : see declaration of
'size_ t'
C:\CodeBlocks\MinGW\include\string.h(126)
: error C2143: syntax error : missing
';' before '*'
C:\CodeBlocks\MinGW\include\string.h(126)
: error C4430: missing type specifier
- int assumed. Note: C++ does not support default-int
My question is:
1. How can resolve such error problems as I've scratched my hair off trying to solve this.
2. Is there a way to make automatically let qmake detect your main gcc mingw location without having to set it for each project during qmake execution?

Qt driver for PostgreSQL compilation error

When compiling psql with following command:
cd %QTDIR%\src\plugins\sqldrivers\psql
qmake "INCLUDEPATH+=D:\Program Files\PostgreSQL\8.3\include" "LIBS+=D:\Program Files\PostgreSQL\8.3\lib\libpq.lib" psql.pro
make
I got following message:
... g++: Files\PostgreSQL\8.3\lib -Lc:\Qt\2010.05\qt\lib tmp\obj\debug_shared\qsqlpsqld_resource_res.o D:\Progra~1\PostgreSQL\8.3\lib\libpq.lib -lQtSqld4 -lQtCored4 : Invalid argument
make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlpsqld4.dll] Error 1
make[1]: Leaving directory `C:/Qt/2010.05/qt/src/plugins/sqldrivers/psql'
make: *** [debug-all] Error 2
Replacement D:\Program Files -> D:\Progra~1 doesn't change anything. How to solve that problem?
Try using single quotes instead of double quotes in the qmake invocation. If that fails, try using forward slashes instead of backslashes in the path.
Commands should be:
cd %QTDIR%\src\plugins\sqldrivers\psql
qmake "INCLUDEPATH+=D:\Progra~1\PostgreSQL\8.3\include" "LIBS+=D:\Progra~1\PostgreSQL\8.3\lib\libpq.lib" psql.pro
then it is needed to manually fix Makefiles (Debug and Release) to exclude all occurencies of space in dirname, then run
make

Resources