Opened 14 years ago
Closed 13 years ago
#29135 closed defect (worksforme)
readline: error: 'LC_CTYPE' undeclared
Reported by: | bbarth@… | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.9.2 |
Keywords: | Cc: | ||
Port: | readline |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
After a selfupdate, while trying to upgrade outdated packages, I ran into the following problem:
rye(49)$ sudo port upgrade readline ---> Computing dependencies for readline ---> Building readline Error: Target org.macports.build returned: shell command failed (see log for details) Log for readline is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_readline/main.log Error: Unable to upgrade port: 1
I tried uninstalling it and re-executing the command to no avail.
Here's the message from the log:
rye(50)$ more /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_readline/main.log version:1 :msg:main ---> Computing dependencies for readline:info:main .:debug:main Searching for dependency: ncurses :debug:main Found Dependency: receipt exists for ncurses :msg:main :debug:main Executing org.macports.main (readline) :debug:main Skipping completed org.macports.fetch (readline) :debug:main Skipping completed org.macports.checksum (readline) :debug:main Skipping completed org.macports.extract (readline) :debug:main Skipping completed org.macports.patch (readline) :debug:main Skipping completed org.macports.configure (readline) :msg:main ---> Building readline :debug:build build phase started at Thu Apr 14 13:36:51 CDT 2011 :debug:build Executing org.macports.build (readline) :debug:build Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_readline/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6' :debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_readline/work/readline-6.2" && /usr/bin/make -j4 all' :info:build rm -f complete.o :info:build rm -f terminal.o :info:build rm -f text.o :info:build rm -f nls.o :info:build /usr/bin/gcc-4.2 -c -DHAVE_CONFIG_H -I/opt/local/include -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -pipe -O2 -arch x86_64 complete.c :info:build /usr/bin/gcc-4.2 -c -DHAVE_CONFIG_H -I/opt/local/include -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -pipe -O2 -arch x86_64 terminal.c :info:build /usr/bin/gcc-4.2 -c -DHAVE_CONFIG_H -I/opt/local/include -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -pipe -O2 -arch x86_64 text.c :info:build /usr/bin/gcc-4.2 -c -DHAVE_CONFIG_H -I/opt/local/include -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -pipe -O2 -arch x86_64 nls.c :info:build nls.c: In function '_rl_init_eightbit': :info:build nls.c:114: error: 'LC_CTYPE' undeclared (first use in this function) :info:build nls.c:114: error: (Each undeclared identifier is reported only once :info:build nls.c:114: error: for each function it appears in.) :info:build nls.c:114: warning: assignment makes pointer from integer without a cast :info:build nls.c:117: warning: assignment makes pointer from integer without a cast :info:build complete.c: In function 'rl_username_completion_function': :info:build complete.c:2045: warning: assignment makes pointer from integer without a cast :info:build complete.c:2048: error: dereferencing pointer to incomplete type :info:build complete.c:2048: error: dereferencing pointer to incomplete type :info:build complete.c:2062: error: dereferencing pointer to incomplete type :info:build complete.c:2066: error: dereferencing pointer to incomplete type :info:build complete.c:2066: error: dereferencing pointer to incomplete type :info:build complete.c: In function 'rl_filename_completion_function': :info:build complete.c:2141: error: nested functions are disabled, use -fnested-functions to re-enable :info:build complete.c:2141: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token :info:build complete.c:2141: error: 'directory' undeclared (first use in this function) :info:build complete.c:2141: error: (Each undeclared identifier is reported only once :info:build complete.c:2141: error: for each function it appears in.) :info:build complete.c:2141: error: 'DIR' undeclared (first use in this function) :info:build complete.c:2141: error: expected expression before ')' token :info:build complete.c:2158: error: expected expression before ')' token :info:build complete.c:2258: warning: assignment makes pointer from integer without a cast :info:build complete.c:2260: error: dereferencing pointer to incomplete type :info:build complete.c:2261: error: dereferencing pointer to incomplete type :info:build complete.c:2293: error: expected expression before ')' token :info:build complete.c:2321: error: dereferencing pointer to incomplete type :info:build complete.c:2334: error: dereferencing pointer to incomplete type :info:build make: *** [nls.o] Error 1 :info:build make: *** Waiting for unfinished jobs.... :info:build make: *** [complete.o] Error 1 :info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_readline/work/readline-6.2" && /usr/bin/make -j4 all " returned error 2 :error:build Target org.macports.build returned: shell command failed (see log for details) :debug:build Backtrace: shell command failed (see log for details) while executing "command_exec build" (procedure "portbuild::build_main" line 8) invoked from within "$procedure $targetname"
Uninstalling readline has left me with a bunch of unusable packages, so any help will be greatly appreciated.
Attachments (3)
Change History (22)
comment:1 Changed 14 years ago by bbarth@…
comment:2 follow-up: 3 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Owner: | changed from macports-tickets@… to mcalhoun@… |
Port: | readline added |
Summary: | readline fails to upgrade or uninstall → readline: error: 'LC_CTYPE' undeclared |
It might help to have the complete log. Clean and try again and attach the complete main.log file.
sudo port clean readline sudo port install readline
Changed 14 years ago by bbarth@…
comment:5 Changed 14 years ago by bbarth@…
rye(78)$ ls /usr/local/include/ fuse fuse.h
That's it. Moving /usr/local/include to /usr/local/include.save and cleaning and reattempting the readline install leads to the same errors.
comment:6 Changed 14 years ago by bbarth@…
Any thoughts or updates on this? Is there an easy way that I can list all my installed ports, erase everything and start over? Is there a fix in the works? :)
comment:7 Changed 14 years ago by bbarth@…
Any news? I'm happy to do anything on my end to help diagnose. I'm stranded at the moment.
comment:8 Changed 14 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Status: | new → assigned |
---|
It seems that you get a different set of errors between postings.
In your original posting, the file nls.c had errors, but it did not in the second.
Do you have any idea what changed between the two attempts?
It seems that your build is not properly including system header files (/usr/include/locale.h in the first post, /usr/include/pwd.h, and /usr/include/dirent.h).
Could you please
- Keep /usr/local/include as /usr/local/include.save
- Check to see if files named locale.h, pwd.h, or direct.h are in /opt/local/include
- clean readline and attempt to reinstall
- post the main.log again
- post config.log (probably found in /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/readline/work/readline-6.2)
comment:9 follow-up: 10 Changed 14 years ago by bbarth@…
The only thing that changed between reports was that I followed Ryan's request to clean and reinstall readline. The files you wanted me to look for are missing:
rye(37)$ find /opt/local/include/ -name direct.h rye(38)$ find /opt/local/include/ -name pwd.h rye(39)$ find /opt/local/include/ -name locale.h
What port should they have come from? Maybe a dependency is broken somewhere.
I'm skipping the clean and reinstall for now given that these files don't exist.
comment:10 Changed 14 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Replying to bbarth@…:
The only thing that changed between reports was that I followed Ryan's request to clean and reinstall readline. The files you wanted me to look for are missing:
rye(37)$ find /opt/local/include/ -name direct.h rye(38)$ find /opt/local/include/ -name pwd.h rye(39)$ find /opt/local/include/ -name locale.h
What port should they have come from? Maybe a dependency is broken somewhere.
I'm skipping the clean and reinstall for now given that these files don't exist.
Sorry, I meant to confirm that they are NOT be in /opt/local/include (which you did).
If there had been any of these files in /opt/local/include, they would have shadowed the ones in /usr/include, and it would have helped explain the problem.
Since that source of error has been ruled out, we can continue looking for other possibilities.
comment:11 Changed 14 years ago by bbarth@…
Ah, OK. Well I've followed the rest of your instructions and cleaned and reinstalled.
rye(40)$ sudo port clean readline Password: ---> Cleaning readline rye(41)$ sudo port install readline ---> Computing dependencies for readline ---> Fetching readline ---> Verifying checksum(s) for readline ---> Extracting readline ---> Applying patches to readline ---> Configuring readline ---> Building readline Error: Target org.macports.build returned: shell command failed (see log for details) Log for readline is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_readline/main.log
Changed 14 years ago by bbarth@…
Attachment: | main.2.log added |
---|
Changed 14 years ago by bbarth@…
Attachment: | config.log added |
---|
comment:14 Changed 13 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
I am sorry, but I am at a loss as to what the problem might be.
As far as I can tell, certain system header files are being detected during the configure phase but aren't being included in the build phase.
I do not know why.
Is there anything you can think of that would make your system nonstandard?
comment:15 follow-up: 16 Changed 13 years ago by bbarth@…
There's nothing that I can think of.
Do you think it's worth making a list of all my ports, wiping MacPorts off my system, and starting over from scratch? Do you think that would do something useful?
Also, is it possible to go run the build by hand in the build directory? Perhaps I could poke at it until I figure it out, but I wouldn't know where to start looking for the build.
comment:16 Changed 13 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Replying to bbarth@…:
There's nothing that I can think of.
Do you think it's worth making a list of all my ports, wiping MacPorts off my system, and starting over from scratch? Do you think that would do something useful?
Also, is it possible to go run the build by hand in the build directory? Perhaps I could poke at it until I figure it out, but I wouldn't know where to start looking for the build.
I would only reinstall MacPorts as a last resort.
It is possible to have more than one MacPorts installation (http://guide.macports.org/#installing.macports.source.multiple)
If you are willing to put up with inconvenience, you could reinstall (or upgrade) XCode.
It might help.
To find the script file used to build readline, run the command
port dir readline
In that directory, there is a link to the build directory (called work).
comment:17 Changed 13 years ago by bbarth@…
Thanks for the info. Here's an update with some success and more questions:
I got the directory, did a "sudo su -" and cded there. Then I did a "make". And got the following which is the same as in the logs.
rye:readline-6.2 root# make rm -f complete.o /usr/bin/gcc-4.2 -c -DHAVE_CONFIG_H -I/opt/local/include -I. -I. -DRL_LIBRARY_VERSION='"6.2"' -pipe -O2 -arch x86_64 complete.c complete.c: In function 'rl_username_completion_function': complete.c:2045: warning: assignment makes pointer from integer without a cast complete.c:2048: error: dereferencing pointer to incomplete type complete.c:2048: error: dereferencing pointer to incomplete type complete.c:2062: error: dereferencing pointer to incomplete type complete.c:2066: error: dereferencing pointer to incomplete type complete.c:2066: error: dereferencing pointer to incomplete type complete.c: In function 'rl_filename_completion_function': complete.c:2141: error: nested functions are disabled, use -fnested-functions to re-enable complete.c:2141: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token complete.c:2141: error: 'directory' undeclared (first use in this function) complete.c:2141: error: (Each undeclared identifier is reported only once complete.c:2141: error: for each function it appears in.) complete.c:2141: error: 'DIR' undeclared (first use in this function) complete.c:2141: error: expected expression before ')' token complete.c:2158: error: expected expression before ')' token complete.c:2258: warning: assignment makes pointer from integer without a cast complete.c:2260: error: dereferencing pointer to incomplete type complete.c:2261: error: dereferencing pointer to incomplete type complete.c:2293: error: expected expression before ')' token complete.c:2321: error: dereferencing pointer to incomplete type complete.c:2334: error: dereferencing pointer to incomplete type
Then, I looked in config.log, copied the configure line, ran it, and reran make. At that point, it built just fine!
Can I ask port to install this now that it's built? Does that provide you any hints?
comment:18 Changed 13 years ago by bbarth@…
OK, it appears that just running port upgrade outdated finished the install of readline. I appear to be in business, but I don't know why.
comment:19 Changed 13 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → worksforme |
---|---|
Status: | assigned → closed |
My title doesn't make a lot of sense. It should say "...fails to upgrade or install". Sorry.