#33833 closed defect (fixed)
libiodbc: expected declaration specifiers or '...' before 'u_short'
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | nerdling (Jeremy Lavergne) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.4 |
Keywords: | Cc: | cjones051073 (Chris Jones), Angelo.Graziosi@…, dhuffkc@…, lee@…, drkp (Dan Ports), reakinator@…, iwharry@…, xl64100@…, nitin0301@… | |
Port: | libiodbc |
Description
libiodbc is failing to build for me on Snow Leopard with Xcode 3.2.6:
../../iodbcinst/unicode.h:116: error: expected declaration specifiers or '...' before 'u_short'
Attachments (1)
Change History (21)
Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | libiodbc.main.log.bz2 added |
---|
comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | jonesc@… Angelo.Graziosi@… added |
---|
comment:2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | dhuffkc@… added |
---|
Has duplicate #33850.
comment:3 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | lee@… added |
---|
Has duplicate #33852.
comment:4 Changed 13 years ago by nerdling (Jeremy Lavergne)
Status: | new → assigned |
---|
Until I patch this, please remember you reactivate the previous version of libiodbc.
First find out what versions you already have installed via MacPorts:
port installed libiodbc
Then install libiodbc, specifying that version:
sudo port install libiodbc @3.52.7_0
comment:6 Changed 13 years ago by dhuffkc@…
I have a fresh install of Lion and XCode 4.3. I get "None of the specified ports are installed." for libiodbc.
comment:7 follow-ups: 8 10 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
For anyone experiencing this issue wanting to temporarily use an earlier version of the port instead, read wiki:howto/InstallingOlderPort.
comment:8 Changed 13 years ago by dhuffkc@…
Replying to ryandesign@…:
For anyone experiencing this issue wanting to temporarily use an earlier version of the port instead, read wiki:howto/InstallingOlderPort.
Outstanding! Thanks for the pointer.
comment:10 Changed 13 years ago by reakinator@…
Replying to ryandesign@…:
For anyone experiencing this issue wanting to temporarily use an earlier version of the port instead, read wiki:howto/InstallingOlderPort.
Hi, just wanted to say I followed these instructions and installed libiodbc @3.52.7_0 and then was able to continue installation. However, I later had to fix a different broken dependency (oxygen-icons) and once I did and tried to resume, I get the following error related to libiodbc again:
$ sudo port install kdevelop ---> Computing dependencies for libiodbc ---> Building libiodbc Error: Target org.macports.build returned: shell command failed (see log for details) Log for libiodbc is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_libiodbc/libiodbc/main.log Error: Unable to upgrade port: 1 Error: Unable to execute port: upgrade kdelibs4 failed
Any ideas on how to diagnose this? I can paste the log somewhere if it helps.
comment:11 follow-up: 13 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Please use WikiFormatting when writing in Trac.
You can attach logs to this ticket, if you believe they will be helpful (i.e. if they relate to the bug in this ticket, but the log is different from the one already attached here). But the output you showed above shows that this was not a clean attempt, so "sudo port clean libiodbc" first.
comment:13 follow-up: 14 Changed 13 years ago by reakinator@…
Replying to ryandesign@…:
Please use WikiFormatting when writing in Trac.
You can attach logs to this ticket, if you believe they will be helpful (i.e. if they relate to the bug in this ticket, but the log is different from the one already attached here). But the output you showed above shows that this was not a clean attempt, so "sudo port clean libiodbc" first.
Sorry about that, noted for the future.
The problem isn't really related to this bug report, it is related to the workaround involving installed the previous port version, then continuing on installed the kdevelop depencies - eventually macports looks for the latest version again, tries to update kdelibs4 (thereby updating libiodbc to the latest, non working version), and again I'm stuck.
Is there a missing step on that wiki you linked explaining how to make macports use the older version of a port?
comment:14 Changed 13 years ago by xl64100@…
Same here when trying to install kde4-kile :
$ sudo port install kde4-kile ---> Computing dependencies for kde4-kile ---> Dependencies to be installed: kate kdelibs4 soprano libiodbc raptor2 redland rasqal mhash strigi ffmpeg XviD dirac cppunit libtheora libvpx yasm schroedinger orc speex texi2html x264 virtuoso gawk oxygen-icons okular chmlib djvulibre ebook-tools convertlit libtommath libzip libspectre qimageblitz ---> Fetching archive for libiodbc ---> Attempting to fetch libiodbc-3.52.8_0.darwin_11.x86_64.tbz2 from http://packages.macports.org/libiodbc ---> Fetching libiodbc ---> Verifying checksum(s) for libiodbc ---> Extracting libiodbc ---> Configuring libiodbc ---> Building libiodbc Error: Target org.macports.build returned: shell command failed (see log for details) Error: Failed to install libiodbc Log for libiodbc is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_libiodbc/libiodbc/main.log Error: The following dependencies were not installed: kate kdelibs4 soprano libiodbc raptor2 redland rasqal mhash strigi ffmpeg XviD dirac cppunit libtheora libvpx yasm schroedinger orc speex texi2html x264 virtuoso gawk oxygen-icons okular chmlib djvulibre ebook-tools convertlit libtommath libzip libspectre qimageblitz Error: Status 1 encountered during processing.
When i look into the log, it's still the u_short problem.
Can't install libiodbc @3.52.7_0 because macport only knows the 3.52.8 version.
XL.
comment:16 Changed 13 years ago by xl64100@…
A workaround can be to go into libiodbc build directory and replace u_short by short into all files in iodbcinst
comment:17 follow-up: 19 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
u_short is declared in <sys/types.h>, which is included by iodbc.h, which is included by all the other files that use u_short—except for unicode.h.
After fixing that, the build fails with:
make[2]: *** No rule to make target `../iodbcadm/libiodbcadm.la', needed by `iodbcadm-gtk'. Stop. make[2]: *** Waiting for unfinished jobs....
Retrying a few more times without cleaning eventually succeeds, which means this is a parallel build failure; turning off parallel building lets the build succeed from the beginning.
Fixed both issues in r91539. Verified the build now succeeds on Snow Leopard x86_64 and Leopard i386.
comment:18 Changed 13 years ago by cjones051073 (Chris Jones)
Just FTR, works for me, OS X 10.7, Xcode 4.2
thanks !
Chris
comment:19 Changed 13 years ago by nitin0301@…
Hi,
I've tried installing kate for several time in last few days. I am getting the following error:
---> Computing dependencies for kate ---> Dependencies to be installed: kdelibs4 soprano libiodbc raptor2 redland rasqal mhash strigi ffmpeg XviD dirac cppunit lame libogg libsdl libtheora libvorbis libvpx yasm openjpeg jbigkit lcms2 schroedinger orc speex texi2html x264 virtuoso gawk oxygen-icons ---> Building libiodbc Error: Target org.macports.build returned: shell command failed (see log for details) Error: Failed to install libiodbc Log for libiodbc is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_libiodbc/libiodbc/main.log Error: The following dependencies were not installed: kdelibs4 soprano libiodbc raptor2 redland rasqal mhash strigi ffmpeg XviD dirac cppunit lame libogg libsdl libtheora libvorbis libvpx yasm openjpeg jbigkit lcms2 schroedinger orc speex texi2html x264 virtuoso gawk oxygen-icons Error: Status 1 encountered during processing.
This indeed shows that the error is in the installation of "libiodbc". I am sorry but my less than normal understanding of linux system limits my understanding of the solution reported here. Do i need to install/uninstall/clean/edit some specific files? If yes, then how shall i do it? Where can I find this? Or do i need to uninstall something and try doing the installation of kate again?
Thanks.
Nitin
Replying to ryandesign@…:
u_short is declared in <sys/types.h>, which is included by iodbc.h, which is included by all the other files that use u_short—except for unicode.h.
After fixing that, the build fails with:
make[2]: *** No rule to make target `../iodbcadm/libiodbcadm.la', needed by `iodbcadm-gtk'. Stop. make[2]: *** Waiting for unfinished jobs....
Retrying a few more times without cleaning eventually succeeds, which means this is a parallel build failure; turning off parallel building lets the build succeed from the beginning.
Fixed both issues in r91539. Verified the build now succeeds on Snow Leopard x86_64 and Leopard i386.
comment:20 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | nitin0301@… added |
---|
nitin0301, please remember to use WikiFormatting when writing in Trac, and to Cc yourself if you want to receive responses.
This ticket was closed 6 days ago. Please "sudo port clean libiodbc" and try again, and if you still experience difficulties, file a new ticket.
Has duplicate #33840, and also a report emailed to myself and Jeremy privately by Angelo Graziosi.