When running scons in single thread, I get all my code to build fine. However, if I use -j (for parallel builds), I get a plethora of these errors:
Internal Error: no cycle found for node FILE (<SCons.Node.FS.Dir object at 0xc15aeec>) in state pending
What does this error mean?
How can I resolve this?
I am aware of Issue 2777 but I am running scons v2.3.1 which should have this already in.
Related
I'm working on the sources of an application an have the release version of the application installed on the system.
How can i test the modified (and possibly buggy) application without conflicting with the version installed ?
What I want is basically virtual env but for generic applications.
I tried Docker but this has several issues :
I can't get the X11 redirection working. I tried commands like docker run -ti --net=host -e DISPLAY=:0.0 test-docker-geany or docker run -ti -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix test-docker-geany according to some forum threads.
The docker build involves copying the whole codebase to the image as well as installing all the tools and libraries needed to compile which some are not stored in cache and installed each time. So the script takes several minutes each time you want to compile and run.
So my questions are :
Is docker the best solution for such task ? I'm sure this is a problem a lot open source contributors faces but I couldn't find other cases on the net.
If it is not the best solution what are the alternatives ?
Detailed error :
I ran the commands xhost + and the first one I gave in my first issue and I got :
The program 'geany' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
(Details: serial 173 error_code 2 request_code 130 minor_code 3)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
The Dockerfile : https://pastebin.com/p03vaWbU
The warning was finally the cause : i just had to install gtk2-engines-pixbuf according to this thread
EDIT : I misunderstood the success. I get it to work that time because I ran an other GUI program in the docker before. In fact, I finally discovered that trying geany a second time just works although the first try give the error.
I'm working on libpcap to make my own wireless networking sniffer, and I want to include in my program, the compile failed with the error message "fatal error: ieee80211.h: no such file or directory".
The kernel version is 5.3.0-28-generic, I believe it's quite new and I couldn't find any ieee80211.h file in normal include paths such as /usr/include, /usr/include/linux, and even if I include it from somewhere else, more errors come out because it includes much more sources that don't exist.
it seems that I have to install the complete networking source code system.
Is there any way i can do that?
I'm building a nodejs app from OSX and trying to deploy it to kubernetes using rules_k8s.
It almost works, except that the node doesn't start because of this error:
/app/examples/hellohttp/nodejs/nodejs-hellohttp_image.binary: line 147: /app/examples/hellohttp/nodejs/nodejs-hellohttp_image.binary.runfiles/com_github_yourbase_yourbase/external/nodejs/bin/node: cannot execute binary file: Exec format error
/app/examples/hellohttp/nodejs/nodejs-hellohttp_image.binary: line 147: /app/examples/hellohttp/nodejs/nodejs-hellohttp_image.binary.runfiles/com_github_yourbase_yourbase/external/nodejs/bin/node: Success
It looks like the node binary being deployed wasn't built for the right platform where k8s is running (linux with amd64, normal Google GKE nodes).
The command I'm using to make the deployment:
bazel run --cpu=k8 //examples/hellohttp/nodejs:nodejs-hellohttp_deploy.apply
I tried with other combinations of --platforms or --cpu but I couldn't get it to work.
The argument that felt like the closest was this:
$ bazel run --platforms=#bazel_tools//platforms:linux //examples/hellohttp/nodejs:nodejs-hellohttp_deploy.apply
ERROR: While resolving toolchains for target //examples/hellohttp/nodejs:nodejs-hellohttp_deploy.apply: Target constraint_value rule #bazel_tools//platforms:linux was found as the target platform, but does not provide PlatformInfo
ERROR: Analysis of target '//examples/hellohttp/nodejs:nodejs-hellohttp_deploy.apply' failed; build aborted: Target constraint_value rule #bazel_tools//platforms:linux was found as the target platform, but does not provide PlatformInfo
INFO: Elapsed time: 0.255s
FAILED: Build did NOT complete successfully (0 packages loaded)
ERROR: Build failed. Not running target
This says there was a toolchain problem, and says something about missing PlatformInfo, but it doesn't say anything about how do I fix it. :-(
For what is worth, with Go I had similar problems, and they were solved by passing --experimental_platforms=#io_bazel_rules_go//go/toolchain:linux_amd64 to the bazel run command.
How do I make something similar work for nodejs?
While working on SNMP, I am not able to execute snmpwalk or snmpset. Then I checked snmpd -H.
I see an error as:
dlopen(/lib/libvcpeLiTapMediationTable.so) failed: /lib/libvcpeLiTapMediationTable.so: undefined symbol: memdup
dlopen(/lib/libvcpeLiTapStreamTable.so) failed: /lib/libvcpeLiTapStreamTable.so: undefined symbol: memdup
I think that my library might not be opening dynamically due to this.
When I load my packages in CentOS as rpms, I have no errors.
But for the same code, when I load my packages in Ubuntu as debian packages, I see this error.
Queries:
Is there any problem with SNMP installation (since it works on CentOS but not on Ubuntu)? Or is something missing in my debian packages?
Please explain the impact of this error on my operations.
Any relevant answers will be helpful as I am new to this.
Thank you.
Your libvcpeLiTapMediationTable.so depends on function memdup(). This is defined on your CentOS and wherever it was built, in either Net-SNMP or one of the libraries it or libvcpeLiTapMediationTable.so links to at run time, but is not defined on your Ubuntu. Consequently, it can't be loaded at won't work.
Net-SNMP defined memdup() in snmplib/tools.c, but this was renamed to netsnmp_memdup() to avoid conflicts with other libraries that might define their own version according to change history. Perhaps you are using two different versions of Net-SNMP between your two distros, one with and one without that change.
Im trying to compile a Qt project based on the example given here.
I managed to compile without errors, but during execution there are errors. I'm getting these errors in pop up windows:
-open /dev/dsp error
-init failed
-start capture failed
-get frame failed
Moreover, the output displays:
sh: line 0: .:setqt4env:file not found
Trying open file
Could not open File! Error code: 5
/home/QFaceRec/QTFaceRecForPC exited with code 0
SIGSEGV Error when debugging with Qt Creator.
I have googled, answers are due to the application tries to access memory illegally.
Therefore, I try to execute in su - / root, but the run time error remain unsolved.
Im trying to compile and run the code in fedora with qt creator without the GPIO and serial port setting.
Anyone got any ideas to my problem? or knows how to compile the qt code in the link above
Answers are due to the application tries to access memory illegally. Therefore, I try to execute in su - / root
Do not do that! The illegal memory access is not a matter of permissions, it's a matter of the software having bugs. By running it as root, there's a possibility that those bugs will wreck your system.