This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | MacOSX: Smart Build Analyzer doesn't fix project | ||
---|---|---|---|
Product: | cnd | Reporter: | soldatov <soldatov> |
Component: | Project Discovery | Assignee: | Alexander Simon <alexvsimon> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | apepin |
Priority: | P3 | ||
Version: | 7.2 | ||
Hardware: | PC | ||
OS: | Mac OS X | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | 259035 | ||
Bug Blocks: | |||
Attachments: | test project |
Confirmed. Preload library is not notified about exec gcc. This is trace: ------------8<------------------ $ gcc BuildTrace: func1 BuildTrace: execvp called. PATH=/usr/bin/../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 BuildTrace: TOOLS=gcc LOG=/var/tmp/dlight_tester/1d7a43ea/qq.txt BuildTrace: key = i686-apple-darwin11-llvm-gcc-4.2 BuildTrace: func1 BuildTrace: execve called. PATH=/usr/bin/../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 BuildTrace: TOOLS=gcc LOG=/var/tmp/dlight_tester/1d7a43ea/qq.txt BuildTrace: key = i686-apple-darwin11-llvm-gcc-4.2 i686-apple-darwin11-llvm-gcc-4.2: no input files ------------8<------------------ I.e. OS resolves links (by own rules) and pass resolver executable in the library. Example of link resolution: ------------8<------------------ $ type gcc gcc is hashed (/usr/bin/gcc) $ ls -la /usr/bin/gcc lrwxr-xr-x 1 root wheel 12 Jun 26 19:24 /usr/bin/gcc -> llvm-gcc-4.2 $ ls -la /usr/bin/llvm-gcc-4.2 lrwxr-xr-x 1 root admin 32 Jun 26 19:24 /usr/bin/llvm-gcc-4.2 -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2 $ ls -la /usr/bin/../llvm-gcc-4.2/bin/llvm-gcc-4.2 -rwxrwxr-x 1 root admin 117152 Jul 27 2011 /usr/bin/../llvm-gcc-4.2/bin/llvm-gcc-4.2 $ file /usr/bin/../llvm-gcc-4.2/bin/llvm-gcc-4.2 /usr/bin/../llvm-gcc-4.2/bin/llvm-gcc-4.2: Mach-O universal binary with 2 architectures /usr/bin/../llvm-gcc-4.2/bin/llvm-gcc-4.2 (for architecture i386): Mach-O executable i386 /usr/bin/../llvm-gcc-4.2/bin/llvm-gcc-4.2 (for architecture x86_64): Mach-O 64-bit executable x86_64 ------------8<------------------ So manual link resolution (llvm-gcc-4.2) is not equal OS link resolution (i686-apple-darwin11-llvm-gcc-4.2): ------------8<------------------ $ ls -la /usr/bin/../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 -rwxrwxr-x 1 root admin 544448 Jul 27 2011 /usr/bin/../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 $ file /usr/bin/../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 /usr/bin/../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2: Mach-O universal binary with 2 architectures /usr/bin/../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 (for architecture i386): Mach-O executable i386 /usr/bin/../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 (for architecture x86_64): Mach-O 64-bit executable x86_64 ------------8<------------------ Last experiment: ------------8<------------------ $ sh -c gcc BuildTrace: func1 BuildTrace: execve called. PATH=/usr/bin/gcc BuildTrace: TOOLS=gcc LOG=/var/tmp/dlight_tester/1d7a43ea/qq.txt BuildTrace: key = gcc BuildTrace: found gcc BuildTrace: opened file /var/tmp/dlight_tester/1d7a43ea/qq.txt BuildTrace: log closed BuildTrace: func1 BuildTrace: execvp called. PATH=/usr/bin/../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 BuildTrace: TOOLS=gcc LOG=/var/tmp/dlight_tester/1d7a43ea/qq.txt BuildTrace: key = i686-apple-darwin11-llvm-gcc-4.2 BuildTrace: func1 BuildTrace: execve called. PATH=/usr/bin/../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 BuildTrace: TOOLS=gcc LOG=/var/tmp/dlight_tester/1d7a43ea/qq.txt BuildTrace: key = i686-apple-darwin11-llvm-gcc-4.2 i686-apple-darwin11-llvm-gcc-4.2: no input files ------------8<------------------ i.e. sh pass gcc to library. Is the issue still actual? IMHO it should be fixed in NB 7.4. Please verify. Still actual Work around: Replace C compiler path from /usr/bin/gcc to /usr/llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 Same bug in MacOSX 10.11 with default GCC There is a related issue #259035 (Implement wrapper technique in discovery in addition to preload/interpose technique) IDE uses "tool collection wrapper" technology. See bug #259035 |
Created attachment 121501 [details] test project Scenario: - Untar the attached project on MacOSX - Open project in IDE - Rebuild project ===> Code Assistance is not fixed